OSDN Git Service

dfd92267ba882d782fb88ed671c1e65eba4e8bef
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
2
3         PR optimization/10592
4         * caller-save.c (mark_referenced_regs): Don't short-circuit a reg
5         or subreg in SET_DEST if it isn't a hard register.
6
7 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
8
9         * collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
10         -fno-branch-probabilities to arguments when compiling ctors and
11         dtors.
12
13 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
14
15         * config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
16         * config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
17
18 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
19
20         * arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
21         as base registers for sub-word operations.
22         (thumb_legitimate_address_p): Simplify REG+REG test.
23
24 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
25
26         * opts.c (wrap_help): Fix overflow.
27
28 2003-12-17  Fred Fish  <fnf@redhat.com>
29
30         * configure.in: Remove code to examine linker scripts and set
31         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
32         * configure, config.in: Regenerate.
33
34 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
35
36         PR c++/12218
37         * varasm.c (initializer_constant_valid_p): Allow a conversion from
38         an integral constant to an OFFSET_TYPE.
39
40 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
41
42         PR target/11012
43         * config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
44         gen_cmp_ne_small_const_insn.
45         * config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
46
47 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
48             Joseph S. Myers  <jsm@polyomino.org.uk>
49
50         PR c/3347
51         * c-decl.c (enum_decl_context): Remove BITFIELD.
52         (grokdeclarator): Take bit-field width as an input.
53         Perform bit-field width validation with
54         check_bitfield_type_and_width rather than waiting for
55         finish_struct.
56         (groktypename, groktypename_in_parm_context, start_decl,
57         push_parm_decl, grokfield, start_function): Update calls to
58         grokdeclarator.
59         (check_bitfield_type_and_width): New function.
60         (finish_struct): Move bit-field validation to grokdeclarator
61         and check_bitfield_type_and_width.
62
63 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
64
65         PR bootstrap/13386
66         * configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
67         using HP native linker.
68         * configure: Rebuilt.
69
70 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
71
72         PR c++/13275
73         * c-common.h (enum rid): Add RID_OFFSETOF.
74         * c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
75         * ginclude/stddef.h (offsetof): Reimplement for C++, using
76         __offsetof__.
77         * doc/extend.texi: Document __offsetof__.
78         
79 2003-12-16  Stan Cox  <scox@redhat.com>
80
81         * config/iq2000/iq2000.h: Formatting.
82         (MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
83         (ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
84         (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
85         * config/iq2000/iq2000.c: Formatting.
86         (iq2000_rtx_costs): New.
87
88 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
89
90         * arm.md (addsi3_carryin_shift): Add missing register constraints.
91
92 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
93
94         * testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
95         pass with -pthread on FreeBSD systems.
96
97 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
98
99         * config/mips/mips.c (mips_file_end): Only write symbols that have
100         been referenced at some point.
101
102 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
103
104         * config/mips/mips.c: Include langhooks.h
105         (mips_build_builtin_va_list): Use lang_hooks.types.make_type.
106
107 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
108
109         PR optimization/13313
110         * combine.c (make_extraction) [REG]: Do not use
111         gen_lowpart_for_combine when POS is non-zero.
112
113 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
114
115         * altivec.h (vec_cmple, vec_all_numeric): Fix typo.
116         * testsuite/gcc.dg/altivec-10.c: Test for above.
117         
118 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
119
120         * Makefile.in (CPPFLAGS): Initialize from configure.
121
122 2003-12-15  Roger Sayle  <roger@eyesopen.com>
123
124         PR middle-end/13400
125         * ifcvt.c (noce_process_if_block): Disable unconditional write
126         optimizations if we could introduce a store to trapping memory
127         that wasn't present previously.
128
129 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
130
131         * system.h (DEFAULT_CALLER_SAVES): Poison.
132         * toplev.c (flag_caller_saves): Always initialize with 0.
133         * doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
134
135 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
136
137         * flow.c (EXIT_IGNORE_STACK): Move to ...
138         * defaults.h (EXIT_IGNORE_STACK): ... here.
139         * dojump.c (clear_pending_stack_adjust): Don't use #ifdef
140         EXIT_IGNORE_STACK.
141         * function.c (expand_function_end): Likewise.
142         * global.c (global_alloc): Likewise.
143         * ra.c (init_ra): Likewise.
144         * reload1.c (init_elim_table): Likewise.
145         * reorg.c (fill_simple_delay_slots): Likewise.
146         * resource.c (init_resource_info): Likewise.
147         * doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
148         is 0.
149
150 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
151
152         * reload.c (reg_overlap_mentioned_for_reload_p):
153         When looking at a PLUS in X, avoid spuriously returning nonzero
154         when IN is a REG or another simple PLUS, or a MEM containing one.
155
156         * loop.c (loop_invariant_p): Amend comment about where new registers
157         might come from.
158
159 2003-12-15  Andreas Jaeger  <aj@suse.de>
160
161         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
162         handling of obsolete language CHILL.
163
164 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
165
166         * tree.c (initializer_zerop): Add test for empty set.
167         * integrate.c (function_cannot_inline_p): Forbid inlining
168         functions calling `longjmp'.
169
170 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
171
172         PR c++/11773
173         * doc/gcov.texi (Gcov and Optimization): Document inline function
174         behaviour. Fix some file suffixes.
175
176 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
177
178         * config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
179
180 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
181
182         * c-common.h (c_parse_error): Declare it.
183         * c-common.c (c_parse_error): New function.
184         * c-parse.y (yyerror): Use it.
185
186 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
187
188         PR target/13054
189         * pa-protos.h (indexed_memory_operand, borx_reg_operand,
190         move_dest_operand, move_src_operand): New protypes.
191         (basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
192         * pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
193         move_src_operand): New functions.
194         (basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
195         (reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
196         address until cse is not expected on targets with non-equivalent
197         space registers.
198         (hppa_legitimize_address): Canonicalize unscaled indexed addresses
199         on targets non-equivalent space registers.
200         (emit_move_sequence): Break out indexed addresses from destination
201         operand.  Similarly, break out unscaled indexed addresses from
202         source operand on targets with non-equivalent space registers.  Fix
203         REG_POINTER flag when possible.  Mark register pointer when creating
204         new pointers.
205         (print_operand): Handle unscaled index addresses.
206         * pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
207         for EXTRA_CONSTRAINT.
208         (EXTRA_CONSTRAINT): Rework to make more readable.
209         (MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
210         subroutines for GO_IF_LEGITIMATE_ADDRESS.
211         (GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
212         and unscaled addresses.  Canonicalize unscaled indexed addresses on
213         targets with non-equivalent space registers.  Document issues in
214         handling indexed address modes on PA-RISC.
215         (PREDICATE_CODES): Update for new and deleted predicates.
216         * pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
217         Use new predicates in move patterns.
218         Add peephole2 patterns to optimize floating point stores.  Fix
219         constrain preferencing in move patterns.  Delete patterns for handling
220         unscaled indexed memory loads.  Add missing load and store with
221         base-register modification patterns.  Correct SFmode floating point
222         store pattern.  Add missing zero extension loads.
223
224 2003-12-13  Steven Bosscher  <stevenb@suse.de>
225
226         * ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
227         comes in with ggc.h.  Add a new bool field `dead'.
228         (destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
229         set the `dead' flag for the dead zone.  Wrap a sanity check in
230         ENABLE_CHECKING.
231         (ggc_collect_1): Always mark and sweep if a zone has the `dead'
232         flag set.
233         (ggc_collect): Free dead zones after collecting.
234
235 2003-12-13  Jan Hubicka  <jh@suse.cz>
236
237         * coverage.c (get_coverage_counts):  Use inform instead of warning
238         about missing profile.
239
240 2003-12-12  Steven Bosscher  <stevenb@suse.de>
241
242         * Makefile.in (opts.o, explow.o): Depend on langhooks.h
243
244 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
245
246         * config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
247         <powerpc-*-darwin*>: Likewise.
248
249 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
250
251         * config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
252         (MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
253         br_loc[7].  Update comment.
254         (MD_HANDLE_UNWABI): Define.
255         * config/ia64/unwind-ia64.c (struct unw_state_record): Add
256         unwabi field.
257         (struct _Unwind_Context): Increase br_loc array size to 8 entries.
258         (desc_abi): Set unwabi.
259         (uw_update_reg_address): Allow br up to 7.
260         (uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
261         (uw_install_context): Load b1..b5 from correct locations.
262         Fix insn loading ar.fpsr.
263         * doc/tm.texi: Document MD_HANDLE_UNWABI.
264
265 2003-12-12  Roger Sayle  <roger@eyesopen.com>
266
267         PR optimization/13037
268         * loop.c (update_giv_derive): Ignore redundant sets of a biv when
269         calculating how to derive a giv from a biv.
270
271 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
272
273         PR preprocessor/12935 preprocessor/12952 preprocessor/13046
274         * cpplib.c (prepare_directive_trad): Clear skipping only in
275         #if and #elif directives.
276         (do_undef): Call the handler even if the identifier is not a macro.
277         * cpptrad.c (scan_parameters): Emit an error message.
278         (_cpp_create_trad_definition): Remember the params list even on
279         failure.
280
281 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
282
283         * arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
284         to inline functions: arm_arm_address_cost, arm_thumb_address_cost
285         respectively.
286         (arm_address_cost): Use 'em.
287
288 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
289
290         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
291         __STDC_VERSION__ to ISO C94 for C++.
292
293         * fixinc/inclhack.def (alpha_wchar): New fix.
294         * fixinc/fixincl.x: Regenerate.
295         * fixinc/tests/base/wchar.h: New file.
296
297 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
298
299         * unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
300         required by C++ ABI for Itanium.
301         * config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
302         * config/t-libunwind-no-eh: New file.
303         * configure.in: Check libunwind for _Unwind_Resume() and if it's
304         present, set libunwind_has_eh_support to "yes".
305         * configure: Regenerate.
306         * config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
307         set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
308
309 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
310
311         * config/mips/mips.c (mips_global_pointer): Force functions with
312         a nonlocal goto to set up $gp.
313
314 2003-12-11  James E Wilson  <wilson@specifixinc.com>
315
316         PR target/13132
317         * function.c (gen_mem_addressof): When no decl, explicitly clear flag
318         bits.
319
320 2003-12-12  Nick Clifton  <nickc@redhat.com>
321
322         * config/m32r/m32r.c: Convert to ISO-C
323
324 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
325
326         * doc/invoke.texi: Replace Mitsubishi with Renesas.
327         * config/m32r/m32r.h: Ditto.
328         * config/m32r/m32r.c: Ditto.
329         * config/m32r/m32r.md: Ditto.
330
331 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
332
333         * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
334         (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
335         (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
336         (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
337         fields of a basic block.
338         * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
339         cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
340         cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
341         final.c, flow.c, function.c, gcse.c, global.c, graph.c,
342         haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
343         loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
344         ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
345         regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
346         sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
347         config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
348         accessing the `head' and `end' fields of a basic block directly.
349
350         * gengtype.c: Teach about "void**" pointers and "void *" function
351         types.  Fixes earlier commit.
352
353 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
354
355         * doc/extend.texi (Vector Extensions): Document that bitwise
356         operations also work on vectors.
357
358 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
359
360         * arm.md: New split patterns for optimizing bitfield accesses.
361
362 2003-12-10  Steven Bosscher  <stevenb@suse.de>
363
364         * README.Portability: Remove K+R section.
365
366         * gengtype-lex.l: Teach about "void**" pointers and
367         "void*" function types.
368
369 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
370
371         PR target/13354
372         * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
373         manually if one can do that with only one instruction.
374
375 2003-12-10  Nick Clifton  <nickc@redhat.com>
376
377         * config.gcc (arm-linux): Include linux.h in tm_file so that
378         LINUX_TARGET_OS_CPP_BUILTINS is defined.
379         * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
380
381 2003-12-09  James E Wilson  <wilson@specifixinc.com>
382
383         * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
384
385 2003-12-09  Matt Austern  <austern@apple.com>
386
387         PR c/13134
388         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
389
390 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
391
392         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
393         a new command line option -m32r2 to select it.
394         * config/m32r/m32r.c: Add support for the new processor variant.
395         * config/m32r/m32r.md: Likewise.
396         * config/m32r/t-m32r: Add m32r2 multilibs.
397         * doc/invoke.texi: Document the new command line switch.
398
399 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
400
401         * defaults.h (LOCAL_REGNO): Give the default definition.
402         * flow.c (LOCAL_REGNO): Remove.
403         * reload1.c (LOCAL_REGNO): Likewise.
404
405 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
406
407         PR target/11848
408         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
409         in floating-point registers between TFmode and DImode.
410         * rs6000.c (rs6000_emit_move): Split moves early.
411         (secondary_reload_class): Random Whitespace Change.
412         (rs6000_split_multireg_move): Support moves involving FP registers.
413         Emit instructions directly.
414         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
415         * altivec.md: Update for changes to rs6000_split_multireg_move.
416         * rs6000.md: Update for changes to rs6000_split_multireg_move.
417         (movtf_internal): Support moves to/from GPRs.
418
419 2003-12-08  Stuart Hastings  <stuart@apple.com>
420
421         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
422
423 2003-12-08  James E Wilson  <wilson@specifixinc.com>
424
425         PR target/13132
426         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
427         integer modes.
428
429 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
430
431         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
432         directory.
433
434 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
435
436         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
437         by using match_scratch.
438         (negdi2): New.
439
440 2003-12-08  Jason Merrill <jason@redhat.com>
441             Daniel Berlin  <dberlin@dberlin.org>
442
443         PR debug/11114
444         Support namespaces in DWARF 2 output.
445         * dwarf2out.c (gen_namespace_die): New function.
446         (force_namespace_die, setup_namespace_context): New fns.
447         (declare_in_namespace): New fn.
448         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
449         (dwarf2out_decl): Handle namespaces.
450         (scope_die_for): Pass through a namespace scope.
451         (class_scope_p): Rename to class_or_namespace_scope_p.
452         (gen_subprogram_die, gen_variable_die): Adjust.
453         (gen_struct_or_union_die): Always emit a declaration
454         if context_die is a namespace.
455
456 2003-12-08  Jan Hubicka  <jh@suse.cz>
457
458         * unwind-pe.h (read_uleb128): Fix handling of large values
459         (read_sleb128): Fix handling of large values
460
461 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
462
463         PR middle-end/10060
464         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
465         (copy_rtx_if_shared_1): here and optimize the last one
466         in the sequence into tail-recursion.
467         (reset_used_flags): Optimize the last one
468         in the sequence into tail-recursion.
469
470 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
471
472         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
473         for constant X.
474
475 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
476
477         * calls.c (expand_call): Don't try using tail or recursive calls
478         after the function body has been expanded.
479
480 2003-12-08  Jan Hubicka  <jh@suse.cz>
481
482         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
483
484 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
485
486         PR ada/13324, PR ada/12614
487         * doc/install.texi: Update requirements for building Ada.
488
489 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
490             Graham Reed <greed@pobox.com>
491
492         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
493         (GCC_UNDEF_SYMBOL): Same.
494
495 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
496
497         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
498         * system.h (FINAL_PRESCAN_LABEL): Poison.
499         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
500
501 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
502
503         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
504
505 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
506
507         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
508         * configure: Regenerate with autoconf 2.13.
509
510         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
511         with modern equivalents.
512         * configure: Regenerate.
513
514         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
515         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
516         * configure: Regenerate.
517
518         * configure: Regenerate with (preferred) autoconf 2.57.
519         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
520
521 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
522
523         PR optimization/12965
524         * caller-save.c (save_call_clobbered_regs): Do not save/restore
525         registers around no-return calls.
526
527 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
528
529         * configure.in: Make minimum necessary changes for autoconf 2.5x.
530         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
531         * configure: Regenerate with autoconf 2.58.
532
533 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
534
535         PR optimization/13318
536         * loop.c (express_from): Protect integer division from overflow.
537
538 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
539
540         PR optimization/13060
541         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
542         replacement already exists.  Fix again the whole insn if that fails.
543
544 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
545
546         * config/rs6000/rs6000.c (macho_branch_islands): Use
547         HOST_WIDE_INT_PRINT_UNSIGNED.
548
549 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
550
551         * varasm.c (incorporeal_function_p): New.
552         (assemble_external): Use it as a filter.
553         * config/mips/mips.c (mips_output_external): Don't check for builtin
554         functions here.
555
556 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
557
558         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
559
560 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
561
562         * Makefile.in (program_transform_cross_name): Delete.
563         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
564         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
565         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
566         (install_cpp, install_driver, install-man, uninstall): Likewise.
567
568 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
569
570         PR 13169
571         * basic-block.h (PROP_ASM_SCAN): Define.
572         * final.c (regs_asm_clobbered): New array.
573         * regs.h (regs_asm_clobbered): Declare.
574         * flow.c (life_analysis): Init it.
575         (mark_set_regs): Set PROP_ASM_SCAN for asms.
576         (mark_set_1): Set regs_asm_clobbered.
577         * global.c (global_alloc): Don't set eliminable_regset when
578         regs_asm_clobbered.
579
580 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
581
582         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
583
584         PR c++/13314
585         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
586
587 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
588
589         PR driver/13211
590         * gcc.c (execute) Increment execution_count when returning
591         early because verbose_only_flag is true.
592
593 2003-12-05  Per Bothner  <pbothner@apple.com>
594
595         * cppfiles.c (file_hash_hash):  New static function.
596         (hash_string_eq):  Renamed static function to file_hash_eq.
597         (_cpp_init_files):  Create file_hash table with above callbacks.
598         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
599         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
600
601 2003-12-05  Per Bothner  <pbothner@apple.com>
602
603         * line-map.h (source_location):  New typedef.
604         (fileline):  Redefined as source_location.
605         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
606         by source_location.
607         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
608
609 2003-12-05  Richard Henderson  <rth@redhat.com>
610
611         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
612         field to suppress -Wpadded warnings.
613
614 2003-12-05  Stuart Hastings  <stuart@apple.com>
615
616         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
617
618 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
619             J"orn Rennecke <joern.rennecke@superh.com>
620
621         PR target/13302
622         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
623
624 2003-12-05  Roger Sayle  <roger@eyesopen.com>
625
626         * dojump.c (do_jump): If the expression being compared against
627         zero, is the subreg of a promoted variable, perform the comparison
628         in the promoted mode.
629         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
630         zero-extensions of subregs of promoted variables where the
631         extension is identical to that used to promote the variable.
632
633 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
634
635         PR target/13256
636         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
637         The only user changed as follows:
638         * resource.c (mark_set_resources) <case SET>: Always recurse for
639         SET_SRC (x).
640         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
641         operands.
642         <case STRICT_LOW_PART>: Delete, deferring to default code.
643
644 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
645
646         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
647         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
648
649 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
650
651         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
652         for n32 & n64 abicalls.
653
654 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
655
656         PR bootstrap/13145
657         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
658         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
659         (mips_load_got): Always create a constant MEM.
660         (mips_expand_call): Use load_callsi and load_calldi.
661         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
662         (load_callsi, load_calldi): New patterns.
663
664 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
665
666         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
667
668 2003-12-05  Steven Bosscher  <stevenb@suse.de>
669
670         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
671         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
672         config/fr30/fr30-protos.h, config/fr30/fr30.c,
673         config/i370/i370-protos.h, config/i370/i370.c,
674         config/i960/i960-protos.h, config/i960/i960.c,
675         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
676         config/m32r/m32r-protos.h, config/m32r/m32r.c,
677         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
678         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
679         Convert to ISO C90 function declarations and definitions.
680
681 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
682
683         * doc/extend.texi (Constructing Calls): Add warning about
684         the limitations of the functions.
685
686 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
687
688         PR middle-end/11151
689         * function.h (struct function): New field 'x_naked_return_label'.
690         * function.c (free_after_compilation): Set it to NULL.
691         (expand_function_end): Emit 'naked_return_label' if it exists.
692         * rtl.h (expand_naked_return): Declare.
693         * stmt.c (expand_naked_return): New function to generate a
694         jump to 'naked_return_label'.
695         * builtins.c (expand_builtin_return): Call expand_naked_return
696         instead of expand_null_return.
697         * config/sparc/sparc.md (untyped_return): Likewise.
698
699 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
700
701         PR target/11322
702         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
703
704         PR target/12467
705         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
706
707 2003-12-04  Stuart Hastings  <stuart@apple.com>
708
709         * rs6000.c (output_call, macho_branch_islands,
710         add_compiler_branch_island, no_previous_def, get_previous_label)
711         Revisions of xx_stub functions for branch islands,
712         add -fPIC support for Darwin.
713         * rs6000-protos.h (output_call) Prototype.
714         * rs6000.md Use output_call.
715         * invoke.texi Explain Darwin semantics of -longcall.
716         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
717
718 2003-12-04  Richard Henderson  <rth@redhat.com>
719
720         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
721         (subqi3_carry): Likewise.
722
723 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
724
725         PR optimization/13260
726         * sh-protos.h (sh_expand_t_scc): Declare.
727         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
728         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
729         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
730         something that is not a CONST_INT, copy it into a pseudo register.
731         (subc): Fix description of new T value.
732         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
733         (sltu, sleu, sgeu): Likewise.
734         (seq, sne): Likewise. Use sh_expand_t_scc.
735
736 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
737
738         * configure.in: Generalize the CONFIG_HEADERS pattern under which
739         we stamp cstamp-h.
740         * configure: Regenerate.
741
742         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
743         to avoid trouble when updating to autoconf 2.5x.
744         * configure: Regenerate (with autoconf 2.13 still).
745
746 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
747
748         * sh.md (truncdiqi2): Use andi opcode for immediate.
749         (reload_outdf+1,reload_outdf+2): Remove constraints.
750         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
751         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
752         (fipr, ftrv): Add .s suffix to opcode.
753
754 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
755
756         PR target/13186
757
758         Revert all of the following patch, except the addition of
759         hook_bool_machine_mode_true:
760
761         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
762
763         * Makefile.in (targhooks.o, reload.o): Update dependencies.
764         (GTFILES): Add targhooks.c.
765         (gt-targhooks.h): New rule; depend on s-gtype.
766         * target.h (direct_pool_load_p): New hook.
767         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
768         (TARGET_INITIALIZER): Include it.
769         * targhooks.h (default_direct_pool_load_p): Declare.
770         (hook_bool_machine_mode_true): Declare.
771         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
772         gt-targhooks.h.
773         (pool_symbol): New variable.
774         (default_direct_pool_load_p): New function.
775         (hook_bool_machine_mode_true): New function.
776         * reload.c: Include target.h.
777         (find_reloads): If an alternative will force a constant into memory,
778         count an extra reload if constant pool symbols are not valid
779         addresses.  If an alternative uses memory to move values between
780         registers, count the move as two reloads rather than one.
781         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
782         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
783
784 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
785
786         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
787         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
788         HAVE_AS_TLS is true.
789         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
790
791 2003-12-03  James E Wilson  <wilson@specifixinc.com>
792
793         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
794
795         * gcc-page.c (extra_order_size_tab): Correct comment.
796
797 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
798
799         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
800         instead of gen_push_h8300hs.
801         (pop): Call gen_pop_h8300hs_advanced instead of
802         gen_pop_h8300hs.
803         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
804         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
805         Tighten the predicate.
806         (*tablejump_h8300hs_normal): Tighten the predicate.
807         (push_h8300hs): Change to
808         push_h8300hs_advanced.
809         (pop_h8300hs): Change to pop_h8300hs_advanced.
810
811 2003-12-03  Eric Christopher  <echristo@redhat.com>
812
813         * rtl.c: Fix typo.
814         * config/mips/mips.h: Ditto. Fix formatting.
815
816 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
817
818         * future.options: Remove. Move to gnu.org web pages.
819
820 2003-12-03  Eric Christopher  <echristo@redhat.com>
821
822         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
823         from here...
824         * c-tree.h: to here.
825
826 2003-12-03  Jan Hubicka  <jh@suse.cz>
827
828         PR optimization/12324
829         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
830         in unit-at-a-time mode.
831
832 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
833
834         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
835         read-only field if cleared is 0.
836
837 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
838
839         * config.gcc: Mark obsolete targets for GCC 3.4.
840
841 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
842
843         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
844         * config.in, configure.in: Regenerate.
845         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
846         including iconv.h.
847
848 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
849
850         PR target/11229
851         * cse.c (cse_insn): Set classp using src_const_elt if
852         src_eqv_elt is NULL.
853
854 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
855
856         * gcse.c (reg_clear_last_set): New function.
857         (reg_set_info): If data is non-null, treat it as an sbitmap of
858         registers, set the bit for the register being set.
859         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
860         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
861         to note_stores while computing last_set_in instead of scanning
862         last_set_in after the first pass through the insns.
863         Clear last_set_in using reg_clear_last_set instead of explicitly
864         rescanning after each insn.  If checking is enabled, assert that
865         last_set_in is completely zeroed after each bb has been processed.
866
867 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
868
869         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
870         never read-write.
871         <REG>: Delete incorrect comment.
872         <SET>: Remove 'use_flags' variable.
873
874 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
875
876         * function.c (assign_parms): Make sure parm PARALLEL combined
877         in reg is composed of more than one object and the mode really
878         produces a reg.
879
880 2003-12-03  Jan Hubicka  <jh@suse.cz>
881
882         * i386.c (classify_argument): Make it 64bit clean.
883
884 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
885
886         * config/mips/mips.c (mips_output_external): Replace checks for
887         specific builtin-in functions with a check for DECL_BUILTIN_IN.
888
889 2003-12-02  Richard Henderson  <rth@redhat.com>
890
891         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
892         * tree.h (TREE_SET_CODE): Likewise.
893         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
894
895 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
896
897         * dbxstclass.h: Rename from this ..
898         * xcoff.h: .. to this.
899         * xcoffout.c: Include xcoff.h.
900
901 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
902
903         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
904
905 2003-12-01  James Lemke <jim@wasabisystems.com>
906
907         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
908
909 2003-12-01  Roger Sayle  <roger@eyesopen.com>
910
911         PR optimization/11634
912         * recog.c (split_insn): Factor test of INSN_P and handling of
913         set_noop_p out of here into the two callers.
914         (split_all_insns): Add INSN_P test and set_noop_p handling here.
915         If deleting a no-op set after reload that has a REG_UNUSED note,
916         mark the basic block as changed and recalculate life information.
917         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
918         here.
919
920 2003-12-01  Roger Sayle  <roger@eyesopen.com>
921
922         PR optimization/12322
923         * gcse.c (struct ls_expr): Change type of hash_index from int to
924         unsigned int.
925         (hash_expr): Document hash_table_size parameter and wrap long line.
926         (ldst_entry): Calculate expression's hash_index and record in ptr.
927         (trim_ld_motion_mems): Use hash_index to search a single bucket
928         instead of scanning the entire hash_table.  Remove the "del" local
929         variable and use the equivalent "expr == 0" instead.  Change last
930         to be a pointer to the pointer to the current element, to simplify
931         and speed-up deleting from a linked list.
932
933 2003-12-01  James E Wilson  <wilson@specifixinc.com>
934
935         * doc/contrib.texi: Update David Mosberger.
936
937         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
938         of missing fields.
939
940         PR target/8407
941         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
942         gen_rtx_REG to create new reg with argument mode.
943
944 2003-12-01  Steven Bosscher  <stevenb@suse.de>
945
946         * ggc.h (struct alloc_zone): Move forward declaration up.
947         (new_ggc_zone): New function prototype.
948         (destroy_ggc_zone): Ditto.
949         * ggc-simple.c (new_ggc_zone): New function, does nothing.
950         (destroy_ggc_zone): Ditto.
951         * ggc-page.c (new_ggc_zone): New function, does nothing.
952         (destroy_ggc_zone): Ditto.
953         * ggc-zone.c (struct page_entry): Fix comment.
954         (ggc_alloc_typed): Use a switch statement instead of ifs.
955         (new_ggc_zone): New function to set up a new GC zone.
956         (destroy_ggc_zone): New function to remove a GC zone.
957         init_ggc): Use new_ggc_zone to set up the default zones.
958         (ggc_collect): Walk a list of zones, instead of just the
959         default zones.  Report statistics using the zone name.
960
961 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
962
963         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
964
965 2003-12-01  Roger Sayle  <roger@eyesopen.com>
966
967         PR optimization/12628
968         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
969         * regclass.c (reg_scan): Include allocate_reg_info time in
970         TV_REG_SCAN.  Minor clean-ups.
971         (reg_scan_update): Minor clean-ups.
972
973 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
974
975         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
976
977 2003-12-01  James E Wilson  <wilson@specifixinc.com>
978
979         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
980         GR_ARG_FIRST.
981
982 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
983
984         * common.opt: Remove -fgnu-linker.
985         * flags.h: Remove flag_gnu_linker.
986         * opts.c: Don't handle OPT_fgnu_linker.
987         * toplev.c: Don't initialize flag_gnu_linker.
988         Remove gnu-linker entry from f_options.
989         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
990         Don't reset flag_gnu_linker.
991         * config/mips/mips.c (override_options): Likewise.
992         * doc/invoke.texi: Remove all mention of -fgnu-linker.
993
994 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
995
996         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
997         ggc_get_size (which accounts for large objects properly).
998
999 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
1000
1001         PR optimization/13024
1002         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
1003         parameter.
1004         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
1005         declaration.  Rebuild jump labels following local_alloc if necessary.
1006         (rest_of_compilation): Remove rebuild_label_notes_after_reload
1007         declaration.  Don't pass rebuild_notes parameter to
1008         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
1009         Don't rebuild jump labels.
1010
1011 2003-12-01  Jeff Law  <law@redhat.com>
1012
1013         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
1014         count_or_remove_death_notes.
1015         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
1016
1017 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
1018
1019         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
1020
1021 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
1022
1023         * reload.c (find_reloads_address): Split addresses of type
1024         (plus (plus (reg) (reg)) (const_int)) only if one register
1025         is either a valid base register or else one of the stack
1026         frame related registers (sp/fp/ap).
1027
1028 2003-12-01  Steven Bosscher  <stevenb@suse.de>
1029
1030         * function.c (update_epilogue_consts): Don't use PARAMS.
1031         * rtl.h (web_main): Ditto.
1032         * target.h (is_costly_dependence): Ditto
1033
1034 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1035
1036         PR middle-end/7847
1037         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
1038         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
1039         unaligned objects, take also into account the alignment of 'op0' and
1040         'mode1' if 'op0' is a MEM.
1041
1042 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
1043
1044         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
1045
1046 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
1047
1048         * doc/install.texi: Note that fastjar is built with automake 1.7.x
1049         and autoconf 2.57.
1050
1051 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
1052
1053         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
1054         target_flags directly rather than using TARGET_* defines.
1055
1056 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
1057
1058         * doschk.c: Remove.
1059
1060 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
1061
1062         PR target/12727
1063         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
1064         on 32-bit big-endian targets.
1065
1066 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
1067
1068         * genemit.c (register_constraints): Remove.
1069
1070 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
1071
1072         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
1073         "iordi3"): Insns now use multiple letter constraints.
1074         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
1075         covered by "*movdi_64".
1076         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
1077         covered by "*movsi_zarch" and "*movsi_esa".
1078         ("*movsi_zarch", "*movsi_!zarch"): New insns.
1079         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
1080         by "*andsi3_zarch" and "anddi3".
1081         ("*anddi3_ni"): Insn merged with "anddi3".
1082         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
1083         ("*andsi3_zarch", "*andsi3_esa"): New insns.
1084         ("*iordi3_oi"): Insn merged with "iordi3".
1085         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
1086         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
1087
1088         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
1089         merged to s390_single_part.
1090         (s390_single_part): New function.
1091         NOTE: Semantics have changed a bit. Now the value of the part must
1092         be different from the others to get a non-negative return value.
1093         (s390_extract_qi, s390_extract_hi): Functions merged to
1094         s390_extract_part.
1095         (s390_extract_part, s390_extra_constraint_str,
1096         s390_const_ok_for_constraint_p): New functions. The L constraint got a
1097         new meaning and the N constraint was added as a multiple letter
1098         constraint.
1099         (s390_extra_constraint): Function deleted.
1100         (print_operand): New output modifier 'i' and 'j' added.
1101         All uses of CONST_OK_FOR_LETTER_P were replaced by
1102         CONST_OK_FOR_CONSTRAINT_P.
1103
1104         * config/s390/s390-protos.h: Function prototypes adapted.
1105         * doc/md.texi: Documentation for new constraint letters added.
1106
1107 2003-11-30  Andreas Schwab  <schwab@suse.de>
1108
1109         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
1110
1111 2003-11-29  James E Wilson  <wilson@specifixinc.com>
1112
1113         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
1114         instead of in shared_name.
1115
1116         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
1117         * reload1.c (reload): Re-add it here.
1118
1119 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
1120
1121         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
1122         set SECTION_WRITE on TARGET_RELOCATABLE.
1123
1124 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1125
1126         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
1127
1128 2003-11-28  Gunther Nikl  <gni@gecko.de>
1129
1130         * config/m68k/m68k.c (MOTOROLA): Move from here...
1131         * config/m68k/m68k.h (MOTOROLA): ... to here.
1132         (OUTPUT_JUMP): Use do {...} while (0).
1133         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
1134
1135 2003-11-28  Gunther Nikl  <gni@gecko.de>
1136
1137         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
1138         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
1139         MOTOROLA and USE_GAS.
1140         * config/m68k/rtemself.h (MOTOROLA): Delete.
1141         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
1142         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
1143
1144 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
1145
1146         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
1147
1148 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
1149
1150         * Makefile.in (install-info): Install gccinstall.info too.
1151
1152 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1153
1154         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
1155
1156 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
1157
1158         * config/s390/s390.md ("movhi"): Do not emit extender pattern
1159         when loading from a (MEM (ADDRESSOF ...)).
1160         ("movqi"): Likewise.
1161
1162 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
1163
1164         PR c/10333
1165         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
1166         bit-fields.
1167
1168 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
1169
1170         * stmt.c (expand_asm_operands): Check whether force_const_mem
1171         succeeded.
1172
1173 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1174
1175         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
1176         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
1177
1178         * config/alpha/gnu.h, config/alpha/linux.h,
1179         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
1180         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
1181         config/i386/linux-aout.h, config/i386/linux.h,
1182         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
1183         config/m68k/uclinux.h, config/mips/linux.h,
1184         config/mn10300/linux.h, config/pa/pa-linux.h,
1185         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
1186         config/sparc/linux.h, config/sparc/linux64.h,
1187         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
1188         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
1189         all necessary assertions are included.
1190
1191 2003-11-28  Jan Hubicka  <jh@suse.cz>
1192
1193         * emit-rtl.c (set_used_flags): New.
1194         (verify_rtx_sharing, verify_rtl_sharing): New.
1195         (unshare_all_rtl_1): Rename to....
1196         (unshare_all_rtl_in_chain): ... this one; make static.
1197         (copy_rtx_if_shared): LABEL_REF chan be shared.
1198         * ifcvt.c (unshare_ifcvt_sequence): New.
1199         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
1200         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
1201         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
1202         noce_try_abs, noce_process_if_block, find_cond_trap
1203         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
1204         Declare.
1205
1206 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1207
1208         * config/h8300/h8300.md: Fix a comment typo.
1209
1210 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1211
1212         * config/h8300/h8300.md (*movsf_h8300h): Change to
1213         *movsf_h8300hs.
1214         (addsi_h8300): Change to *addsi_h8300.
1215         (addsi_h8300h): Change to *addsi_h8300hs.
1216         (subsi3_h8300): Change to *subsi3_h8300.
1217         (subsi3_h8300h): Change to *subsi3_h8300hs.
1218         (neghi2_h8300h): Change to *neghi2_h8300hs.
1219         (negsi2_h8300h): Change to *negsi2_h8300hs.
1220
1221 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
1222
1223         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
1224         constraint.
1225         (*subhi3_h8300hs): Likewise.
1226
1227 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
1228
1229         * config/rs6000/rs6000.h (MASK_MFCRF): New.
1230         (TARGET_MFCRF): Test target_flags, not processor type.
1231         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
1232         Change Don't to Do not.
1233         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
1234         to power4, 970, G5.
1235
1236 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
1237
1238         * cse.c (cse_set_around_loop): When changing a constant load
1239         to a register -register copy, add a REG_EQUAL note.
1240
1241 2003-11-27  Randolph Chung  <tausq@debian.org>
1242             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1243
1244         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
1245         insns.  Use the regular call expander for the call to the profiler.
1246         * pa.md (call_profiler): Delete.
1247         (load_offset_label_address): New insn to load the address of the
1248         current function for the profiler.
1249         (lcla1, lcla2): New insns to output a code label and load its address.
1250
1251 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1252
1253         * final.c (final_scan_insn): Remove commented-out code.
1254
1255 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
1256
1257         * doc/install.texi: Remove ADAC reference and make accurate.
1258
1259 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1260
1261         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
1262         (FUNCTION_VALUE_REGNO_P): Likewise.
1263         * config/h8300/h8300.md: Define R0_REG.
1264
1265 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1266
1267         * config/h8300/h8300.c: Fix formatting.
1268         * config/h8300/h8300.md: Likewise.
1269
1270 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1271
1272         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
1273
1274 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1275
1276         * config/h8300/h8300.md: Give names to anonymous insns.
1277
1278 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
1279
1280         * config/h8300/h8300.md (extendqisi2): Remove constraints.
1281
1282 2003-11-27  Gunther Nikl  <gni@gecko.de>
1283
1284         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
1285
1286 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1287
1288         PR optimization/13041
1289         * final.c (frame_pointer_needed): Fix comment.
1290         * reload1.c (reload): Decrease alignment of the frame
1291         pointer if it was used for register allocation.
1292
1293 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1294
1295         PR target/12900
1296         * reg-stack (move_for_stack_reg): New prototype.  Return
1297         whether a control flow insn was deleted.
1298         (subst_stack_regs_pat): Likewise, using the information provided
1299         by move_for_stack_reg.
1300         (subst_stack_regs): Likewise, using the information provided
1301         by subst_stack_regs_pat.
1302         (convert_regs_1): Record whether a control flow insn was deleted,
1303         using the information provided by subst_stack_regs.  Purge dead
1304         edges only if a control flow insn was deleted.
1305
1306 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
1307
1308         PR middle-end/8028
1309         PR middle-end/9890
1310         PR middle-end/11151
1311         PR middle-end/12210
1312         PR middle-end/12503
1313         PR middle-end/12692
1314         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1315         as the base address to copy the memory arguments to.
1316
1317 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
1318
1319         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1320         function aliases as functions.
1321
1322 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1323
1324         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1325         of ADAC.
1326         * configure: Regenerate.
1327
1328         * Makefile.in: Remove references to ADAC.
1329
1330         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1331         * configure: Regenerate.
1332
1333 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
1334             Olivier Hainque  <hainque@act-europe.fr>
1335
1336         PR target/6466
1337         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1338         (sparc_flat_compute_frame_size): Likewise.
1339         (sparc_flat_save_restore): Move prototype...
1340         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1341         (save_regs): New prototype.
1342         (build_big_number): Likewise.
1343         (apparent_fsize): Change type to HOST_WIDE_INT.
1344         (actual_fsize): Likewise.
1345         (frame_base_offset): Likewise.
1346         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1347         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1348         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1349         to load a 64-bit constant.
1350         (sparc_nonflat_function_prologue): Change string descriptor to
1351         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
1352         (output_restore_regs): Change offset type to HOST_WIDE_INT.
1353         (sparc_nonflat_function_epilogue): Change string descriptor to
1354         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
1355         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
1356         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1357         (sparc_frame_info): Change types for several components.
1358         (sparc_flat_compute_frame_size): Update types according to previous
1359         change.
1360         (sparc_flat_function_prologue): Change string descriptor to
1361         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
1362         build_big_number.
1363         (sparc_flat_function_epilogue): Change offset type to int.
1364         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
1365         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
1366         limit to 4096 instead of 4095.
1367
1368         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1369         HOST_WIDE_INT.
1370
1371 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1372
1373         * function.c: Make outer_function-chain external.
1374         * function.h: Likewise.
1375
1376 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
1377
1378         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1379         using GNU ld.
1380         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1381         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1382         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1383         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1384         (SUBTARGET_EXTRA_SPECS): Define.
1385         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1386         to __gcc_init and -fini function to __gcc_fini.
1387         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1388         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1389         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1390         * config/mips/t-iris6gld,
1391         * config/mips/irix6-crti.asm,
1392         * config/mips/irix6-crtn.asm: New files.
1393
1394 2003-11-24  Eric Christopher  <echristo@redhat.com>
1395
1396         PR C/13014
1397         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1398         (start_function): Use.
1399         (c_push_function_context): Ditto.
1400         (c-pop_function_context): Ditto.
1401         (language_function): Move...
1402         * c-tree.h: ... here. Add x_in_iteration_stmt, and
1403         x_in_case_stmt.
1404         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1405         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1406         check for valid break or continue statment here...
1407         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1408         here. Change original errors to abort.
1409
1410 2003-11-24  Jan Hubicka  <jh@suse.cz>
1411
1412         * fold-const.c (fold):  Do not return early when optimizing
1413         COMPONENT_REF and constant.
1414
1415 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1416
1417         * config/h8300/h8300.md (tablejump_h8300): Change to
1418         *tablejump_h8300.
1419         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1420         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1421         (indirect_jump_h8300): Change to *indirect_jump_h8300.
1422         (indirect_jump_h8300h): Change to
1423         *indirect_jump_h8300hs_advanced.
1424         (indirect_jump_normal_mode): Change to
1425         *indirect_jump_h8300hs_normal.
1426
1427 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1428
1429         * config/h8300/h8300.md: Remove constraints from expanders.
1430
1431 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1432
1433         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1434         stm_h8300s_2_advanced.
1435         (stm_h8300s_2_normal): New.
1436         (stm_h8300s_2): Likewise.
1437         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1438         (stm_h8300s_3_normal): New.
1439         (stm_h8300s_3): Likewise.
1440         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1441         (stm_h8300s_4_normal): New.
1442         (stm_h8300s_4): Likewise.
1443         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1444         (ldm_h8300s_2_normal): New.
1445         (ldm_h8300s_2): Likewise.
1446         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1447         (ldm_h8300s_3_normal): New.
1448         (ldm_h8300s_3): Likewise.
1449         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1450         (ldm_h8300s_4_normal): New.
1451         (ldm_h8300s_4): Likewise.
1452         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1453         (two peephole2's): New.
1454
1455 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1456
1457         * genattrtab.c (simplify_cond): Update indices correctly.
1458         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1459         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1460         (check_attr_test, encode_units_mask, compute_alternative_mask,
1461         make_alternative_compare, simplify_and_tree,
1462         attr_rtx_cost, simplify_test_exp, gen_attr,
1463         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1464         * rtl.def (EQ_ATTR_ALT): New.
1465
1466 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1467
1468         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1469         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1470         New variables.
1471         (main): Initialize them.
1472         (find_attr): Canonicalize the attribute name string.
1473         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1474         string arguments.
1475         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1476         (check_attr_test, check_attr_value, make_length_attrs,
1477         write_length_unit_log, simplify_by_exploding, gen_attr,
1478         write_test_expr, write_attr_value, write_eligible_delay,
1479         write_complex_function, make_internal_attr,
1480         write_const_num_delay_slots): Changed due to change of type of
1481         find_attr.
1482         (fill_attr, evaluate_eq_attr, simplify_and_tree,
1483         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1484         strcmp_check.
1485
1486 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1487
1488         PR target/13122
1489         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1490         normal mode.
1491         (pop): Call pop_h8300hs_normal in normal mode.
1492         * config/h8300/h8300.md: Likewise.
1493         (pushqi1_h8300hs_normal): New.
1494         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1495         (pushhi1_h8300hs_normal): New.
1496         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1497         (push_h8300hs_normal): New.
1498         (pop_h8300hs_normal): Likewise.
1499
1500 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1501
1502         * genattrtab.c (count_sub_rtxs): Removed.
1503
1504 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
1505
1506         * recog.c (preprocess_constraints): Only zero those elements of
1507         recog_op_alt that are needed for this insn.
1508         * arm.c (note_invalid_constants): A function can't contain invalid
1509         constants if it has no constraints.
1510
1511 2003-11-22  Jan Hubicka  <jh@suse.cz>
1512
1513         * i386.c (classify_argument): Pass __float128 in memory.
1514         (ix86_return_in_memory): Likewise.
1515         (ix86_libcall_value): Likewsie.
1516
1517 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1518
1519         * config/h8300/h8300.c (dosize): Convert to ISO-C.
1520
1521 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
1522
1523         * flow.c (update_life_info): Amend comment about when a register
1524         can become dead.
1525
1526 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
1527
1528         * doc/.cvsignore: Delete.
1529
1530 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
1531             David Edelsohn  <edelsohn@gnu.org>
1532
1533         * dwarf2out.c (add_location_or_const_value_attribute): Add support
1534         for PARALLEL.
1535
1536 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1537
1538         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1539         (TARGET_LIBGCC2_CFLAGS): Define.
1540
1541         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1542         (__do_global_ctors): Likewise.
1543
1544 2003-11-21  Mark Wielaard  <mark@klomp.org>
1545
1546         * doc/invoke.texi (-O2): Doesn't enable -fweb.
1547
1548 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1549
1550         * doc/invoke.texi: Mention dV and dZ.
1551
1552 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1553
1554         * doc/invoke.texi: Update dump file names.
1555         Remove de, dW, and dX.
1556
1557 2003-11-20  James E Wilson  <wilson@specifixinc.com>
1558
1559         PR c/13133
1560         * reload1.c (reload): Delete special handling for setjmp.
1561
1562 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
1563
1564         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1565         step too.
1566         * config/t-slibgcc-darwin: Adjust install path.
1567         * config/rs6000/t-darwin: Revert multilib matches since
1568         it is not used on darwin.
1569
1570 2003-11-20  Richard Henderson  <rth@redhat.com>
1571
1572         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1573         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1574         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1575         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1576         * flow.c: Don't include ssa.h.
1577         (set_phi_alternative_reg): Remove.
1578         (calculate_global_regs_live): Don't call it.
1579         (mark_used_regs): Don't handle PHI.
1580         * gengtype.c (open_base_files): Don't reference ssa.h.
1581         * rtl.def (PHI): Remove.
1582         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1583         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1584         * opts.c (common_handle_option): Likewise.
1585         * toplev.c (f_options): Likewise.
1586         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1587         (dump_file): Update to match.
1588         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1589         (rest_of_handle_ssa): Remove.
1590         (rest_of_compilation): Don't call it.
1591         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1592         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1593         * doc/passes.texi (SSA optimizations): Remove.
1594
1595 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
1596
1597         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1598         * configure: Regenerate.
1599
1600 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
1601
1602         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1603
1604 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
1605
1606         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1607         (SHLIB_LC): Define.
1608         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1609         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1610
1611 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
1612             David Edelsohn  <edelsohn@gnu.org>
1613
1614         * calls.c (expand_call): Allocate new temp in pass1.
1615         (store_one_arg): If PARALLEL, calculate excess using mode size of
1616         rtvec elt.
1617         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1618         mode size of rtvec elt.
1619         * function.c (assign_parms): Use parm in register, if available.
1620
1621 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
1622
1623         * config/h8300/lib1funcs.asm (MOVP): Remove.
1624         (ADDP): Likewise.
1625         (CMPP): Likewise.
1626
1627 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
1628
1629         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
1630         with a single instruction if the stack has been decremented by 4
1631         and we have a frame pointer.  Update all callers.
1632         (output_return_instruction): Likewise.
1633         (arm_output_epilogue): Change argument to SIBLING.  Calculate
1634         really_return from the new argument.  Update all callers.
1635         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1636         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1637         pass the sibling call.
1638         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1639         prototypes.
1640
1641 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1642
1643         * Makefile.in (extraclean): Delete.
1644         * configure.in (target_list): Remove extraclean.
1645         * configure: Regenerate.
1646         * doc/makefile.texi, doc/sourcebuild.texi: Update.
1647         * objc/Make-lang.in (objc.extraclean): Delete.
1648
1649 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1650
1651         * Makefile.in (lang_checks): Add.
1652         (check-c++, check-f77, check-java, check-g++, check-g77,
1653         check-objc): Remove hardcoded targets.
1654         * doc/sourcebuild.texi: Document testsuite hooks.
1655         * objc/Make-lang.in (check-objc, lang_checks): Add.
1656
1657 2003-11-19  Scott Snyder  <snyder@fnal.gov>
1658
1659         PR target/13131
1660         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1661         flag, not a constant.
1662
1663 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
1664
1665         * config/arc/arc-protos.h: Update to C90 prototypes.
1666         * config/arc/arc.c: Likewise.
1667         * config/arc/initfini.c: Likewise.
1668
1669 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1670
1671         * stmt.c (expand_goto): Memory clobbers added.
1672
1673 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1674
1675         * reload.c (find_reloads): Added missing type casts.
1676
1677 2003-11-19  James E Wilson  <wilson@specifixinc.com>
1678
1679         * combine.c (sets_function_arg_p): Delete unused function.
1680
1681 2003-11-19  Eric Christopher  <echristo@redhat.com>
1682
1683         * reload1.c (reload): Revert 2 previous checkins.
1684
1685 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1686
1687         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1688         whether directive begins at the beginning of a line.
1689
1690 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
1691
1692         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1693
1694 2003-11-19  Gerald Pfeifer  <gp@suse.de>
1695
1696         * doc/install.texi (Specific): Remove information on old versions
1697         of glibc versus old versions of GCC.
1698
1699 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
1700
1701         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1702         the register lowpart is a TRULY_NOOP_TRUNCATION.
1703
1704 2003-11-19  Richard Henderson  <rth@redhat.com>
1705
1706         * config/i386/i386.c (print_reg): Handle QI and HI modes for
1707         non Q regs.
1708
1709 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1710
1711         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1712         specification file.
1713         * config/t-slibgcc-darwin: New file, libgcc build specification.
1714         * config/t-darwin: Add libgcc2 flag -fPIC.
1715         * config/rs6000/t-darwin: Multilib matches float.
1716         * libgcc-darwin.ver: New file, contains libgcc symbols.
1717
1718 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
1719
1720         * config/ns32k/ns32k.h: Remove obsolete comment.
1721
1722 2003-11-18  Roger Sayle  <roger@eyesopen.com>
1723
1724         PR middle-end/11821
1725         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1726         size for calls to libgcc's div & mod subroutines when using -Os.
1727
1728 2003-11-18  Jan Hubicka  <jh@suse.cz>
1729
1730         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1731
1732 2003-11-18  Marc Espie  <espie@openbsd.org>
1733
1734         * config/rs6000/sysv4.h: OpenBSD hooks.
1735
1736 2003-11-18  Richard Henderson  <rth@redhat.com>
1737
1738         * expr.c (expand_expr): Don't look through constant arrays if
1739         they don't bind locally.
1740
1741 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1742
1743         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1744         when seeing if truncation or extension.
1745
1746 2003-11-17  Eric Christopher  <echristo@redhat.com>
1747
1748         * reload1.c (reload): Fix previous change.
1749
1750 2003-11-17  Scott Snyder  <snyder@fnal.gov>
1751
1752         PR debug/11325
1753         * dwarf2out.c (struct die_struct): Add die_definition field.
1754         (add_AT_specification): New.
1755         (gen_subprogram_die, gen_variable_die,
1756         gen_struct_or_union_type_die): Use it.
1757         (prune_unused_types_mark): If we're marking a forward declaration,
1758         also mark the full definition, if it exists.
1759
1760 2003-11-16  Nick Clifton  <nickc@redhat.com>
1761
1762         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1763         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1764         Remove prototype.
1765         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1766         to xstormy16_build_builtin_va_list and make static.
1767         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1768
1769 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1770
1771         * config/h8300/h8300-protos.h: Add the prototype for
1772         same_cmp_following_p.
1773         * config/h8300/h8300.c (same_cmp_following_p): New.
1774         * config/h8300/h8300.md (peephole2): Use it.
1775
1776 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1777
1778         * config/h8300/h8300.md: Don't use REGNO when its operand is
1779         not guaranteed to be a REG.
1780
1781 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
1782
1783         * Makefile.in (expr.o): Depend on $(TARGET_H).
1784         * target.h (return_in_msb): New target hook.
1785         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1786         (TARGET_CALLS): Include it.
1787         * calls.c (shift_returned_value): New function.
1788         (expand_call): Use it.
1789         * expr.c: Include target.h.
1790         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1791         deciding what padding is needed.  Change the name of the local
1792         padding variable from big_endian_correction to padding_correction.
1793         * stmt.c (shift_return_value): New function.
1794         (expand_return): Use it.  Adjust memory->register copy in the same
1795         way as copy_blkmode_from_reg.  Only change the return register's
1796         mode if it was originally BLKmode.
1797         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1798         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1799         (mips_fpr_return_fields): New, split out from mips_function_value.
1800         (mips_return_in_msb, mips_return_fpr_pair): New functions.
1801         (mips_function_value): Rework to use the functions above.
1802         * config/mips/irix6-libc-compat.c: Delete.
1803         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1804
1805 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1806
1807         * doc/install.texi (--enable-checking): Update valgrind's URL.
1808
1809 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1810
1811         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1812         with -2147483647 - 1.
1813
1814 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
1815
1816         Fix links in online manuals.
1817         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1818         (Precompiled Headers): @pxref to cpp, not cpp.info.
1819
1820 2003-11-16  Jason Merrill  <jason@redhat.com>
1821
1822         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1823         files in each directory and TAGS files that include them for each
1824         front end.
1825
1826 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1827
1828         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1829         3 of S2L.
1830         (modnorm): Likewise.
1831         (exitdiv): Look at bit 3 of S2L only.
1832
1833 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1834
1835         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1836         (DO_GLOBAL_DTORS_BODY): Likewise.
1837
1838 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1839
1840         * doc/install.texi (Prerequisites): Refine documentation of
1841         autoconf, automake and perl requirements.  Document required
1842         gettext version.
1843
1844 <2003-11-14  Jason Merrill  <jason@redhat.com>
1845
1846         * function.c (assign_parms): Use TREE_TYPE to determine the real
1847         type of the argument object.
1848
1849 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1850
1851         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1852         iteration.
1853
1854 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
1855
1856         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1857           New routine to save vararg registers on stack. Support for
1858           -mpowerpc64 in mixed mode.
1859
1860 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
1861
1862         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1863         for MOTOROLA versus MIT syntax.  Improves readability and provides
1864         better compile-time error checking for both code paths.
1865
1866 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
1867
1868         * config/frv/frv-protos.h: Update for C90.
1869         * config/frv/frv.h: Likewise.
1870         * config/frv/frvbegin.c: Likewise.
1871         * config/frv/frv.c: Likewise.
1872         (frv_adjust_field_align): Delete unused variable.
1873
1874 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
1875
1876         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1877         to each place where TARGET_LONG_DOUBLE_128 is used with
1878         DEFAULT_ABI == ABI_AIX.
1879
1880         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1881         message comply with GNU standards.
1882
1883 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1884
1885         PR/6552
1886         * function.c (struct epi_info): New field const_equiv.
1887         (update_epilogue_consts): New function.
1888         (keep_stack_depressed): Clear new field and verify scratch register
1889         doesn't have it set.
1890         Call new function via note_stores.
1891         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1892         Allow PLUS where second operand is register known set to constant.
1893         (emit_equiv_load): Write load using proper mode if source different.
1894         * config/mips/mips.md (return_internal): Put (return) first.
1895
1896 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1897
1898         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1899
1900 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1901
1902         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1903         registers.
1904         (divsi3): Likewise.
1905         (reti): Don't restore unused registers.
1906
1907 2003-11-14  Nick Clifton  <nickc@redhat.com>
1908
1909         * config/fr30/fr30.c: Include toplev.h
1910
1911 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1912
1913         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1914
1915 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1916
1917         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1918         function definition syntax.
1919
1920 2003-11-14  Eric Christopher  <echristo@redhat.com>
1921
1922         * reload1.c (reload): Revert previous patch. Make
1923         check for assignment into reg_equiv_address stricter.
1924
1925 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
1926
1927         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1928
1929 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
1930
1931         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1932         section names.
1933
1934 2003-11-14  Jason Merrill  <jason@redhat.com>
1935
1936         PR middle-end/12526
1937         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1938         * calls.c (call_expr_flags): New fn.
1939         * tree.h: Declare it.
1940
1941 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1942
1943         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1944         (divmodsi3): Change the name to ___udivsi3.
1945         Update all callers.
1946
1947 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1948
1949         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1950         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1951         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1952         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1953         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1954         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1955         Const-ify and/or initialize automatic variables at declaration.
1956
1957 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1958
1959         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1960         of er4 with er3.  Adjust all callers.
1961
1962 2003-11-13  Andrew Pinski <apinski@apple.com>
1963
1964         * config/darwin.c (machopic_output_possible_stub_label):
1965         Allow stub symbol be not defined when outputting possible
1966         stub label.
1967
1968 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1969
1970         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1971         instead of exitdiv.
1972         (___umodsi3): Likewise.
1973         (exitdiv): Do not restore any register.
1974         (reti): Restore registers.
1975
1976 2003-11-13  Steven Bosscher  <stevenb@suse.de>
1977
1978         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1979
1980 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1981
1982         * config/h8300/lib1funcs.asm: Fix comment typos.
1983
1984 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1985
1986         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1987         unused registers.  Don't jump to exitdiv.
1988         (umodsi3): Likewise.
1989
1990 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
1991             Kean Johnston <jkj@sco.com>
1992
1993         PR c/13029
1994         * toplev.c (check_global_declarations): Do not warn about unused
1995         static consts.
1996
1997 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
1998             Kazu Hirata  <kazu@cs.umass.edu>
1999
2000         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
2001         the approximate quotient method.
2002
2003 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
2004
2005         * combine.c (distribute_notes): When re-distributing the notes from
2006         an insn we are about to delete, ensure we can't end up with a cyclic
2007         list of notes.
2008
2009 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2010
2011         PR optimization/12926
2012         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
2013         the UNCHANGING_RTX_P flag on memory references to read-only
2014         components that are not addressable.
2015
2016 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2017
2018         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
2019         DenHighNonZero.
2020
2021 2003-11-13  Jan Hubicka  <jh@suse.cz>
2022
2023         PR opt/12275
2024         * c-decl.c (finish_decl): Use change_decl_assembler_name.
2025         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
2026         * varasm.c (make_decl_rtl): Likewise.
2027         * cgraph.c (change_decl_assembler_name): New function.
2028         * tree.h (set_decl_assembler_name): Kill dead declaration.
2029         (change_decl_assembler_name): Declare.
2030
2031         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2032         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
2033
2034 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
2035
2036         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
2037         an unused register.
2038
2039 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
2040
2041         PR bootstrap/12752
2042         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
2043         (MULTILIB_OSDIRNAMES): Reorder accordingly.
2044
2045 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
2046
2047         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
2048         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
2049         (rs6000_emit_eh_reg_restore): Add
2050         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
2051         of vars_size and total_size to HOST_WIDE_INT.
2052         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
2053         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
2054         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
2055         values.
2056         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
2057         (rs6000_initial_elimination_offset): New, with code formerly in
2058         INITIAL_ELIMINATION_OFFSET.
2059         * rs6000.h (rs6000_stack_t): Remove.
2060         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
2061         rs6000_initial_elimination_offset.
2062         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
2063         rs6000_emit_eh_reg_restore.
2064
2065 2003-11-12  Mike Stump  <mrs@apple.com>
2066
2067         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
2068         is the argumnt we are processing so that warnings and errors
2069         will have that information.
2070         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
2071         * lang-hooks-def.h
2072         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
2073         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
2074         * langhooks.h (convert_parm_for_inlining): Likewise.
2075         * tree-inline.c (initialize_inlined_parameters): Compute and
2076         pass argnum down.
2077
2078 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
2079             Roger Sayle  <roger@eyesopen.com>
2080
2081         PR optimization/12953
2082         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
2083         before switch by FUNCTION_CODE.
2084
2085 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
2086
2087         * arm.md (storehi): Avoid use of explicit subreg.
2088         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
2089
2090 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
2091
2092         * config/sh/sh.md (prefetch): New pattern.
2093
2094 2003-11-11  Eric Christopher  <echristo@redhat.com>
2095
2096         * reload1.c (reload): Verify that addresses for
2097         reg_equiv_* are valid for the architecture.
2098
2099 2003-11-11  Eric Christopher  <echristo@redhat.com>
2100
2101         * function.c (purge_addressof_1): Add libcall check.
2102         Remove test for cached replacements on fallback case.
2103         Simplify mode comparisons. Add libcall test for
2104         paradoxical subregs.
2105
2106 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2107
2108         * config/h8300/t-h8300: Fix an obsolete comment.
2109
2110 2003-11-11  James E Wilson  <wilson@specifixinc.com>
2111
2112         * expmed.c (store_bit_field, extract_bit_field): Revert last two
2113         changes.
2114
2115 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
2116
2117         * config/h8300/lib1funcs.asm: Replace DenHighZero with
2118         DenHighNonZero.
2119
2120 2003-11-11  Jan Hubicka  <jh@suse.cz>
2121
2122         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
2123         really_no_inline.
2124
2125 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2126
2127         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
2128         generating 64-bit code.
2129
2130 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
2131
2132         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
2133         accidental commit in previous change.
2134
2135 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
2136
2137         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
2138         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
2139         address recognition.
2140         (macho_lo_sum_memory_operand): Routine to recognize macho-style
2141         address recognition.
2142
2143 2003-11-10  Richard Henderson  <rth@redhat.com>
2144
2145         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
2146
2147 2003-11-10  Matt Austern  <austern@apple.com>
2148
2149         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
2150         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
2151         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
2152         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
2153         darwin_assemble_visibility instead of default.
2154
2155 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
2156
2157         PR target/12865
2158         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
2159         __enable_execute_stack only after writing onto the stack.
2160         (sparc64_initialize_trampoline): Likewise.
2161
2162 2003-11-09  Roger Sayle  <roger@eyesopen.com>
2163
2164         * loop.c (check_dbra_loop): Try swapping the comparison operands
2165         of the loop condition to identify a suitable induction variable.
2166         * unroll.c (loop_iterations): Likewise.
2167
2168 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2169
2170         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
2171         sparc64 #cpu and #machine assertions.
2172
2173 2003-11-09  Richard Henderson  <rth@redhat.com>
2174
2175         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
2176
2177 2003-11-09  Jan Hubicka  <jh@suse.cz>
2178
2179         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
2180
2181         * cgraphunit.c (cgraph_expand_function): Use
2182         cgraph_possibly_inlined_p.
2183         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
2184
2185         * opts.c (common_handle_option): Do not set max-inline-insns.
2186         * params.def: Update comments.
2187         (PARAM_MAX_INLINE_INSNS): Kill.
2188         * invoke.texi (max-inline-insns): Kill.
2189
2190 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2191
2192         PR c/3190
2193         PR c/8714
2194         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
2195         * invoke.texi: Update.
2196
2197 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2198
2199         PR optimization/12630
2200         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
2201         Handle length computation 64-bit moves.
2202         (compute_clrstr_length, output_block_clear): Implement block clear.
2203         (output_block_move): Handle 64-bit moves.
2204         (pa_adjust_insn_length): Use compute_movstr_length and
2205         compute_clrstr_length.
2206         * pa.md (movstrsi): Revise operand order and comments.  Don't use
2207         match_scratch.
2208         (movstrsi_internal): Delete.
2209         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
2210         and peephole2 patterns to transform prereload to postreload form.
2211         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
2212         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
2213         clrstrdi_postreload): New patterns for 64-bit block move, and block
2214         clear.
2215         * pa-protos.h (output_block_clear): New prototype.
2216
2217 2003-11-08  Andreas Schwab  <schwab@suse.de>
2218
2219         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
2220         XCOFF_DEBUGGING_INFO.
2221
2222 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2223
2224         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
2225
2226 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2227
2228         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
2229         redundant parens.
2230
2231         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
2232         (find_file_in_dir): Likewise.
2233         (_cpp_find_file): Print message if no header file is found
2234         but an invalid PCH file was.
2235
2236 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
2237
2238         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
2239         expressions as lvalues.
2240         (internal_build_compound_expr): Remove special handling for
2241         non-pedantic case.
2242         * doc/extend.texi: Document that all extended lvalues are now
2243         deprecated.
2244
2245 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
2246
2247         PR 11654
2248         * dbxout.c (struct dbx_file): Do not save for PCH.
2249         (current_file): Likewise.
2250         (dbxout_init): Don't allocate struct dbx_file using GC.
2251         (dbxout_start_source_file): Likewise.
2252
2253 2003-11-07  Falk Hueffner  <falk@debian.org>
2254
2255         * config/alpha/elf.h, config/alpha/unicosmk.h,
2256         config/alpha/vms.h: Convert to ISO C90.
2257
2258 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
2259
2260         * config/arm/pe.h: Convert to ISO C90.
2261
2262 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
2263
2264         * sh-protos.h (sh_pch_valid_p): Declare.
2265         * sh.c ("intl.h"): Include.
2266         (TARGET_PCH_VALID_P): Override.
2267         (sh_target_switches): New variable.
2268         (target_switches): Define.
2269         (sh_pch_valid_p): New function.
2270
2271         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
2272
2273 2003-11-07  Jan Hubicka  <jh@suse.cz>
2274
2275         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
2276         (x86_64_zero_extended_value):  likewise.
2277
2278 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
2279
2280         * config/mips/mips.md (loadgp): Take $25 as a second operand.
2281         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
2282
2283 2003-11-06  Matt Austern <austern@apple.com>
2284
2285         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
2286         field instead of hanging an attribute object off the decl.
2287         * tree.h (DECL_VISIBLITY): New accessor macro for
2288         symbol_visibility field in struct tree_decl.
2289         (enum symbol_visibility): Move definition to before tree_decl.
2290         (struct tree_decl): Define new two-bit field, symbol_visibility.
2291         (decl_visibility): Remove declaration.
2292         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
2293         instead of decl_visibility.
2294         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
2295         decl_visibility.
2296         (decl_visibility): Remove.
2297
2298 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2299
2300         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
2301         where register 14 will be saved.
2302
2303 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
2304
2305         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
2306         (USE_ALTIVEC_FOR_ARG_P): Likewise.
2307         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2308         Take a pointer as the CUM parameter.  Update callers.
2309         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
2310         32-bit ABIs.
2311         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
2312         of vector parameters as named arguments of stdarg function.
2313         (function_arg): Likewise.
2314
2315         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2316         -maltivec is specified, not the non-existent -faltivec.
2317
2318 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
2319
2320         * config/s390/s390-protos.h (s390_function_value): Declare.
2321         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2322         (s390_return_in_memory): New function.
2323         (s390_function_value): New function.
2324         (s390_function_arg_float): Return false for all arguments larger
2325         than 8 bytes.
2326         (s390_function_arg_pass_by_reference): Likewise.  Return true for
2327         all vector arguments.
2328         (s390_function_arg_integer): New function.
2329         (s390_function_arg_advance): Call it.  Add sanity checks.
2330         (s390_function_arg): Likewise.
2331         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2332         (LIBCALL_VALUE): Likewise.
2333         (RET_REG): Remove.
2334         (RETURN_IN_MEMORY): Remove.
2335
2336 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2337
2338         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2339         return type to HOST_WIDE_INT.
2340         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2341         Make initialized a bool.  Make register masks unsigned ints.
2342         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
2343         where appropriate.
2344         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2345         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2346
2347 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2348
2349         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2350         negation.
2351
2352 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
2353
2354         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2355
2356 2003-11-06  Momchil Velikov  <velco@fadata.bg>
2357
2358         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2359         for VR4111 too.
2360
2361 2003-11-06  Jan Hubicka  <jh@suse.cz>
2362
2363         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2364         missing casts.
2365
2366 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
2367
2368         * genmodes.c: Change the word "bitsize" to "precision" throughout.
2369         * machmode.def: Likewise.
2370         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2371         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2372         (GET_MODE_PRECISION): New macro.
2373         (mode_bitsize): Renamed mode_precision.
2374         * stor-layout.c (mode_for_size, smallest_mode_for_size):
2375         Use GET_MODE_PRECISION; clarify comments.
2376
2377 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2378
2379         * doc/install-old.texi: Remove old documentation of building
2380         cross-compilers.
2381         * doc/install.texi: Move some of it to here.
2382
2383 2003-11-05  Per Bothner  <pbothner@apple.com>
2384
2385         PR preprocessor/12891
2386         * c-opts.c (finish_options):  Set include_cursor to disable premature
2387         calls to push_command_line_include from cpp_scan_nooutput.
2388         Fixes bug reported by DJ Delorie.
2389
2390 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2391
2392         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2393         code supporting old-style varargs.
2394
2395         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2396         an intermediate register for better optimisation.
2397
2398 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2399
2400         PR optimization/10080
2401         * cfgloopanal.c (variable_initial_value, variable_initial_values,
2402         simple_loop_exit_p): Record the fact that initial value is extended
2403         from inner mode.
2404         (count_strange_loop_iterations, count_loop_iterations): Handle
2405         ivs that iterate in a narrower mode. Fix handling of overflows.
2406         Improve handling of NE conditions.
2407         (inverse, fits_in_mode_p): New static functions.
2408         (simple_increment): Detect variables that iterate in a narrower mode.
2409         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2410
2411 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2412
2413         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2414         error.
2415
2416         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2417         needs VRSAVE.
2418
2419 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2420
2421         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2422         conditional expressions as lvalues.
2423
2424 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
2425
2426         * tsystem.h: Add the prototype of strlen.
2427         * unwind-pe.h (read_encoded_value_with_base): Add an
2428         appropriate cast to handle a case where the pointer size is
2429         smaller than sizeof (int).
2430
2431 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2432
2433         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2434         (mips_delegitimize_address): Delete.
2435         (mips_gotoff_global, mips_load_got_page): Declare.
2436         (mips_load_got_global, mips_rewrite_small_data): Declare.
2437
2438         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2439         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2440         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2441         small_data_pattern.  Remove CONST from const_arith_operand's entry.
2442
2443         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2444         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2445         (mips_constant_type): Delete.
2446         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2447         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2448         (NUM_SYMBOL_TYPES): New macro.
2449         (mips_address_type): Remove ADDRESS_INVALID.
2450         (machine_function): Add has_gp_insn_p.
2451         (mips_constant_info): Delete.
2452         (mips_address_info): Add the address type as an extra field.  Replace
2453         the c field with symbol_type.
2454         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2455         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2456         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2457         (mips_split_const, mips_symbolic_constant_p): New functions.
2458         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2459         (mips_classify_address): Return true if the address is valid, storing
2460         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
2461         to test whether a LO_SUM address is allowed.
2462         (mips_symbol_insns): Return 0 for general mips16 symbols.
2463         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2464         Handle the new SYMBOL_GOTOFF_*s.
2465         (mips_address_insns): Update call to mips_classify_address.
2466         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
2467         of mips_classify_constant.  Be more accurate about CONSTs.
2468         (mips_global_pic_constant_p): Delete.
2469         (const_arith_operand): Only accept CONST_INTs.
2470         (call_insn_operand): Remove call to mips_classify_constant.
2471         Let mips_symbolic_constant_p check for invalid offsets.
2472         (move_operand): Check for general_operands first.  Only accept symbolic
2473         constants if they satisfy mips_symbolic_constant_p and cannot be split.
2474         (symbolic_constant): Use mips_symbolic_constant_p.
2475         (global_got_operand, local_got_operand): New predicates.
2476         (stack_operand): Update call to mips_classify_address.
2477         (mips_legitimate_address_p): Likewise.
2478         (mips_reloc, mips_lui_reloc): Delete.
2479         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2480         Use emit_move_insn.
2481         (mips_split_symbol, mips_unspec_address): New functions.
2482         (mips_unspec_offset_high): New function.
2483         (mips_load_got): Replace reloc argument with a symbol_type.
2484         Use mips_unspec_address to create the address and put it in a
2485         LO_SUM with the base register.
2486         (mips_load_got16, mips_load_got32): Delete.
2487         (mips_emit_high, mips_legitimize_symbol): Delete.
2488         (mips_gotoff_global): New function.
2489         (mips_load_got_page, mips_load_got_global): New functions.
2490         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2491         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
2492         Inline code to handle constants plus invalid offsets.  Use
2493         mips_split_symbol to legitimize constant pool addresses.
2494         (mips_delegitimize_address): Delete.
2495         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2496         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
2497         (mips_subword): Pass memrefs through mips_rewrite_small_data.
2498         (mips_output_move): Remove use of mips_classify_constant.
2499         (mips_expand_call): Use mips_unspec_offset_high to calculate the
2500         high part of the GOT address for calls to global functions.
2501         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2502         and mips_hi_relocs[].
2503         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2504         Remove use of mips_classify_constant.
2505         (mips_reloc_string): Delete.
2506         (print_operand_reloc): New function.
2507         (print_operand_address): Update call to mips_classify_address.
2508         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2509         (small_data_pattern): New predicate.
2510         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2511         (mips_function_has_gp_insn): New function.
2512         (mips_global_pointer): Use it.
2513         (mips_gp_insn): Delete.
2514         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2515         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
2516         from the start of the current function.
2517         (mips16_gp_pseudo_reg): Revert last patch.
2518
2519         * config/mips/mips.md (RELOC_*): Delete.
2520         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2521         (got): New insn attribute.
2522         (type): Set to "load" if got == load.
2523         (length): Set to 4 if got == load, 8 if got == xgot_high.
2524         (lui[sd]i): Delete.
2525         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2526         (*got_disp[sd]i, *got_page[sd]i): Likewise.
2527         (*low[sd]i): Change constraints to "d".  Add a new define_split to
2528         rewrite small data constants into LO_SUMs.
2529         (loadgp): New insns.
2530
2531 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2532
2533         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2534
2535 2003-11-04  DJ Delorie  <dj@redhat.com>
2536
2537         * config/v850/v850.md (mulhisi3): Expand the const_int case
2538         separately to avoid trying to sign extend the const.
2539
2540 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2541
2542         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2543         addresses to be shared.
2544         (force_const_mem): Return a copy of the pool entry.
2545
2546 2003-11-03  Andreas Jaeger  <aj@suse.de>
2547
2548         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2549
2550 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2551
2552         * Makefile.in (cpp.dvi): New target split from cpp.info.
2553         (gcc.dvi):  New target split from gcc.info.
2554         (gccint.dvi): New target split from gccint.info.
2555         (cppinternals.dvi): New target split from cppinternals.info
2556         (gccinstall.info): New specific rule.
2557         (gccinstall.dvi): Likewise.
2558         (dvi): Move targets to $(docobjdir).
2559         ($(docobjdir)/%.dvi): New implicit rule.
2560
2561 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2562
2563         * doc/gty.texi (tag, desc): Say more about role of desc values in
2564         selecting between tags.
2565
2566 2003-11-03  Alexander Kabaev  <ak03@gte.com>
2567
2568         * real.c (encode_ieee_single): Ensure proper promotion.
2569
2570 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2571
2572         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2573         and Andrew Pinski.
2574
2575 2003-11-03  Syd Polk  <spolk@apple.com>
2576
2577         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2578         marketing names to the list of supported processors.
2579         * config/rs6000/rs6000.h: Ditto.
2580         * doc/invoke.texi: Ditto.
2581         * config.gcc: Ditto.
2582
2583 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2584
2585         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2586         Merge two substitutions.
2587         * fixinc/fixincl.x: Regenerate.
2588         Fixes PR bootstrap/12666.
2589
2590 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2591
2592         * doc/install-old.texi: Remove VMS documentation.
2593
2594 2003-11-03  Jan Hubicka  <jh@suse.cz>
2595
2596         * i386.c (override_options):  Remove hack enabling 128bit long double
2597         commited by accident.
2598
2599 2003-11-02  Per Bothner  <per@bothner.com>
2600
2601         * c-opts.c (needValue):  Do cpp_find_main_file before processing
2602         any imacros flags, so pfile->main_file is set for the latter.
2603
2604 2003-11-03  Andreas Jaeger  <aj@suse.de>
2605             Zack Weinberg  <zack@codesourcery.com>
2606
2607         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2608         (SYSCALLS.c.X-warn): Suppress warnings.
2609
2610 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2611
2612         PR optimization/12845
2613         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2614
2615 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
2616
2617         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2618         * config/i386/i386.c (print_reg): Abort on a virtual register
2619         if code != -1; not if file == asm_out_file.
2620         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2621         (DEBUG_PRINT_REG): Delete, unused.
2622
2623 2003-11-02  Andreas Schwab  <schwab@suse.de>
2624
2625         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2626         empty to avoid conflict with the definition from configure.
2627
2628 2003-11-02  Roger Sayle  <roger@eyesopen.com>
2629
2630         PR optimization/10817
2631         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2632         (noce_try_move): New function to optimize an if-the-else into an
2633         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2634         (noce_process_if_block): Attempt simplification with noce_try_move.
2635
2636         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2637         and improvements to the optimizations of IF_THEN_ELSE expressions.
2638         (simplify_subreg): Silence signed/unsigned comparison warning.
2639
2640 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
2641
2642         * Makefile.in (targhooks.o, reload.o): Update dependencies.
2643         (GTFILES): Add targhooks.c.
2644         (gt-targhooks.h): New rule; depend on s-gtype.
2645         * target.h (direct_pool_load_p): New hook.
2646         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2647         (TARGET_INITIALIZER): Include it.
2648         * targhooks.h (default_direct_pool_load_p): Declare.
2649         (hook_bool_machine_mode_true): Declare.
2650         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2651         gt-targhooks.h.
2652         (pool_symbol): New variable.
2653         (default_direct_pool_load_p): New function.
2654         (hook_bool_machine_mode_true): New function.
2655         * reload.c: Include target.h.
2656         (find_reloads): If an alternative will force a constant into memory,
2657         count an extra reload if constant pool symbols are not valid
2658         addresses.  If an alternative uses memory to move values between
2659         registers, count the move as two reloads rather than one.
2660         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2661         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2662
2663 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2664
2665         PR optimization/12799
2666         * postreload.c (reload_cse_move2add): Generate the add2
2667         patterns manually.
2668
2669 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2670
2671         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2672         Return 0 for all complex modes whose size is lesser or equal to
2673         a word.  Add a ??? comment for the condition used with 16-byte
2674         aligned modes.
2675
2676 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
2677
2678         * .cvsignore: Remove c-parse* and tradcif.c.
2679         * objc/.cvsignore: Delete.
2680
2681 2003-11-01  Roger Sayle  <roger@eyesopen.com>
2682
2683         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2684         of NULL.
2685
2686 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2687
2688         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2689
2690         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2691
2692         * collect2.c (scan_libraries): Fix typos.
2693
2694         PR preprocessor/12847
2695         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2696         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2697         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2698         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2699         "CPP_".
2700
2701 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
2702
2703         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2704         no_units calculation.
2705
2706 2003-11-01  Andreas Jaeger  <aj@suse.de>
2707
2708         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2709         enumeration list.
2710
2711 2003-11-01  Andreas Schwab  <schwab@suse.de>
2712
2713         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2714         prototypes.
2715         (SBSS_SECTION_FUNCTION): Likewise.
2716
2717 2003-11-01  Andreas Jaeger  <aj@suse.de>
2718
2719         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2720
2721 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
2722
2723         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2724         prototypes.
2725
2726 2003-11-01  Andreas Jaeger  <aj@suse.de>
2727
2728         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2729         (uw_frame_state_for): Constify variables.
2730         (extract_cie_info): Constify first argument.
2731
2732         * unwind-dw2-fde-darwin.c: Adjust prototype of
2733         _Unwind_Find_registered_FDE for recent changes.
2734         (examine_objects): Constify return value and local variable result.
2735         (_Unwind_Find_FDE): Constify return value and local variable ret.
2736
2737 2003-10-31  Per Bothner  <pbothner@apple.com>
2738
2739         * c-opts.c (finish_options):  Change to returns boolean - false iff
2740         the call to cpp_find_main_file fails.
2741         (c_common_init):  Skip preprocess_file if finish_options failed.
2742         (c_common_parse_file):  Break if finish_options failed.
2743         Fixes PR preprocessor/12545.
2744
2745 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2746
2747         * aclocal.m4: Blacklist ultrix* for mmap file.
2748         * configure: Rebuilt.
2749
2750         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2751         reg_parm_stack_space.
2752         * toplev.c (default_get_pch_validity): Fix warning.
2753
2754         * vax.c: Include toplev.h.
2755         (vax_init_libfuncs): Fix typo (umod).
2756         * vax.h (ASM_COMMENT_START): Define.
2757         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2758
2759 2003-10-31  Roger Sayle  <roger@eyesopen.com>
2760
2761         PR middle-end/11968
2762         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2763         confusing comment; distributivity isn't handled in expand_expr.
2764         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
2765         in distributivity, if wrap-around semantics are specified with
2766         -fwrapv.
2767
2768 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
2769
2770         PR 12315
2771         * final.c (profile_function): Allow for NULL svrtx.
2772
2773 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2774
2775         * pa.c (pa_select_section): Use new style declaration.
2776         * som.h (readonly_data): Likewise.
2777
2778 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2779
2780         * config/rs6000/rs6000.c: Update to C90 prototypes.
2781
2782 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2783
2784         PR target/7513
2785         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2786         code.
2787
2788 2003-10-31  Andreas Jaeger  <aj@suse.de>,
2789             Zack Weinberg  <zack@codesourcery.com>
2790
2791
2792         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2793         (__deregister_frame_info, __deregister_frame_info_bases):
2794         Constify void * argument.
2795         * unwind-dw2-fde.h (struct fde_vector):
2796         Constify 'orig_data' and 'array' fields.
2797         (__register_frame_info, __register_frame_info_bases)
2798         (__deregister_frame_info, __deregister_frame_info_bases):
2799         Constify void * argument.
2800         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2801         return values, and casts of type fde *, struct dwarf_fde *,
2802         and struct dwarf_cie *.
2803         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2804         (__deregister_frame_info, __deregister_frame_info_bases):
2805         Constify void * argument.
2806         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2807         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2808         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2809         fde_split, SWAP, frame_downheap, frame_heapsort)
2810         (classify_object_over_fdes, add_fdes, linear_search_fdes,
2811         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2812         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2813         Constify arguments, local variables, return values, and casts
2814         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2815         Use const pointer types in sizeof expressions, for clarity.
2816         * unwind-dw2-fde-glibc.c
2817         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2818         (struct unw_eh_callback_data): Constify 'ret' field.
2819
2820 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
2821             David Edelsohn  <edelsohn@gnu.org>
2822
2823         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2824         (function_arg): Call it.
2825         (rs6000_function_value): Widen integral return value to mode based
2826         on TARGET_32BIT, not word_mode.
2827         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
2828         (UNITS_PER_ARG): New.
2829         (RS6000_ARG_SIZE): Use it.
2830
2831 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
2832
2833         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2834         and gengtype-yacc.h.
2835
2836 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2837
2838         PR optimization/8896
2839         * postreload.c (reload_combine): Check that REGY doesn't die in an
2840         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2841
2842 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2843
2844         PR/10239
2845         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2846
2847 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2848
2849         PR/11640
2850         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2851         immediatelly before BARRIER.
2852
2853 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2854
2855         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2856
2857 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2858
2859         PR target/11271
2860         * reload.c (find_reloads_address): Handle any register in
2861         (PLUS (PLUS (REG) (REG)) (CONST_INT).
2862
2863 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2864
2865         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
2866         ENABLE_GC_CHECKING not in GGC_POISON.
2867
2868 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2869
2870         PR bootstrap/9863
2871         * configure.in: Bail out if awk is missing.
2872         * configure: Regenerate.
2873
2874         PR ada/12761
2875         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2876         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2877
2878 2003-10-30  Richard Henderson  <rth@redhat.com>
2879
2880         * c-objc-common.c (c_tree_printer): Handle types correctly.
2881         Factor code a bit.
2882
2883 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2884
2885         * value-prof.c, web.c: Update to C90.
2886
2887 2003-10-30  Eric Christopher  <echristo@redhat.com>
2888
2889         * function.c (purge_addressof_1): Add case for REG_RETVAL
2890         notes when modes are unequal.
2891
2892 2003-10-31  Jan Hubicka  <jh@suse.cz>
2893
2894         * i386-modes.def: Add XFmode format adjustment.
2895
2896 2003-10-30  Jan Hubicka  <jh@suse.cz>
2897
2898         * real.c (encode_ieee_extended): Back out previous patch.
2899
2900 2003-10-30  Jan Hubicka  <jh@suse.cz>
2901
2902         * real.c (encode_ieee_extended): Initialize whole array.
2903         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2904         * i386-modes.def: Change definitions of TFmode and XFmode.
2905         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2906         code.
2907         (construct_container): Allow constructing of TFmode integer containers.
2908         (ix86_return_in_memory):  XFmode is not returned in memory.
2909         (init_ext_80387_constants): Always use XFmode.
2910         (print_operand): Likewise.
2911         (ix86_prepare_fp_compare_regs): Likewise.
2912         (split_to_parts): Deal with TFmode.
2913         (split_long_move): Simplify.
2914         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2915         (ix86_memory_move_cost): Do not confuse TFmode.
2916         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2917         (IS_STACK_MODE): TFmode is not stack mode.
2918         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2919         (VALID_SSE_REG_MODE): Allow TFmode.
2920         (VALID_FP_MODE_P): Disallow TFmode.
2921         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2922         * i386.md (TFmode patterns): Kill.
2923         (movtf, motf_rex64): New patterns.
2924
2925 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2926
2927         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2928
2929 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2930
2931         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2932         (mov_lwr, mov_swl, mov_swr): Likewise.
2933         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2934
2935 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2936
2937         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2938
2939 2003-10-30  Richard Henderson  <rth@redhat.com>
2940
2941         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2942         test for irix6 rather than preprocessor test.
2943
2944 2003-10-30  Richard Henderson  <rth@redhat.com>
2945
2946         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2947
2948 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
2949
2950         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2951         as a general flag that the return address register needs to be saved,
2952         not necessarily because of __builtin_return_addr (0).
2953         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2954         remove special handling of zSeries machines.
2955         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2956         register as a regular register on zSeries machines.
2957         (s390_reorg): Adjust calls to s390_split_branches and
2958         s390_optimize_prolog.
2959         (s390_frame_info): On zSeries machines, do not assume the return
2960         register is always used.  Update regs_ever_live with current data
2961         for the special registers.
2962         (s390_emit_epilogue): Use save_return_addr_p to determine whether
2963         the return register was saved.
2964         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2965         RETURN_REGNUM fixed on zSeries machines.
2966         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2967         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2968         via ahi-jgne pair on zSeries machines.
2969         ("*doloop_di"): Likewise.
2970         ("*doloop_di_long"): Remove.
2971
2972 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
2973
2974         * arm.c (arm_override_options): Revert change of arm_constant_limit
2975         when optimizing for size.
2976
2977 2003-10-29  Richard Henderson  <rth@redhat.com>
2978
2979         * fold-const.c (fold_single_bit_test): Convert the input to the
2980         operational intermediate type.
2981
2982 2003-10-29  Richard Henderson  <rth@redhat.com>
2983
2984         * builtins.c (std_build_builtin_va_list): New.
2985         * expr.h (std_build_builtin_va_list): Declare.
2986         * defaults.h (BUILD_VA_LIST_TYPE): New.
2987         * system.h (BUILD_VA_LIST_TYPE): Poison.
2988         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2989         * target.h (struct gcc_target): Add build_builtin_va_list.
2990         * tree.c (build_common_tree_nodes_2): Use it.
2991
2992         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2993         config/alpha/alpha.h, config/alpha/unicosmk.h,
2994         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2995         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2996         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2997         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2998         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2999         config/mips/mips.h, config/rs6000/rs6000-protos.h,
3000         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3001         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
3002         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3003         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
3004         config/xtensa/xtensa.h: Rename foo_build_va_list to
3005         foo_build_builtin_va_list; make it static.  Define
3006         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
3007         Update protos.
3008
3009         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
3010         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
3011
3012 2003-10-29  James E Wilson  <wilson@specifixinc.com>
3013
3014         * recog.c (asm_operand_ok): Add missing break after case 'X'.
3015         Change if statements to else if statements in default case.
3016         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
3017         in comment.
3018         (constrain_operands_cached): Likewise.
3019         (constrain_operands): Change if statements to else if statements in
3020         default case.
3021         * reload.c (find_reloads): Likewise.
3022
3023 2003-10-29  Richard Henderson  <rth@redhat.com>
3024
3025         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
3026         shifts and rotates.
3027
3028 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
3029
3030         * config/rs6000/rs6000.md: Remove duplicate pattern.
3031
3032 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
3033
3034         * real.c (do_divide): Initialize result with a 0.
3035
3036         * configure.in <enable-checking for valgrind>: Look for
3037         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
3038         if it exists.
3039         * configure, config.in: Regenerate.
3040         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
3041         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
3042         #elif for other alternatives.
3043         * ggc-page.c: Ditto.
3044         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
3045         include structure from ggc-common.c.
3046
3047 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3048
3049         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
3050         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
3051         * pa.c (pa_adjust_insn_length): Check for btable branches using
3052         attribute TYPE_BTABLE_BRANCH.
3053         (pa_reorg): Simplify.
3054         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
3055         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
3056         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
3057         * pa.md (btable_branch): New instruction type.
3058         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
3059         btable branches.
3060         (define_delay): Add btable branches to insn types that may have an
3061         insn in the delay position.
3062         (Z2, Z3): Add btable branch to list.
3063         Simplify unamed pattern set copy pic_label_operand to register.  Add
3064         PA 2.0 variant.
3065         (short_jump): New jump for use in branch tables.
3066         (casesi, casesi0): Revise for new branch table formats.
3067         (casesi32, casesi32p, casesi64p): New casesi patterns.
3068         (indirect_jump): Move.
3069
3070 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
3071
3072         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
3073         !TARGET_POWERPC64.
3074         (UNITS_PER_GPR_WORD): Delete.
3075         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
3076         (HARD_REGNO_MODE_OK): Same.
3077         (CLASS_MAX_NREGS): Same.
3078
3079 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3080
3081         * pa.h (ASM_COMMENT_START): Define.
3082
3083 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
3084
3085         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
3086         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
3087         component, not zero.
3088
3089 2003-10-29  Andreas Schwab  <schwab@suse.de>
3090
3091         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
3092
3093 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
3094
3095         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
3096         Never return 1 for complex integral modes whose size is lesser or
3097         equal to a word.
3098         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
3099         in the comment.
3100         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
3101         modes.
3102         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
3103         greater than 16 bytes by reference.
3104
3105 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3106
3107         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
3108         not TARGET_ILP32.
3109         (ia64_initialize_trampoline): Use globalize_label target call.
3110
3111 2003-10-29  Andreas Schwab  <schwab@suse.de>
3112
3113         * doc/install.texi (Building): Add a sentence about building Ada
3114         for a canadian cross.
3115
3116 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3117
3118         * config/ia64/ia64.c (cmptf_libfunc): New static.
3119         (ia64_expand_compare): Add logic to open-code calls to
3120         _U_Qfcmp for TFmode comparisons.
3121         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
3122         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
3123         never be generated anymore.
3124         * config/ia64/ia64.md (cmptf): New expander.
3125
3126 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
3127
3128         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
3129         (*sqrt_approx): New instruction pattern for approximate square roots.
3130         (*setf_exp_xf): New instruction pattern for exponentiation.
3131         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
3132         (sqrtsf2_internal_thr): New define_and_split implementing
3133         throughput-optimized inline calculation of SFmode square root.
3134         (sqrtdf2_internal_thr): Likewise for DFmode.
3135         (sqrtxf2_internal_thr): Likewise for XFmode.
3136         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
3137         latency- and throughput-optimized square root algorithms.
3138         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
3139         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
3140         New macros.
3141         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
3142         -minline-sqrt-max-throughput.
3143         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
3144         and -minline-sqrt-max-throughput are given, notify the user
3145         that both options cannot be used simultaneously.
3146         If -minline-sqrt-min-latency is given, notify the user that
3147         this mode is not yet implemented.
3148         (rtx_needs_barrier): Reformat initial comment to obey
3149         72-character width limit.  Support UNSPEC_SETF_EXP and
3150         UNSPEC_FR_SQRT_RECIP_APPROX.
3151
3152 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
3153
3154         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
3155         moves.
3156
3157 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3158
3159         PR target/11598
3160         PR libgcj/10610
3161         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
3162
3163 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
3164
3165         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
3166         an extra stack adjustment insn if the stack pointer is already
3167         pointing at the right place.
3168         (use_return_insn): Allow a return insn to be used when we have a
3169         frame pointer if the stack pointer is in the right place.
3170         (output_return_instruction): Handle it.
3171
3172 2003-10-28  Andreas Jaeger  <aj@suse.de>
3173
3174         * ggc-zone.c (check_cookies): Add missing variable.
3175         Add void to prototypes.
3176
3177 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3178
3179         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
3180         * crtstuff.c (__do_global_ctors_1): Move prototype.
3181         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
3182         appropriate.
3183         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
3184         Mark parameter with __attribute__((unused)).
3185
3186 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
3187
3188         * c-decl.c (pushdecl): Clarify comment.
3189
3190 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
3191
3192         * doc/install.texi: Update instructions for Ada cross builds
3193
3194         PR ada/5909:
3195         * doc/sourcebuild.texi: Document Ada test suite.
3196
3197 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
3198
3199         * config/m68hc11/m68hc11.c: Convert to ISO C90.
3200         * config/m68hc11/m68hc11-protos.h: Likewise.
3201
3202 2003-10-27  Jan Hubicka  <jh@suse.cz>
3203             Eric Botcazou  <ebotcazou@libertysurf.fr>
3204
3205         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
3206         webizer pass dump.
3207
3208 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
3209             Jan Hubicka  <jh@suse.cz>
3210
3211         * reload1.c (struct elim_table): Change offset, initial_offset and
3212         previous_offset fields to HOST_WIDE_INT.
3213         (offsets_at): Change from int to HOST_WIDE_INT.
3214         (reload): Adjust offsets_at initialization.
3215         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
3216         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
3217         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
3218         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
3219         if TARGET_64BIT.
3220         (pro_epilogue_adjust_stack): New function.
3221         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
3222         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
3223         (pro_epilogue_adjust_stack_1): Remove * in front of name.
3224         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
3225         (pro_epilogue_adjust_stack_rex64_2): New insn.
3226
3227         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
3228
3229         * config/i386/i386.c (ix86_expand_call): Replace 40 with
3230         FIRST_REX_INT_REG + 3 /* R11 */.
3231
3232 2003-10-26  Richard Henderson  <rth@redhat.com>
3233
3234         * config/alpha/alpha.md (attr cannot_copy): New.
3235         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
3236         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
3237         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
3238
3239 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
3240
3241         * ggc-zone.c:  New file, zone allocating collector.
3242         * configure: Accept zone option for --with-gc
3243         * configure.in: Ditto.
3244         * ggc.h (ggc_pch_count_object): Pass bool indicating
3245         stringiness. Update all callers.
3246         (ggc_pch_alloc_object): Ditto.
3247         (ggc_pch_write_object): Ditto.
3248         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
3249         type.
3250         (ggc_alloc_rtvec): Ditto.
3251         (ggc_alloc_tree): Use zone allocation, since some things using this macro
3252         aren't a single typecode.
3253         * ggc-none.c (ggc_alloc_typed): New function.
3254         (ggc_alloc_zone): Ditto.
3255         * ggc-page.c: Ditto on both functions.
3256
3257 2003-10-26  Gunther Nikl  <gni@gecko.de>
3258
3259         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
3260         frame information is always valid.
3261         (m68k_output_function_prologue): Remove superfluous TARGET_68881
3262         test; fix formatting.
3263
3264 2003-10-26  Gunther Nikl  <gni@gecko.de>
3265
3266         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
3267         reg_rev_mask computation.
3268         (m68k_output_function_prologue): Fix usage of current_frame (one typo
3269         and one missing); use reg_rev_mask not reg_mask.
3270         (m68k_output_function_epilogue): Fix usage of current_frame;
3271         use fpu_rev_mask not fpu_mask.
3272
3273 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3274
3275         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
3276         num_saved_regs, use current_frame.reg_no instead.
3277
3278 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
3279             Paul Dale  <pauli@snapgear.com>
3280
3281         * doc/extend.texi (interrupt_handler): Add m68k to the
3282         list of processors implementing it.
3283         * doc/invoke.texi (-msep-data): Document new m68k option.
3284         (-mno-sep-data): Likewise.
3285         (-mid-shared-library): Likewise.
3286         (-mno-id-shared-library): Likewise.
3287         (-mshared-library-id): Likewise.
3288
3289 2003-10-26  Andreas Jaeger  <aj@suse.de>
3290
3291         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
3292         comparison.
3293         (_Unwind_SetGR): Likewise.
3294
3295 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
3296
3297         PR target/12690
3298         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
3299
3300 2003-10-26  Gunther Nikl  <gni@gecko.de>
3301
3302         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
3303         comment from here to...
3304         (m68k_save_reg): ...here. Fix comment formatting.
3305         (m68k_output_function_prologue): Fix comment formatting.
3306         (m68k_output_function_epilogue): Likewise.
3307         (const_method): Likewise.
3308
3309 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
3310
3311         * toplev.c (default_get_pch_validity): Guard the use of
3312         target_options with #ifdef TARGET_OPTIONS.
3313         (default_pch_valid_p): Likewise.
3314
3315 2003-10-26  Andreas Jaeger  <aj@suse.de>
3316             Zack Weinberg  <zack@codesourcery.com>
3317             Andreas Tobler <toa@pop.agri.ch>
3318
3319         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3320         (output_die): Likewise.
3321         (print_die): Likewise.
3322
3323 2003-10-26  Andreas Jaeger  <aj@suse.de>
3324
3325         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3326         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3327         dwarf2out.c change.
3328
3329         * toplev.c (default_pch_valid_p): Fix warning.
3330
3331 2003-10-25  Roger Sayle  <roger@eyesopen.com>
3332
3333         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3334         RTL nodes.  If an operator's operands are unchanged, return the
3335         original argument unchanged.
3336
3337 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
3338
3339         Fix bootstrap failure.
3340         * expmed.c (store_bit_field): Don't compare bitsize against
3341         modes with zero bit-size.
3342
3343         (extract_bit_field): Likewise
3344
3345 2003-10-25  Jan Hubicka  <jh@suse.cz>
3346
3347         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3348         (cfa_loc): Likewise.
3349         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3350         HOST_WIDE_INT.
3351         (args_size, old_args_size): change type to HOST_WIDE_INT.
3352         (dwarf2out_def_cfa, dwarf2out_args_size,
3353         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3354         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3355         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3356         AT_offset): Use HOST_WIDE_INT.
3357         (based_loc_descr): offset is HOST_WIDE_INT.
3358         (add_data_member): Likewise.
3359         (add_const_value_attribute): Simplify.
3360
3361 2003-10-25  Richard Henderson  <rth@redhat.com>
3362
3363         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3364         (ix86_expand_prologue): Save and restore eax around stack probe
3365         if it's live.
3366
3367 2003-10-25  Jan Hubicka  <jh@suse.cz>
3368
3369         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3370
3371 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
3372
3373         PR target/12712
3374         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3375         if the block has no predecessors.
3376         (convert_regs_2): Document the problem with successors whose
3377         only predecessor is the block to be processed.
3378         (convert_regs): Don't create the arbitrary input stack here.
3379
3380 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
3381
3382         * genmodes.c (struct mode_data): Add contained and next_cont
3383         fields.
3384         (complete_mode): Maintain linked list of modes that have a
3385         given component.
3386         (emit_mode_unit_size): Delete.
3387         (emit_mode_nunits): New.
3388         (emit_insn_modes_c): Update to match.
3389         (emit_mode_adjustments): Propagate size and alignment
3390         adjustments from component modes to their containers.
3391         * machmode.h (mode_unit_size): Delete.
3392         (mode_nunits): New.
3393         (GET_MODE_NUNITS): Just return the value in the table.
3394         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3395         GET_MODE_SIZE.
3396         * expmed.c (store_bit_field, extract_bit_field): Can use a
3397         plain move instruction if bitsize >= GET_MODE_BITSIZE of
3398         destination/source mode, respectively.
3399         * varasm.c (assemble_real): Write out the full size of the
3400         constant, not just its bitsize.
3401         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3402
3403         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3404         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3405         alignment of XF and TF modes in compliance with ia64 ABIs.
3406         Can now hardwire the format of both modes.
3407         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3408         (general_tfmode_operand, destination_tfmode_operand)
3409         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3410         general_xfmode_operand, destination_xfmode_operand,
3411         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3412         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3413         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
3414         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3415         __float128.
3416         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3417         Change TFmode to XFmode wherever appropriate.  Remove all
3418         references to INTEL_EXTENDED_IEEE_FORMAT.
3419         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3420         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3421         (PREDICATE_CODES): Update to match function renames.
3422         * config/ia64/ia64.md: Change TF to XF throughout; rename all
3423         patterns to match.  Remove all references to
3424         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
3425         function renames.
3426         * config/ia64/ia64-protos.c: Update all prototypes to match
3427         renamed functions.
3428         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3429         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3430         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3431         __divtf3; keep old name for backward compatibility.
3432         (L__compat): New section providing forwarding stubs for
3433         __fixtfti, __fixunstfti, __floattitf.
3434         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3435
3436 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
3437
3438         PR 10757
3439         * c-pch.c: Include target.h.  Improve comments.
3440         (struct c_pch_validity): Add target_data_length.
3441         (pch_init): Add target's validity data.
3442         (c_common_valid_pch): Check target's validity data.
3443         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3444         (TARGET_PCH_VALID_P): New.
3445         (TARGET_INITIALIZER): Add new fields.
3446         * target.h: Include tm.h.
3447         (struct gcc_target): Add get_pch_validity, pch_valid_p.
3448         * toplev.h (default_get_pch_validity): New prototype.
3449         (default_pch_valid_p): New prototype.
3450         * toplev.c (default_get_pch_validity): New routine.
3451         (default_pch_valid_p): New routine.
3452         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
3453         target.h with $(TARGET_H).
3454         (c-pch.o): Add TARGET_H.
3455         * doc/tm.texi (PCH Target): New node.
3456         (TARGET_GET_PCH_VALIDITY): Document.
3457         (TARGET_PCH_VALID_P): Document.
3458
3459 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
3460
3461         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
3462         and $(docdir)/include from any *.texi dependencies.
3463         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3464         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3465         ($(docobjdir)/%.7): Likewise.
3466         (%.pod): New implicit rule.
3467         (cpp.pod): New dependency only rule.
3468         (gcc.pod): New intermediate rule with dependencies and commands.
3469         (gfdl.pod): Likewise.
3470         (fsf-funding.pod): Likewise.
3471
3472 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3473
3474         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3475         related code.
3476         * fixinc/fixinc.ptx: Remove.
3477         * fixinc/fixinc.svr4: Remove.
3478
3479 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3480
3481         * config/s390/s390.c (load_multiple_operation): Allow both SImode
3482         and DImode if word_mode is DImode.
3483         (store_multiple_operation): Likewise.
3484         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3485         ("*load_multiple_di"): Allow only if word_mode == DImode.
3486         ("movqi"): Use LLGC whenever TARGET_ZARCH.
3487         ("fix_truncdfsi2"): Fix incorrect temporary size.
3488         ("fix_truncsfsi2"): Likewise.
3489         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3490         string for function return value operand.
3491         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3492
3493 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3494
3495         * c-parse.in (array_declarator): Use expr_no_commas.
3496         Fixes PR c/11943.
3497
3498 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
3499
3500         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3501         associated includes in #ifndef inhibit_libc.
3502
3503 2003-10-24  Roger Sayle  <roger@eyesopen.com>
3504
3505         * doc/libgcc.texi: Document some more of the libgcc API.
3506
3507 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3508
3509         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3510         comparing a constant with small negative numbers and add costing
3511         for constants in conjunction with AND.
3512         (note_invalid_constants): Tidy previous change.
3513         (thumb_cmp_operand): Tidy.
3514         (thumb_cmpneg_operand): New function.
3515         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3516         for size.
3517         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3518         (PREDICATE_CODES): Add thumb_cmpneg_operand.
3519         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
3520         with a negative constant.
3521         (cbranchsi4_insn): Matcher for cbranchsi4.
3522         (cbranchsi4_scratch): Similar, but a scratch is available for
3523         handling negative constants.
3524         (movsi_cbranchsi4): New pattern.
3525         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3526         and use the TST instruction.
3527         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3528         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3529         cannot see high regs or memory alternatives.
3530         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3531
3532 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3533
3534         * arm.c (note_invalid_constants): Try to extract the constant
3535         pool value using avoid_constant_pool_reference; only use
3536         get_pool_constant if that returns the original reference.
3537
3538 2003-10-24  Jan Hubicka  <jh@suse.cz>
3539
3540         PR c++/12624
3541         * varasm.c (notice_global_symbol): Disqualify global registers.
3542
3543 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3544
3545         PR middle-end/11414
3546         * loop.c (load_mems): Use redirect_jump to forward jumps from
3547         the original loop end label to the new "loop sink" block's label.
3548
3549 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3550
3551         PR middle-end/12705
3552         * optabs.c (expand_binop): When expanding complex operations
3553         inline, always calculate result into a new temporary register.
3554         Minor code clean-ups.
3555
3556 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3557
3558         * objc/lang-specs.h: Handle -print-objc-runtime-info.
3559         * doc/invoke.texi (Objective-C Dialect Options): Document it.
3560
3561 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
3562
3563         * config/i386/cygwin.asm: Add copyright notice. Add comment
3564         on why this code is needed.
3565
3566 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
3567
3568         * config/h8300/clzhi2.c: Fix warnings.
3569         * config/h8300/ctzhi2.c: Likewise.
3570         * config/h8300/fixunssfsi.c: Likewise.
3571         * config/h8300/parityhi2.c: Likewise.
3572         * config/h8300/popcounthi2.c: Likewise.
3573
3574 2003-10-23  James E Wilson  <wilson@specifixinc.com>
3575
3576         * gcc.c (option_map): Delete --target and --use-version.
3577
3578 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
3579             David Edelsohn  <edelsohn@gnu.org>
3580
3581         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3582         TARGET_POWREPC64.
3583         (UNITS_PER_GPR_WORD): Define.
3584         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3585         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3586         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3587         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3588         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3589         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3590         (rs6000_emit_prologue): Select reg_mode and reg_size using
3591         TARGET_32BIT, not TARGET_POWERPC64.
3592         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3593         ABI / 64-bit computation mode
3594
3595 2003-10-22  Andrew Haley  <aph@redhat.com>
3596
3597         * toplev.c (output_file_directive): Allow for null input_name.
3598
3599 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
3600
3601         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3602
3603 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
3604
3605         * configure.in: In --enable-generated-files-in-srcdir option
3606         handling, fix default case handling.
3607         * configure: Regenerate.
3608
3609 2003-10-22  Phil Edwards  <phil@codesourcery.com>
3610
3611         * config.gcc:  Update *-*-vxworks* generic hook and comments.
3612         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3613         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
3614         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3615         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
3616         * config/windiss.h:  New file.
3617         * config/arm/t-vxworks:  New file.
3618         * config/arm/vxworks.h:  New file.
3619         * config/i386/t-vxworks:  New file.
3620         * config/i386/vxworks.h:  New file.
3621         * config/mips/t-vxworks:  New file.
3622         * config/mips/vxworks.h:  New file.
3623         * config/mips/windiss.h:  New file.
3624         * config/sh/t-vxworks:  New file.
3625         * config/sh/vxworks.h:  New file.
3626
3627 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3628
3629         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3630         (h8300_saveall_function_p): New.
3631         (h8300_insert_attributes): Insert the saveall attribute if
3632         #pragma saveall is specified.
3633         (h8300_attribute_table): Add saveall.
3634         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3635         * doc/extend.texi: Mention the saveall attribute.
3636
3637 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
3638
3639         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3640         deprecation of casts as lvalues.
3641         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3642         * fixinc/fixincl.x: Regenerate.
3643         * fixinc/tests/base/obstack.h: New test.
3644
3645 2003-10-22  Andreas Schwab  <schwab@suse.de>
3646
3647         PR target/12676
3648         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3649         LP64 platforms.
3650
3651 2003-10-22  Jan Hubicka  <jh@suse.cz>
3652
3653         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3654         presence of DW_AT_inline.
3655         (gen_subprogram_die): Likewise; do not abort instead of emitting
3656         DW_AT_not_inline.
3657
3658 2003-10-22  Jan Hubicka  <jh@suse.cz>
3659
3660         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3661         global info is not ready.
3662
3663 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3664
3665         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3666
3667 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3668
3669         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3670         ("*movstr_short"): ... into this insn pattern.
3671         ("movstr_short"): New expander.
3672         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3673         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3674         ("movstr_long"): New expander.
3675         ("clrstr_short_64", "clrstr_short_31"): Merge ...
3676         ("*clrstr_short"): ... into this insn pattern.
3677         ("clrstr_short"): New expander.
3678         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3679         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3680         ("clrstr_long"): New expander.
3681         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3682         ("*cmpmem_short"): ... into this insn pattern.
3683         ("cmpmem_short"): New expander.
3684         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3685         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3686         ("cmpmem_long"): New expander.
3687         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3688         (s390_expand_clrstr): Likewise.
3689         (s390_expand_cmpmem): Likewise.
3690
3691 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
3692
3693         * c-pch.c (struct c_pch_validity): Add pch_init field.
3694         (pch_init): Set it.
3695         (c_common_valid_pch): Check it.
3696
3697 2003-10-22  David Taylor <dtaylor@emc.com>
3698
3699         PR debug/12500
3700         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3701
3702 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3703
3704         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3705         alpha_return_in_memory if no VALTYPE specified.
3706
3707 2003-10-22  Jan Hubicka  <jh@suse.cz>
3708
3709         PR debug/12389
3710         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3711         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3712         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3713         (cgraph_global_info): Add flag inlined
3714         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3715         cgraph_function_possibly_inded_p
3716         * cgraphunit.c (mark_inline): Set inlined flag.
3717         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3718         only for possibly inlined functions.
3719         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3720         body of function.
3721
3722 2003-10-22  Andrew Haley  <aph@redhat.com>
3723
3724         * varasm.c (output_constructor): Make constructor annotation
3725         conditional on ASM_COMMENT_START.
3726
3727 2003-10-21  Jason Merrill  <jason@redhat.com>
3728
3729         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3730         (get_narrower): Likewise.
3731
3732         * stor-layout.c (layout_decl): Do packed field alignment for
3733         bit-fields, too.
3734
3735 2003-10-21  Eric Christopher  <echristo@redhat.com>
3736
3737         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3738
3739 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
3740
3741         * c-pch.c: Add comments in various places.
3742         (struct c_pch_validity): Add the lengths of various strings.
3743         (host_machine): New static.
3744         (target_machine): New static.
3745         (get_ident): Bump version number.
3746         (pch_init): Write out version, host, target validity data.
3747         (c_common_valid_pch): Check version, host, target.
3748         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3749         TARGET_MACHINE.
3750
3751 2003-10-21  Jason Merrill  <jason@redhat.com>
3752
3753         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3754         (EXPR_P): New macro.
3755
3756 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
3757
3758         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3759         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3760         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3761         DImode.   Use convert_move to load ar.ccv.
3762         (ia64_expand_compare_and_swap): Likewise.
3763         If expand_expr doesn't put 'old' and 'new' in the proper
3764         modes, run them through convert_to_mode.
3765
3766 2003-10-21  Eric Christopher  <echristo@redhat.com>
3767
3768         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3769         for too large bitfields.
3770
3771 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3772
3773         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3774
3775 2003-10-21  Andrew Haley  <aph@redhat.com>
3776
3777         * varasm.c (output_constructor): Annotate constructor.
3778
3779 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3780
3781         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3782         on existence of destination file.
3783
3784 2003-10-21  Jan Hubicka  <jh@suse.cz>
3785
3786         * haifa-sched.c (choose_ready): Initialize index.
3787
3788 2003-10-21  Jason Merrill  <jason@redhat.com>
3789
3790         * tree.c (build1): Fix off-by-one error.
3791
3792 2003-10-21  Robert Millan  <robertmh@gnu.org>
3793
3794         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3795         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3796         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3797         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3798
3799 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
3800
3801         * web.c: Fix various comments.
3802
3803 2003-10-20  Nicolas Pitre <nico@cam.org>
3804
3805         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3806         to 2 instead of 1 when optimize_size is true.  Gather code based on
3807         optimize_size together.  Add comment about XScale load latency.
3808
3809 2003-10-21  Gunther Nikl  <gni@gecko.de>
3810
3811         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3812         obsolete comments.
3813
3814 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3815
3816         * Makefile.in: Get parsedir and docobjdir from configure.
3817         * configure.in: Recogonize --enable-generated-files-in-srcdir.
3818         Pass along parsedir and docobjdir.
3819         * configure: Regenerate.
3820         * doc/install.texi: Document --enable-generated-files-in-srcdir.
3821
3822 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3823
3824         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3825         included.
3826
3827 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3828
3829         * c-common.c (expand_tree_builtin): Ensure creal and cimag
3830         functions do not return lvalues.
3831
3832 2003-10-20  Jason Merrill  <jason@redhat.com>
3833
3834         PR c/12553
3835         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3836         appropriately.
3837
3838         PR c/11446
3839         * stor-layout.c (layout_decl): Fix alignment handling.
3840
3841 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3842
3843         * doc/extend.texi: Deprecate casts as lvalues.
3844
3845 2003-10-20  Jan Hubicka  <jh@suse.cz>
3846
3847         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3848
3849         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
3850         with functions implicitly made inline.
3851
3852         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
3853         (cgraph_finalize_function): Use it.
3854         (cgraph_mark_inline): Allow incrmental decisions
3855         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3856         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3857         * tree-inline.c (limits_allow_inlining): Kill.
3858         (expand_call_inline): Always use unit-at-a-time path.
3859
3860 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3861
3862         * fixinc/inclhack.def (hpux11_snprintf): New edit.
3863         * fixinc/fixincl.x: Regenerate.
3864         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3865
3866 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
3867
3868         * Makefile.in (install-info): Simplify.
3869         ($(DESTDIR)$(infodir)/%.info): New rule.
3870         * configure.in (target_list): Remove install-info.
3871         * doc/.cvsignore (gcc.info*): Remove.
3872         (gccint.info*): Likewise.
3873         (gccinstall.info*): Likewise.
3874         (cpp.info*): Likewise.
3875         (cppinternals.info*): Likewise.
3876         (*.info*): Add it.
3877         * doc/sourcebuild.texi: Update description of install-info.
3878         * objc/Make-lang.in (objc.install-info): Remove.
3879
3880 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3881
3882         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
3883         Use it in _MIPS_SIM definition.
3884         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3885
3886 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3887
3888         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
3889         virtual register, but only if file == asm_out_file.
3890         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
3891         for ARG_POINTER_REGNUM.
3892
3893 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3894
3895         * c-common.c (registered_builtin_types): New static.
3896         (c_common_type_for_mode): Consult registered_builtin_types.
3897         (c_register_builtin_type): Add type to registered_builtin_types.
3898         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
3899         all MODE_FLOAT modes, not just the ones corresponding to
3900         float_type_node, double_type_node, and long_double_type_node.
3901
3902 2003-10-20  Richard Henderson  <rth@redhat.com>
3903
3904         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3905         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3906
3907 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
3908
3909         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3910         support new flag -minsert-sched-nops.
3911         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3912         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3913         support new flag -minsert-sched-nops.
3914         (is_cracked_insn, is_microcoded_insn): New functions.
3915         (rs6000_sched_finish): New function.
3916         (rs6000_issue_rate): Return 5 for power4.
3917         (get_next_active_insn, insn_terminates_group_p): New
3918         functions.
3919         (is_costly_group, force_new_group): New functions.
3920         (redefine_groups, pad_groups): New functions.
3921         (rs6000_variable_issue): Use new functions.
3922         * doc/invoke.texi (-minsert-sched-nops): Document new
3923         option.
3924
3925 2003-10-20  David S. Miller  <davem@redhat.com>
3926
3927         * config/sparc/sparc.md (type attribute): Add new insn types
3928         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3929         (patterns emitting VIS insns): Use them.
3930         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3931         * config/sparc/ultra3.md: Likewise.
3932
3933 2003-10-20  Falk Hueffner  <falk@debian.org>
3934
3935         PR target/12654
3936         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3937         comparison against constant by adjusting the argument except for
3938         EQ and NE.
3939
3940 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
3941
3942         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3943         arm1136jfs, and armv6j.
3944         * config/arm/arm.c (FL_ARCH6J): New macro.
3945         (FL_VFPV2): Likewise.
3946         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3947         and arm1136jfs.
3948         (all_architectures): Add entry for armv6j.
3949         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3950         arm1136js, and arm1136jfs.
3951         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3952         (TARGET_CPU_arm1026ej_s): Likewise.
3953         (TARGET_CPU_arm1136j_s): Likewise.
3954         (TARGET_CPU_arm1136jf_s): Likewise.
3955         * doc/invoke.texi: Document new ARM cores and architecture
3956         variants.
3957
3958 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3959
3960         * Makefile.in (toplev.o): Add value-prof.h dependency.
3961         (value-prof.o): Add REGS_H dependency.
3962         * common.opt (fprofile-values, fvpt): New.
3963         * flags.h (flag_value_profile_transformations): Declare.
3964         * opts.c (common_handle_option): Handle -fprofile_values and
3965         -fvpt.
3966         * profile.c (branch_prob): Don't remove death notes here.
3967         * timevar.def (TV_VPT): New.
3968         * value-prof.c: Include regs.h.
3969         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3970         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3971         mod_subtract_transform, value_profile_transformations): New.
3972         (insn_values_to_profile): Call insn_divmod_values_to_profile.
3973         (find_values_to_profile): Add dumps.
3974         * value-prof.h (value_profile_transformations): Declare.
3975         * toplev.c: Include value-prof.h.
3976         (rest_of_handle_value_profile_transformations): New.
3977         (enum dump_file_index): Add DFI_vpt.
3978         (dump_file): Add vpt dump.
3979         (flag_value_profile_transformations): New.
3980         (lang_independent_options): Add flag_profile_values and
3981         flag_value_profile_transformations.
3982         (rest_of_compilation): Call
3983         rest_of_handle_value_profile_transformations.
3984         (process_options): Let -fvpt imply -fprofile-values.
3985         * doc/invoke.texi (-fvpt): Document.
3986
3987 2003-10-19  Jan Hubicka  <jh@suse.cz>
3988
3989         * i386.c (print_reg): Do not abort on certain registers.
3990
3991         PR optimization/12612
3992         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
3993         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3994         match_scratch; avoid bogus paralles.
3995
3996         PR target/12674
3997         * i386.c (ix86_function_regparm): Disable implicit register passing
3998         conventions when profiling.
3999
4000 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4001             Richard Henderson  <rth@redhat.com>
4002
4003         PR optimization/8178
4004         * config/i386/i386.md (*movsi_zero): Delete.
4005         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
4006
4007 2003-10-19  Richard Henderson  <rth@redhat.com>
4008
4009         * config/alpha/alpha.c (fix_operator): New.
4010         (divmod_operator): Tidy.
4011         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
4012         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
4013         (PREDICATE_CODES): Update.
4014         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
4015         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
4016         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
4017         (fix_truncsfdi_ieee): Likewise.
4018         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
4019         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
4020         * config/alpha/alpha-protos.h: Update.
4021
4022 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
4023
4024         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
4025         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
4026         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
4027         constant operands.
4028
4029 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
4030
4031         * doc/extend.texi: Fix typos.
4032         * doc/invoke.texi: Likewise.
4033
4034 2003-10-18  Nicolas Pitre <nico@cam.org>
4035
4036         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
4037         XScale optimizations not arm_arch_xscale.
4038         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
4039
4040 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
4041
4042         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
4043         * config/s390/s390.c (shift_count_operand): New function.
4044         (s390_extra_constraint): Use it to implement 'Y' constraint.
4045         (print_shift_count_operand): New function.
4046         (print_operand): Use it to implement '%Y'.
4047         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
4048         (PREDICATE_CODES): Add shift_count_operand.
4049         * config/s390/s390.md ("rotldi3"): Merge alternatives,
4050         using "shift_count_operand" predicate and "Y" constraint,
4051         and "%Y" to output the combined shift count.
4052         ("rotlsi3"): Likewise.
4053         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
4054         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
4055         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
4056         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
4057         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
4058         ("lshrsi3"): Likewise.
4059
4060 2003-10-18  Gunther Nikl  <gni@gecko.de>
4061
4062         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
4063         argument to asm_fprintf statement.
4064
4065 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
4066
4067         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
4068         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
4069         a "long long" argument.
4070
4071 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
4072
4073         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
4074         as well.
4075
4076 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
4077
4078         * rtl.h (rtl_size): Declare.
4079         (rtunion): Remove rtwint.
4080         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
4081         (RTX_HDR_SIZE, RTX_SIZE): New macros.
4082         (RTL_CHECK1): Adjust for new rtx_def layout.
4083         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
4084         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
4085         (X0WINT): Remove.
4086         (X0ANY): New macro.
4087         * rtl.def: Adjust comments for new rtx_def layout.
4088         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
4089         number of slots.
4090         * rtl.c (rtx_size): New array.
4091         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
4092         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4093         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
4094         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
4095         * emit-rtl.c (copy_most_rtx): Likewise.
4096         (copy_rtx_if_shared): Use RTX_SIZE.
4097         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
4098         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
4099         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
4100         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
4101         an array.  Adjust output for new rtx_def layout.
4102         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
4103         * reload1.c (eliminate_regs): Use RTX_SIZE.
4104         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
4105         * gdbinit.in (pi): Likewise.
4106
4107 2003-10-18  Jan Hubicka  <jh@suse.cz>
4108
4109         * integrate.c (copy_decl_for_inlining): Revert previous patch.
4110
4111 2003-10-18  Jan Hubicka  <jh@suse.cz>
4112
4113         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
4114
4115 2003-10-18  Roger Sayle  <roger@eyesopen.com>
4116
4117         * libgcc.texi: Group multi-word types, such as "long double" and
4118         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
4119         Document __unord?f2 as returning a non-zero value, not just one.
4120
4121 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
4122
4123         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
4124         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
4125
4126 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4127
4128         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
4129         match_operand.
4130
4131 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4132
4133         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
4134         parameter packed_p.  Search for a DECL_PACKED field only if
4135         packed_p is false.  Pass packed_p recursively.
4136         (function_arg_record_value_2): Likewise.
4137         (function_arg_record_value): Update calls to
4138         function_arg_record_value_1 and function_arg_record_value_2.
4139
4140 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4141
4142         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
4143         was successfully forced to memory before using the result.
4144
4145 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4146
4147         PR optimization/8178
4148         * config/i386/i386.md (*movsi_zero): New insn to set
4149         a register to zero on TARGET_USE_MOV0 targets.
4150
4151 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
4152
4153         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
4154         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
4155
4156 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
4157
4158         * doc/invoke.texi (gcse-las): Fix typo.
4159
4160 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
4161
4162         * doc/install.texi: Remove first part of the sentence for
4163         zsh not working.  Change gcc to GCC.
4164
4165         PR bootstrap/12546
4166         * doc/install.texi: Document that zsh does not work when
4167         configuring gcc.
4168
4169 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
4170
4171         * config/ptx4.h: Switch to DWARF 2; update comments.
4172
4173 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
4174             Hartmut Penner  <hpenner@de.ibm.com>
4175
4176         PR 10404, partial 11591, partial 11601
4177         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
4178         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
4179         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
4180         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
4181         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
4182         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
4183         (altivec_expand_stv_builtin): Adjust for the memory_operand.
4184         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
4185         (altivec_init_builtins): Use `long int' for memory offsets.
4186
4187 2003-10-17  Jan Hubicka  <jh@suse.cz>
4188
4189         * opts.c  (common_handle_option): Handle OPT_fweb
4190         * invoke.texi (-fweb): Add missing parts of documentation.
4191
4192 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4193
4194         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
4195         before redefinition.
4196
4197 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
4198
4199         * common.opt: Add description of the new -fgcse-las flag.
4200         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
4201         * gcse.c (hash_scan_set): Handle the case of store expression and
4202         insert the memory expression to the hash table, this way we make it
4203         possible to discover redundant loads after stores and remove them.
4204         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
4205         to pre_insert_copies, it is not the correct place to call it after
4206         adding stores to be in the available expression hash table.
4207         (pre_insert_copies): Added the call to update_ld_motion_stores when
4208         one or more copies were inserted.
4209         * opts.c (common_handle_option): Handle the -fgcse-las flag.
4210         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
4211
4212         * doc/invoke.tex: Document new -fgcse-las flag.
4213
4214 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
4215
4216         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4217         for posterity, then remove it.
4218
4219 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
4220             Nathan Sidwell  <nathan@codesourcery.com>
4221
4222         * config/arm/arm.c (use_return_insn): Not a single instruction, if
4223         there's a frame pointer.
4224         (arm_output_epilogue): Protect stack pointer from being corrupted
4225         on interrupt.
4226
4227 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4228
4229         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
4230
4231 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
4232
4233         * combine.c (simplify_set): Do not clear out undobuf.other_insn
4234         already set elsewhere.
4235
4236 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
4237
4238         * config/i386/i386.c (ix86_expand_prologue):  Use
4239         gen_allocate_stack_worker.
4240
4241 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4242
4243         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
4244         without gas.
4245         (mips-sgi-irix6*): Likewise.
4246
4247         * config/mips/iris6gas.h: New file.
4248         * gcc/config.gcc (mips-sgi-irix6*): Use it.
4249
4250         * config/mips/mips.h (TARGET_IRIX): Provide default.
4251         (TARGET_IRIX5): Likewise.
4252         (TARGET_SGI_O32_AS): Likewise.
4253         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
4254         (TARGET_IRIX5): Likewise.
4255         * config/mips/iris6.h (TARGET_IRIX6): Remove.
4256         (TARGET_IRIX5): Redefine as 0.
4257
4258         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
4259         linker workaround with TARGET_IRIX and mips_abi instead of
4260         ASM_OUTPUT_UNDEF_FUNCTION.
4261         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
4262         testing TARGET_IRIX and mips_abi explicitly.
4263         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
4264         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
4265
4266         * config/mips/mips.c (irix_output_external_libcall): Renamed from
4267         mips_output_external_libcall.
4268         Use new TARGET_IRIX in guard.
4269         * config/mips/mips-protos.h (irix_output_external_libcall): Match
4270         this.
4271         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
4272
4273         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
4274         Define as 0.
4275
4276         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
4277         depending on mips_abi.
4278         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
4279         * config/mips/mips.c (mips_output_function_prologue): Test
4280         FUNCTION_NAME_ALREADY_DECLARED at runtime.
4281         (mips_output_function_epilogue): Likewise.
4282         (build_mips16_function_stub): Likewise.
4283         (build_mips16_call_stub): Likewise.
4284         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
4285         default.
4286
4287         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
4288         IRIX 6 O32 assembler.
4289         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
4290         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
4291         _MIPS_SIM for O32 ABI.
4292         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
4293         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
4294         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
4295         Integrate O32 version.
4296         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
4297         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
4298         O32 ABI.
4299         (BSS_SECTION_ASM_OP_32): Define.
4300         (BSS_SECTION_ASM_OP_64): Likewise.
4301         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
4302         using them.
4303         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
4304         Move up to allow override for O32 ABI without GNU as.
4305         (EH_FRAME_SECTION_NAME): Define explicitly.
4306         (MUST_USE_SJLJ_EXCEPTIONS): Define.
4307         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4308         DTORS_SECTION_ASM_OP): Dummy definitions.
4309         (TARGET_ASM_NAMED_SECTION): Undef statically.
4310         (EH_FRAME_SECTION_NAME): Likewise.
4311         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4312         (LINK_SPEC): Only use default options -call_shared -no_unresolved
4313         without -r.
4314         Don't pass -init, -fini with -mabi=32.
4315         (COLLECT_PARSE_FLAG): Define.
4316
4317         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4318         TARGET_IRIX.
4319         Renamed to use irix_ prefix.
4320         (iris6_asm_named_section): Likewise.
4321         (iris_section_align_entry_eq): Likewise.
4322         (iris_section_align_entry_hash): Likewise.
4323         (iris6_file_start): Likewise.
4324         (iris6_section_align_1): Likewise.
4325         (iris6_file_end): Likewise.
4326         (iris6_section_type_flags): Likewise.
4327         (iris_section_align_htab): Likewise.
4328         (iris_orig_asm_out_file): Likewise.
4329         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4330         (TARGET_ASM_FILE_END): Likewise.
4331         (TARGET_SECTION_TYPE_FLAGS): Likewise.
4332
4333         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4334         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4335         override_options instead.
4336         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4337         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4338         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4339         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4340         assemblers.
4341         Likewise for constructor/destructor handling.
4342         (override_options): Handle IRIX O32 assembler quirks.
4343         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4344         without gas.
4345         (mips_file_start): Use new TARGET_IRIX.
4346         (mips_declare_object_name): No special processing for IRIX O32
4347         assembler.
4348         (mips_finish_declare_object): Likewise.
4349         (irix_asm_output_align): Renamed from iris6_asm_output_align.
4350         Don't record alignment for O32 ABI.
4351         (irix_file_start): Renamed from iris6_file_start.
4352         Return early for O32 ABI.
4353         (irix_file_end): Renamed from iris6_file_end.
4354         Don't emit .section directives for O32 ABI.
4355         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4356         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4357
4358         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4359         (MULTILIB_OSDIRNAMES): Likewise.
4360
4361 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4362
4363         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4364         (main): Use it.
4365         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4366
4367 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4368
4369         * arm-modes.def (CC_Nmode): New condition code mode.
4370         * arm.c (thumb_condition_code): Delete.
4371         (arm_select_cc_mode): Handle single-bit test for Thumb.
4372         (arm_print_operand, cases 'd' and 'D'): Don't special case the
4373         condition code logic for Thumb.
4374         (get_arm_condition_code): Handle CC_Nmode.
4375         (thumb_cbrch_target_operand): New function.
4376         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4377         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4378         * arm.md: Add Thumb split patterns for zero_extract and
4379         sign_extract.
4380         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4381         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4382         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4383         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4384         (cbranchne_decr1): Re-work to use CC_Nmode.
4385
4386         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4387         by the return instruction.  Add a use of the link register if it
4388         wasn't stored.
4389
4390 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
4391
4392         * flow.c (init_propagate_block_info): Don't abort if a conditional
4393         jump is not a comparison of a register.  Instead, just don't record
4394         conditional life information.
4395
4396 2003-10-16  Jan Hubicka  <jh@suse.cz>
4397
4398         PR optimization/12630
4399         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4400         for operands 7 and 8.
4401
4402 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
4403
4404         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4405
4406 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
4407
4408         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4409
4410         * config/i386/winnt.c (gen_stdcall_suffix): Make static
4411         (gen_fastcall_suffix): Likewise.
4412         (i386_pe_dllexport_p): Likewise.
4413         (i386_pe_dllimport_p): Likewise.
4414         (i386_pe_mark_dllexport): Likewise.
4415         (i386_pe_mark_dllimport): Likewise.
4416         (i386_pe_asm_named_section): Fix formatting.
4417
4418 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
4419
4420         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4421         * system.h: Declare snprintf if necessary.
4422         * configure, config.in: Regenerate.
4423
4424 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
4425
4426         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4427         arguments if TARGET_ALTIVEC_ABI.
4428
4429 2003-10-15  Roger Sayle  <roger@eyesopen.com>
4430
4431         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4432         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4433         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4434         New functions.
4435         (expand_builtin_memcpy): Use integer_zerop instead of testing
4436         host_integerp and tree_low_cst directly.  Move misapplied hunk
4437         for optimization wher SRC and DEST point to the same location.
4438         (expand_builtin_mempcpy): From here.
4439         (expand_builtin_memmove): Use integer_zerop instead of testing
4440         host_integerp and tree_low_cst_directly.
4441         (expand_builtin_memset): Likewise.
4442         (expand_builtin_memcmp): Likewise (and for integer_onep).
4443         (expand_builtin_strncmp): Likewise.
4444         (fold_builtin): Call the appropriate fold_builtin_foo functions
4445         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4446         strcmp and strncmp.
4447
4448 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
4449
4450         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4451         prototype.  Clean up some whitespace.
4452         * config/darwin.c: Use gen_rtx_FOO (...) rather than
4453         gen_rtx (FOO, ...).
4454         (machopic_non_lazy_ptr_name): Make static.
4455         (name_needs_quotes): Allow '.' and '$' unquoted.
4456         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4457         case.
4458
4459 2003-10-15  Gábor Lóki  <alga@rgai.hu>
4460
4461         * fold-const.c (tree_swap_operands_p): Disable some features
4462         when optimizing for size.
4463
4464 2003-10-15  David Daney  <ddaney@avtrex.com>
4465
4466         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4467         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4468         from leaf functions.
4469         (DWARF_FRAME_RETURN_COLUMN): Ditto.
4470         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4471         by MD_FALLBACK_FRAME_STATE_FOR.
4472         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4473
4474 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
4475
4476         * genmodes.c: Include hashtab.h.
4477         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4478         (adj_bytesize, adj_alignment, adj_format, new_adjust)
4479         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4480         (print_maybe_const_decl, emit_mode_adjustments): New.
4481         (known_modes): Rename to modes.
4482         (find_mode): Kill class argument; look up in hash table.
4483         (new_mode): Insert into hash table also.
4484         (new_adjust): New.
4485         (reset_float_format, make_partial_integer_mode)
4486         (make_vector_mode): Tweak error reporting.
4487         (reset_float_format): Correct type of fourth argument.
4488         (emit_insn_modes_h): Add #defines to help make mode_size,
4489         mode_base_align, and real_format_for_mode conditionally const.
4490         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4491         (emit_real_format_for_mode): Likewise, but temporarily disabled.
4492         (emit_insn_modes_c): Call emit_mode_adjustments.
4493         (main): Initialize modes_by_name.
4494         * Makefile.in: Update dependencies.
4495         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4496         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4497         declarations of mode_size and mode_base_align.  Declare
4498         init_adjust_machine_modes.
4499         * toplev.c (backend_init): Call init_adjust_machine_modes.
4500
4501 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
4502
4503         * genmodes.c (calc_wider_mode): Allocate enough room for all the
4504         entries we'll possibly assign in the sort buffer.
4505
4506 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
4507
4508         * config.gcc (s390x-ibm-tpf*): New target.
4509         * doc/install.texi: Document it.
4510         * config/s390/t-tpf: New file.
4511         * config/s390/tpf.h: New file.
4512
4513 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
4514
4515         PR target/12598
4516         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4517         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4518         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4519         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4520         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4521         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4522         replace_equiv_address, not gen_rtx_MEM.
4523         * config/cris/cris.c (cris_mem_op): New match_operator function.
4524         (cris_notice_update_cc): Use replace_equiv_address, not
4525         gen_rtx_MEM.
4526         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4527
4528 2003-10-15  Bernardo Innocenti <bernie@develer.com>
4529
4530         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4531         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4532         definitions after the other flags.
4533
4534 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
4535
4536         * c-parse.in (methoddef, methodproto): Call objc_add_method()
4537         instead of add_method().
4538         * objc/objc-act.c (objc_check_decl): Do not check for
4539         constant_string_type.
4540         (add_method): Rename to objc_add_method().
4541         (really_start_method): Call objc_add_method() instead of
4542         add_method().
4543         * objc/objc-act.h (add_method): Rename to objc_add_method().
4544
4545 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4546
4547         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4548         (s390_slb_comparison): Likewise.
4549         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4550         New functions.
4551         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4552         and s390_slb_comparison.
4553         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4554         zSeries machines.
4555         ("*adddi3_31z", "*subdi3_31z"): New insns.
4556         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4557         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4558         New insns.
4559
4560 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4561
4562         * configure.in: Clean up some feedback echoes.
4563         * configure: Regenerate.
4564
4565         * aclocal.m4: Properly quote names of macros being defined.
4566
4567         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
4568
4569 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
4570
4571         * config/ia64/ia64.c (ia64_expand_call): Force function address
4572         to DImode.
4573         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
4574
4575 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
4576
4577         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
4578         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
4579         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
4580         "*divsf3_ibm"): Likewise.
4581
4582 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4583
4584         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
4585         target_alias with target_noncanonical.
4586
4587 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
4588
4589         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
4590         and add case for machines where outgoing register parameters
4591         get stack space.
4592
4593         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
4594         register when generating indirect address.
4595
4596 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
4597
4598         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
4599         * arm.md (cbranchne_decr1): Fix bootstrap warning.
4600
4601 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4602
4603         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
4604         * fixinc/fixincl.x: Regenerate.
4605         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
4606         testcase.
4607         Fixes PR bootstrap/9330.
4608
4609 2003-10-13  Eric Christopher  <echristo@redhat.com>
4610
4611         * config/frv/frv.c (frv_adjust_field_align): Redo check for
4612         too wide bitfields.
4613         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
4614         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
4615         (SBSS_SECTION_ASM_OP): Remove.
4616         (EXTRA_SECTIONS): Remove in_sbss.
4617         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
4618         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
4619         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
4620         named_section.
4621
4622 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
4623
4624         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
4625         uses of ${target_alias} for directory names (and other places which
4626         won't like the empty string) with ${target_noncanonical}.  Introduce
4627         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
4628         available.
4629         * configure: Regenerate.
4630
4631 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
4632
4633         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
4634         * config/arm/arm.md: For splits which rely on conditional moves,
4635         remove ! TARGET_IWMMXT condition.
4636
4637 2003-10-13  David S. Miller  <davem@redhat.com>
4638
4639         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
4640         (find_cond_trap): Always increment if we emit a conditional
4641         trap insn.
4642
4643 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
4644
4645         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
4646         with min-insn-modes.o.
4647         (STAGESTUFF): Add min-insn-modes.c.
4648         (genobjs): Add genmodes.o.
4649         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
4650         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
4651         (min-insn-modes.c, min-insn-modes.o): New rules.
4652         (s-modes): Also generate min-insn-modes.c.
4653         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
4654         * genmodes.c (struct mode_data): Add format field.
4655         (blank_mode, validate_mode, complete_mode): Update to match.
4656         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
4657         (_SCALAR_MODE): Kill.
4658         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
4659         (emit_insn_modes_c_header): Adjust.
4660         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
4661         (emit_min_insn_modes_c): New functions.
4662         (emit_insn_modes_c): Call emit_real_format_for_mode.
4663         (main): Add -m option to generate min-insn-modes.c.
4664         * machmode.h: Update documentation.  Add format argument to
4665         all uses of FLOAT_MODE.
4666         * real.c: Don't define real_format_for_mode here.
4667
4668         * dwarfout.c: Move default definition of PRINT_REG...
4669         * defaults.h: ...here.
4670         * print-rtl.c: Include tm_p.h.
4671         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
4672         Kill.
4673         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
4674         this entire block with #ifndef GENERATOR_FILE.
4675         * regclass.c: Unconditionally define reg_names.
4676         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
4677         Don't define DEBUG_REGISTER_NAMES.
4678         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
4679         redefinition of REGISTER_NAMES.
4680         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
4681
4682         * combine.c: Change all preprocessor conditionals on
4683         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
4684         for clarity.
4685         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
4686         * configure.in: Don't define EXTRA_CC_MODES.
4687         * configure, config.in: Regenerate.
4688         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
4689
4690         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
4691         May assume that GET_MODE_CLASS is accurate for extra CC modes
4692         at all times.
4693
4694         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
4695         number of arguments to aggregate_value_p.
4696
4697         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
4698         * machmode.def: Explain ARCH-modes.def.  Document
4699         RESET_FLOAT_FORMAT.  Improve commentary on various mode
4700         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
4701         XF, or TF modes here.  Remove backward-compatibility
4702         definition of CC.
4703
4704         * config/alpha/alpha-modes.def: New file; define TF mode.
4705         * config/arc/arm-modes.def: Define XF mode.
4706         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
4707         float format for SF and DF modes.
4708         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
4709         * config/i386/i386-modes.def: Define XF and TF modes.
4710         * config/i960/i960-modes.def: Define TF mode.
4711         * config/ia64/ia64-modes.def: Define TF and OI modes.
4712         * config/m68k/m68k-modes.def: New file; define XF mode.
4713         * config/mips/mips-modes.def: New file; define TF mode, reset
4714         formats for SF and DF modes.
4715         * config/pa/pa-modes.def: Define TF mode.
4716         * config/rs6000/rs6000.c: Define TF and PSI modes.
4717         * config/s390/s390-modes.def: Define OI mode.
4718         * config/sh/sh-modes.def: New file; define PSI mode.
4719         * config/sparc/sparc-modes.def: Define TF mode.
4720         * config/vax/vax-modes.def: New file; reset formats for SF and
4721         DF modes.
4722
4723         * config/c4x/c4x.c (c4x_override_options): No need to mess
4724         with real_format_for_mode or set REAL_MODE_FORMATs.
4725         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
4726         variable.
4727         * config/i386/i386.c (override_options): No need to set
4728         REAL_MODE_FORMATs here.
4729         * config/i960/i960.c (i960_initialize): Likewise.
4730         * config/m68k/m68k.c (m68k_override_options): Likewise.
4731         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
4732         for TFmode only if not the default.
4733         * config/mips/mips.c (override_options): Likewise.
4734         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
4735         DFmode only if not the default.
4736
4737         * config/i370/i370.h (RET_REG): Don't consider TFmode.
4738         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
4739         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
4740         of modes that don't appear anywhere in the machine description.
4741
4742         * config/arc/arc-modes.def, config/arm/arm-modes.def
4743         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
4744         * config/i386/i386-modes.def, config/i960/i960-modes.def
4745         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
4746         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
4747         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
4748         * config/sparc/sparc-modes.def: Convert to new style for
4749         declaring extra CC modes.
4750
4751 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
4752
4753         * cpplex.c (_cpp_clean_line): In the common case of a line
4754         with no trigraphs and no \-newline, avoid writing to memory.
4755         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
4756         of the buffer member.  Make c an uchar to avoid unnecessary
4757         sign extensions.
4758
4759 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
4760
4761         * configure.in: Remove unnecessary test.
4762         * configure: Regenerate.
4763
4764         * configure.in: Fix grammatical error.  Move UWIN host error to...
4765         * config.host: Here.
4766         * configure: Regenerate.
4767
4768 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
4769
4770         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
4771         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
4772         of flag_unsafe_math_optimizations.
4773         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
4774         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
4775         fused-madd and no-fused-madd.
4776         * doc/invoke.texi: Documented the new options fused-madd and
4777         no-fused-madd for S/390.
4778
4779 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
4780
4781         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
4782         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
4783         assign DEFAULT_ABI.
4784         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
4785         * config/rs6000/rs6000.c: Formatting.
4786         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
4787         when rs6000_alignment_string given.
4788
4789 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4790
4791         PR target/12538
4792         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
4793         (sparc_flat_must_save_register_p): New function to decide whether
4794         a register must be saved/restored in the function prologue/epilogue.
4795         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
4796
4797 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
4798
4799         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
4800         ISO C90 function declarations and definitions.
4801         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
4802
4803 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
4804
4805         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
4806         config files which do the same thing.
4807         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
4808         config/freebsd6.h: Remove now unnecessary files.
4809
4810 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
4811
4812         * c-common.c (c_common_truthvalue_conversion): Warn if the
4813         address of a non-weak function is used as a truth value.
4814
4815 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
4816
4817         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
4818         a literal.
4819         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
4820         instead of a literal.
4821
4822 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
4823
4824         * doc/extend.texi (Function Attributes): Mention the exceptional
4825         path for noreturn-marked functions.
4826
4827 2003-10-12  Jan Hubicka  <jh@suse.cz>
4828
4829         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
4830         warning.
4831
4832 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
4833
4834         * config/i386/i386.c (x86_this_parameter): Fix typo.
4835
4836 203-10-11  Jan Hubicka  <jh@suse.cz>
4837
4838         * Makefile.in (web.o): New.
4839         * web.c: New file.
4840         * rtl.h (web_main): Declare.
4841         * timervar.def (TV_WEB): New.
4842         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
4843         (rest_of_hanle_web): New.
4844         (flag_web): New static variable.
4845         (lang_independent_options): Add "web".
4846         (rest_of_compilation): Call rest_of_handle_web.
4847         * invoke.texi (-fweb): Document.
4848         * common.opt (fweb): New.
4849         * flags.h (flag_web): New.
4850         * opts.c (decode_options): Set flag_web at -O3.
4851
4852         * passes.texi (web construction):  Document.
4853         * invoke.texi (-O3): Document that -fweb is enabled.
4854
4855         * regrename.c (regrename_optimize): Deal better with situation when
4856         replacement failed.
4857
4858         * sched-ebb.c: Include params.h and profile.h
4859         (schedule_ebbs):  Use tracer parameters to discover superblocks
4860         * Makefile.in (sched-ebb.o):  Add dependencies.
4861
4862 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4863
4864         * fold-const.c (negate_mathfn_p): New function to determine whether
4865         a built-in mathematical function is sign preserving, f(-x) == -f(x).
4866         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
4867         (tree_swap_operands_p): Change API to take an additional argument
4868         indicating that the swapped operands evaluate in reverse order.
4869         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
4870         operand side-effects or we don't care about flag_evaluation_order.
4871         (reorder_operands_p): New function to check whether its safe to
4872         evaluate the given operands in reverse order.
4873         (negate_expr_p):  We can always negate integer constants unless
4874         we honor -ftrapv and the signed type would overflow.  Only allow
4875         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
4876         negation of COMPLEX_CST if both real and imaginary parts can be
4877         negated.  Allow negation through floating point extensions and
4878         sign-preserving built-in functions.
4879         (negate_expr):  Move the code to negate integers from "fold" to
4880         here.  Always negate integer constants unless we honor -ftrapv
4881         and the signed type would overflow.  Always negate real constants
4882         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
4883         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
4884         Optimize negation through floating point extensions and
4885         sign-preserving built-in functions (as defined by negate_mathfn_p).
4886         (fold): Adjust calls to tree_swap_operands_p.
4887         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
4888         to negate_expr_p/negate_expr.
4889         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
4890         allowed to convert (-A) - B into (-B) - A.
4891
4892 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4893
4894         * builtins.c (expand_builtin_strcmp): Defend against the possibility
4895         that gen_cmpstrsi may fail: Stabilize the argument list against
4896         re-evaluation and expand the library call directly using this saved
4897         argument list if a cmpstrsi sequence can't be generated.
4898         (expand_builtin_strncmp): Likewise.
4899
4900         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
4901
4902 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4903
4904         PR optimization/12260
4905         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
4906         operations through CONST nodes.  Optimize (neg (plus X C)) as
4907         (minus -C X) for constant values C.
4908         (simplify_binary_operation): Optimize (minus (neg X) C) as
4909         (minus -C X) for constant values C.
4910         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
4911         instead create (minus -C X).
4912
4913 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4914
4915         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
4916         safe_from_p for us, once it chooses an evaluation order.
4917         (expand_expr <MULT_EXPR>): Likewise.
4918         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
4919         places the second operand in "target", swap the operands.
4920         (do_store_flag): Let expand_operands call safe_from_p for us.
4921
4922 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
4923
4924         PR optimization/12544
4925         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
4926         for DECL_NONLOCAL decls.
4927
4928 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
4929
4930         * expr.c: Follow spelling conventions.
4931         * final.c: Likewise.
4932         * optabs.c: Likewise.
4933         * sched-deps.c: Likewise.
4934         * sdbout.c: Likewise.
4935
4936 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
4937
4938         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
4939         re-computing of variable.
4940
4941 2003-10-11  Richard Henderson  <rth@redhat.com>
4942
4943         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
4944         return_in_memory, make static, change signature to match target hook.
4945         (alpha_setup_incoming_varargs): Make static, change signature to
4946         match target hook, add code for vms and unicos.
4947         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
4948         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
4949         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
4950         TARGET_STRICT_ARGUMENT_NAMING,
4951         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
4952         * config/alpha/alpha-protos.h: Update.
4953         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
4954         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
4955         SETUP_INCOMING_VARARGS): Remove.
4956         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
4957         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
4958
4959 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
4960
4961         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
4962
4963 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
4964
4965         * config/m68k/lb1sf68.asm: Follow spelling conventions.
4966         * config/m68k/m68k.c: Likewise.
4967         * config/m68k/m68k.h: Likewise.
4968         * config/m68k/m68k.md: Likewise.
4969
4970 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4971
4972         * builtins.c (expand_builtin_memcpy): Optimize case when the two
4973         pointer arguments are the equal, non-volatile and side-effect free.
4974         (expand_builtin_mempcpy): Likewise.
4975         (expand_builtin_memmove): Likewise.
4976         (expand_builtin_strcpy): Likewise.
4977         (expand_builtin_memcmp): Likewise.
4978         (expand_builtin_strcmp): Likewise.
4979         (expand_builtin_strncmp): Likewise.
4980
4981 2003-10-11  Roger Sayle  <roger@eyesopen.com>
4982
4983         * combine.c (apply_distributive_law): Enable "distributive" floating
4984         point optimizations with -funsafe-math-optimizations.
4985
4986 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
4987
4988         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
4989
4990 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
4991
4992         * config/m68k/m68k-protos.h: Remove the prototype for
4993         finalize_pic.
4994
4995 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
4996
4997         * config/m68k/m68k.c: Fix comment typos.
4998
4999 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5000
5001         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
5002         int to bool.
5003         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
5004         (current_frame): New global var.
5005         (m68k_compute_frame_layout): Cache computations in current_frame.
5006         (m68k_initial_elimination_offset): Use values from current_frame
5007         instead of recomputing them.
5008         (use_return_insn): Likewise.
5009         (m68k_output_function_prologue): Likewise.
5010         (m68k_output_function_epilogue): Likewise.
5011         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
5012         inside the block for __pic__.
5013
5014 2003-10-11  Peter Barada <peter@baradas.org>
5015             Bernardo Innocenti  <bernie@develer.com>
5016
5017         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
5018         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
5019         (m68k_interrupt_function_p): New function.
5020         (m68k_handle_fndecl_attribute): Ditto.
5021         (m68k_compute_frame_layout): Ditto.
5022         (m68k_attribute_table): Define back-end specific attributes.
5023         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
5024         functions.
5025
5026 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5027
5028         * config/m68k/t-uclinux: New target Makefile fragment.
5029         * config/m68k/uclinux.h: New target macro file.
5030         * config.gcc (m68k-*-uclinux): New target definition.
5031
5032 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5033
5034         * builtins.c (builtin_mathfn_code): Generalize to check whether
5035         the call is to any built-in function by comparing the call's
5036         argument list against the builtin decl's function type.
5037
5038 2003-10-10  Roger Sayle  <roger@eyesopen.com>
5039
5040         * cse.c (constant_pool_entries_regcost): New global variable to
5041         hold the register cost component of constant_pool_entries_cost.
5042         (fold_rtx): Calculate constant_pool_entries_regcost at the same
5043         time as constant_pool_entries_cost.
5044         (cse_insn): Set both src_folded_cost and src_folded_regcost from
5045         constant_pool_entries_cost and constant_pool_entries_regcost.
5046         (cse_main): Initialize constant_pool_entries_regcost to zero.
5047
5048         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
5049         the semantics of the sequence of bit operations used to negate
5050         a floating-point value.
5051         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
5052         the semantics of the bit operations used to abs a floating point
5053         value.
5054
5055 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
5056             Paul Dale  <pauli@snapgear.com>
5057
5058         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
5059         support.
5060         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
5061         -fpic, -fPIC, -msep-data and -mid-shared-library.
5062         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
5063         (override_options): Add -msep-data and -mshared-library-id support.
5064         (m68k_output_function_prologue): Generate code to load A5 for
5065         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
5066         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
5067         (m68k_output_pic_call): New function.
5068         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
5069         (TARGET_ID_SHARED_LIBRARY): Ditto.
5070         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
5071         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
5072         (call_value): Likewise.
5073
5074 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5075
5076         * gengenrtl.c (find_formats, genheader): Make i an unsigned
5077         int, remove cast of NUM_RTX_CODE.
5078         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
5079         entire file.  Remove the #ifs on GET_MODE_MASK etc and
5080         GET_MODE_WIDER_MODE etc.
5081
5082 2003-10-10  Eric Christopher  <echristo@redhat.com>
5083
5084         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
5085         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
5086         that set mode.
5087         * config/sh/sh.h (MODE_ENTRY): New macro.
5088         (MODE_EXIT): Ditto.
5089         (MODE_AFTER): Ditto.
5090         * config/sh/sh.md: Change for MODE_AFTER. Add
5091         fp_set attribute.
5092         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
5093
5094 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
5095
5096         * genmodes.c, mode-classes.def: New files.
5097         * machmode.def: Rewritten to genmodes.c interface.
5098         * Makefile.in (extra_modes_file): New substitution variable.
5099         (MACHMODE_H): No longer includes machmode.def or
5100         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
5101         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
5102         (OBJS-common): Add insn-modes.o.
5103         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
5104         genmodes$(build_exeext).
5105         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
5106         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
5107         (s-genrtl): Don't depend on $(RTL_BASE_H).
5108         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
5109         or $(RTL_BASE_H); just rtl.def.
5110         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
5111         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
5112         substitute definition of NUM_RTX_CODE.  Add casts to avoid
5113         warnings.
5114         * machmode.h: Include insn-modes.h, not machmode.def.  Include
5115         mode-classes.def to define enum mode_class.  Tweak definitions
5116         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
5117         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
5118         (inner_mode_array): Renamed mode_inner.
5119         (mode_base_align): New.
5120         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
5121         mode_unit_size, mode_wider_mode, mode_mask_array,
5122         inner_mode_array, class_narrowest_mode): Delete definitions.
5123         * stor-layout.c (get_mode_alignment): Use mode_base_align.
5124         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
5125         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
5126
5127         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
5128         No need to define BITS_PER_UNIT.
5129
5130 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5131
5132         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
5133         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
5134         (ia64_initialize_trampoline): If not using GAS, declare trampoline
5135         as global.
5136         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
5137         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
5138
5139         * stor-layout.c (compute_record_mode): Don't force BLKmode if
5140         field is zero-length BLKmode.
5141         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
5142         zero-size references.
5143
5144         * combine.c (distribute_links): Properly test for REG being set.
5145
5146         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
5147         gen_lowpart and company except for REG.
5148
5149 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5150
5151         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
5152
5153 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
5154
5155         * config.gcc (mips*-*-netbsd*): Remove content-free line.
5156
5157 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5158
5159         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
5160         gcov_position_t and gcov_type.
5161
5162 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
5163
5164         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
5165         * configure: Regenerate.
5166
5167 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5168
5169         * config/h8300/h8300.md (define_asm_attributes): Specify
5170         the length of an asm insn more precisely.
5171
5172 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5173
5174         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
5175
5176 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
5177
5178         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
5179         FP register number to 48 and MAC16 accumulator to 0x210.
5180
5181 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
5182
5183         * config.gcc: Remove redundant thread_file setting clauses for
5184         various *-*-linux* targets.
5185
5186 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
5187
5188         * config/h8300/h8300.md (define_asm_attributes): New.
5189
5190 2003-10-09  Roger Sayle  <roger@eyesopen.com>
5191
5192         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
5193         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
5194
5195 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
5196
5197         * haifa-sched.c (ok_for_early_schedule): New function.
5198         (early_queue_to_ready): New function.
5199         (schedule_block): Allow early removal of insns from Q.
5200         (schedule_insn): Update INSN_TICK in case of premature
5201         issue.
5202         * common.opt (sched_stalled_insns): New flag.
5203         (sched_stalled_insns_dep): New flag.
5204         * flags.h: Same above flags.
5205         * opts.c: Same as above.
5206         * toplev.c: Same as above.
5207         * target.h (targetm.sched.is_costly_dependence): New
5208         hook.
5209         * target-def.h: Same as above.
5210         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
5211         Support new flag -msched-costly-dep.
5212         (DEFAULT_SCHED_COSTLY_DEP): Define.
5213         * config/rs6000/rs6000.c:
5214         (rs6000_is_costly_dependence): New function.
5215         (is_load_insn, is_store_insn): New functions.
5216         (is_load_insn1, is_store_insn1, is_mem_ref): New
5217         functions.
5218         * doc/invoke.texi (-fsched-stalled-insns-dep)
5219         (-fsched-stalled-insns, -msched-costly-dep): Document
5220         options.
5221         * doc/tm.texi (is_costly_dependence): Define new
5222         scheduler target hook.
5223
5224 2003-10-09  Jason Merrill  <jason@redhat.com>
5225
5226         PR c++/6392
5227         * c-common.c (c_build_qualified_type): Look through arrays first.
5228         (c_apply_type_quals_to_decl): Look through arrays.
5229
5230         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
5231         types with constructors.
5232
5233         * coverage.c (build_ctr_info_value): Use build_decl to make a
5234         VAR_DECL.
5235         (create_coverage): Likewise.
5236
5237         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
5238         here.
5239         (expand_asm_operands): Not here.
5240         (parse_input_constraint): No longer static.
5241         * tree.h: Declare it.
5242
5243 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5244
5245         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
5246         libgcc_s.so.
5247         (SHLIB_INSTALL): Likewise.
5248
5249 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5250
5251         * doc/install.texi: Remove reference to removed 'pthreads' thread
5252         option.
5253
5254 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
5255
5256         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
5257         operand 2.
5258
5259 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5260
5261         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
5262         up related case statements.
5263         * configure.in: Don't accept --enable-threads=pthreads,
5264         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
5265         supported thread files in case clause.
5266         * configure: Regenerate.
5267
5268 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
5269
5270         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
5271         definition to above SPARC_STACK_BOUNDARY_HACK.
5272
5273 2003-10-08  Jason Merrill  <jason@redhat.com>
5274
5275         * c-pretty-print.c (pp_c_postfix_expression)
5276         <COMPOUND_LITERAL_EXPR>: Fix thinko.
5277
5278 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5279
5280         * mklibgcc.in: Don't hide undefined or typeless symbols.
5281
5282 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5283
5284         PR optimization/12142
5285         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
5286         uses of the register in the SET_SRC.  Remove unnecessary argument.
5287         * pa.c (legitimize_pic_address): Before reload, use a scratch register
5288         for the intermediate result in loading the address of a SYMBOL_REF.
5289         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
5290         which loads the SYMBOL_REF address.
5291
5292 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
5293             Eric Botcazou  <ebotcazou@libertysurf.fr>
5294
5295         PR bootstrap/12490
5296         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
5297         to define the size of the extern_C_braces array.  Set it to 200.
5298         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
5299
5300 2003-10-08  Carlo Wood  <carlo@alinoe.com>
5301
5302         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
5303         a space after the -o option.  flex 2.5.31 understands both, with
5304         and without the space. Removed that space.
5305
5306 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5307
5308         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5309         (compute_frame_size): Initialize it.  Remove the .cprestore slot
5310         from args_size.
5311         (mips_output_function_prologue): Simplify accordingly.
5312         (mips_debugger_offset): Change the mips16 frame pointer offset from
5313         current_function_outgoing_args to cfun->machine->frame.args_size.
5314         (mips_initial_elimination_offset): Likewise.
5315         (mips_expand_prologue): Likewise.
5316         (mips_expand_epilogue): Likewise.
5317
5318 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
5319
5320         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5321         (EXTRA_MEMORY_CONSTRAINT): Define.
5322         (CAN_ELIMINATE): Remove lwu workaround.
5323         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5324         Use a 'W' constraint for the source operand.
5325
5326 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
5327
5328         * genopinit.c (main): Output code to declare undefined
5329         variables.
5330
5331 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
5332
5333         * gengtype-lex.l: Remove -Wtraditional cruft.
5334         * Makefile.in (gengtype-lex.c): Likewise.
5335
5336 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5337
5338         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5339
5340 2003-10-07  Jason Merrill  <jason@redhat.com>
5341
5342         PR c++/12519
5343         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5344         it isn't a decl.
5345
5346 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
5347
5348         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5349         not overridden.
5350         Fixes PR bootstrap/12173.
5351
5352 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5353
5354         * errors.c: Don't include coretypes.h or tm.h.
5355         (trim_filename): Use IS_DIR_SEPARATOR.
5356         * Makefile.in: Update dependencies of errors.o and
5357         $(BUILD_PREFIX_1)errors.o.
5358
5359 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
5360
5361         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5362         account when aligning arguments.
5363         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5364         * defaults.h (STACK_POINTER_OFFSET): ... to here.
5365         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5366         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5367         (SPARC_STACK_BOUNDARY_HACK): Define.
5368         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5369         arrange for vector parameters to varargs functions to be passed
5370         in both memory and GPRs when appropriate.
5371         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5372         aligned.
5373
5374         * hooks.c (hook_bool_tree_true): New.
5375         (hook_rtx_tree_int_null): New.
5376         (hook_rtx_rtx_null): Use NULL, not 0.
5377         * hooks.h: Add 'extern' to everything.
5378         (hook_bool_tree_true): New.
5379         (hook_rtx_tree_int_null): New.
5380         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5381         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5382         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5383         prototype.
5384         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5385         (setup_incoming_varargs): Prototype.
5386         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5387         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5388         (TARGET_STRUCT_VALUE_RTX): Define.
5389         (TARGET_RETURN_IN_MEMORY): Define.
5390         (TARGET_SETUP_INCOMING_VARARGS): Define.
5391         (TARGET_STRICT_ARGUMENT_NAMING): Define.
5392         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5393         (init_cumulative_args): Use rs6000_return_in_memory.
5394         (setup_incoming_varargs): Make 'static'.
5395         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5396         (PROMOTE_FUNCTION_RETURN): Delete.
5397         (STRUCT_VALUE): Delete.
5398         (RETURN_IN_MEMORY): Delete.
5399         (SETUP_INCOMING_VARARGS): Delete.
5400
5401 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
5402
5403         * doc/invoke.texi (Warning Options): Simplify and clarify the
5404         descriptions of -Wnonnull and -Winit-self.
5405
5406 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5407
5408         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5409         indicees for floating-point conversersion libcalls.
5410
5411 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
5412
5413         * Makefile.in: Add more comments separating large conceptually
5414         separate sections.
5415
5416         * configure.in: Clean up thread file logic.
5417         * configure: Regenerate.
5418
5419 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
5420
5421         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5422         (switch_to_section): Handle in_readonly_data.
5423         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5424         readonly data.
5425
5426 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
5427
5428         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5429         it.
5430         (cbranchne_decr1): New Thumb pattern.
5431         * arm.c (arm_addimm_operand): New insn predicate.
5432         * arm-protos.h: Add a prototype for it.
5433         * arm.h (PREDICATE_CODES): Add it.
5434
5435 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
5436
5437         * sched-int.h (sched_info): New field
5438         sched_max_insns_priority.
5439         * sched-rgn.c (init_ready_list): Add invocations to
5440         targetm.sched.adjust_priority.
5441         (sched_max_insns_priority): Init new field.
5442         * sched-ebb.c (sched_max_insns_priority): Init new field.
5443         * haifa-sched.c (set_priorities): Set
5444         sched_info->sched_max_insns_priority.
5445         * config/rs6000/rs6000.h:
5446         (rs6000_sched_restricted_insns_priority_str): Support new
5447         flag -mprioritize-restricted-insns.
5448         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5449         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5450         function.
5451         (rs6000_adjust_priority): Change priority of restricted
5452         insns, using above new function and new flag.
5453         * doc/invoke.texi (-mprioritize-restricted-insns): Document
5454         new option.
5455
5456 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
5457
5458         * expr.c (cmpstr_optab, cmpmem_optab): New.
5459         * genopinit.c: Initialize them.
5460         * optabs.h: Declare them.
5461         * optabs.c (init_optabs): Clear them.
5462         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
5463         block memory compare insns, not conditional chains.  Restructure
5464         the fallback generation of a call to memcmp/bcmp for better
5465         readability.
5466
5467 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5468
5469         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5470         (mips_save_restore_fn): New typedef.
5471         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5472         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5473         (save_restore_insns): Remove, replacing with...
5474         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5475         (mips_save_reg, mips_restore_reg): New function.
5476         (mips_expand_prologue, mips_expand_epilogue): Rework.
5477         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5478         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5479         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5480
5481 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5482
5483         * config/mips/mips.c (mips_expand_prologue): Remove unused
5484         traversal of function arguments.
5485
5486 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
5487
5488         * doc/invoke.texi: Remove documentation of -mentry.
5489         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5490         (override_options, mips_save_reg_p): Remove handling.
5491         (compute_frame_size, mips_output_function_prologue): Likewise.
5492         (mips_expand_prologue, mips_expand_epilogue): Likewise.
5493         * config/mips/mips.h (mips_entry_string): Remove declaration.
5494         (TARGET_OPTIONS): Remove -mentry.
5495         * config/mips/mips16.S: Remove mention of -mentry.
5496
5497 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5498
5499         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5500         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5501         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5502         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5503         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5504         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5505         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5506         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5507         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5508         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5509         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5510         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5511         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5512         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5513         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5514         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5515         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5516         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5517         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5518         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5519         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5520         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5521         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5522         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5523         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5524         (fixunstfti_libfunc): Delete.
5525         * optabs.h (struct optab_handlers): Break out of struct optab.
5526         (struct convert_optab, convert_optab, enum convert_optab_index,
5527         convert_optab_table, sext_optab, zext_optab, trunc_optab,
5528         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5529         sfloat_optab, ufloat_optab): New.
5530         (set_conv_libfunc): Prototype.
5531         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5532         (trunc_optab): Renamed btrunc_optab.
5533         * builtins.c (expand_builtin_mathfn): Update to match.
5534         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5535         (convert_optab_table, new_convert_optab, init_convert_optab)
5536         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5537         (set_conv_libfunc): New.
5538         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5539         (expand_float, expand_fix): Use new conversion optabs,
5540         not old insn code tables or long chains of ifs.
5541         (init_optabs): No need to clear old insn code tables.
5542         Initialize the new optabs, not the old libfunc array entries.
5543         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5544         * genopinit.c: Initialize conversion optabs, not the
5545         former insn code tables.  Remove unnecessary casts.
5546         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5547         * expr.c (convert_move): Remove redundant check that
5548         to_real==from_real.  Use the conversion optabs instead
5549         of long chains of tests of modes.  Move partial-integer-mode
5550         interconversion above all integer conversion.  Do not recurse
5551         on a value forced into a register in the original mode.
5552
5553         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5554         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5555         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5556         in new conversion optabs; do not reference the old libfunc
5557         array entries.  No need to include libfuncs.h.
5558
5559 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5560
5561         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5562         point comparison sequence with a REG_EQUAL note that describes
5563         the comparison's semantics.
5564
5565 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5566
5567         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
5568         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
5569
5570 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5571             Zack Weinberg  <zack@codesourcery.com>
5572
5573         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
5574         instruction by using LCT_CONST and then calling emit_libcall_block
5575         ourselves.
5576
5577 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5578
5579         PR optimization/11974
5580         * optabs.c (expand_unop): Promote libcall outmode according to
5581         hard_libcall_value.
5582
5583 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
5584
5585         * real.h (REAL_MODE_FORMAT): New macro.
5586         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
5587         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
5588         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
5589         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
5590         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
5591         directly to real_format_for_mode array, wherever possible.
5592
5593 2003-10-06  Devang Patel  <dpatel@apple.com>
5594
5595         * dwarf2out.c (is_main_source): Remove variable.
5596         (dwarf2out_start_source_file): Do not check is_main_source.
5597         Do not reset is_main_source.
5598         (dwarf2out_init): Do not initialize is_main_source.
5599
5600 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5601
5602         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
5603         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
5604         introduced some multi-line prototypes.
5605         * fixinc/fixincl.x: Regenerate.
5606
5607 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5608
5609         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
5610         * config/mips/mips.c (stack_operand): New predicate.
5611         * config/mips/mips.md: Use it for the destination of mips16 insns
5612         that store $31.
5613
5614 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5615
5616         * config/mips/mips.md (*lowsi): Renamed from lowsi.
5617         (*lowdi): Likewise lowdi.
5618         (*lowsi_mips16, *lowdi_mips16): New patterns.
5619         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
5620         mips16 CONSTANT_RELOC handling.
5621         (mips_delegitimize_address): Adjust for new sdata representation.
5622
5623 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5624
5625         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
5626         skip any remaining register arguments.
5627
5628 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
5629
5630         * reload.c (find_reloads_subreg_address): Use correct offset for
5631         paradoxical MEM subregs on big-endian targets.
5632
5633 2003-10-06  Andrew Haley  <aph@redhat.com>
5634
5635         * tree.c (get_callee_fndecl): Call
5636         lang_hooks.lang_get_callee_fndecl.
5637         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
5638         (lhd_get_callee_fndecl): New.
5639
5640 2003-10-06  Andrew Pinski  <apinski@apple.com>
5641
5642         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5643         error in calculating the length of the string.
5644         (machopic_stub_name): Likewise.
5645
5646 2003-10-06  Roger Sayle  <roger@eyesopen.com>
5647
5648         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
5649         describing the return value of the comparison libcall to the
5650         REG_RETVAL instruction of the emitted sequence.
5651
5652 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5653
5654         PR optimization/12215
5655         * cse.c (cse_set_around_loop): Emit the move at the beginning
5656         of the next basic block for trapping sets.
5657
5658 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
5659
5660         PR optimization/11637
5661         * combine.c (adjust_for_new_dest): New function to adjust the
5662         notes and LOG_LINKS when the dest of an insn has changed.
5663         (try_combine): Use it when deleting the first insn of a two-insn
5664         parallel or splitting a two-load parallel.
5665
5666 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5667
5668         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
5669         if TARGET_EXPLICIT_RELOCS.
5670
5671 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
5672
5673         PR bootstrap/12512
5674         * Makefile.in (info): Use double-colon rules.
5675         (dvi): Likewise.
5676         (generated-manpages): Likewise.
5677         * configure.in: Do not create lang.info, lang.dvi, or
5678         lang.generated-manpages hooks.
5679         * configure: Regenerated.
5680         * objc/Make-lang.in (objc.info): Remove.
5681         (objc.dvi): Remove.
5682         (objc.generated-manpages): Remove.
5683         * doc/sourcebuild.texi: Update description of info, dvi, and
5684         generated-manpages hooks.
5685
5686 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
5687
5688         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
5689
5690 2003-10-05  Andrew Pinski  <apinski@apple.com>
5691
5692         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5693         errors in memcpy destinations.
5694         (machopic_stub_name): Likewise.
5695
5696 2003-10-05  Andrew Pinski <apinski@apple.com>
5697
5698         * config/darwin.c (machopic_non_lazy_ptr_name):
5699         Change strcat to memcpy and add length together.
5700         (machopic_stub_name): Likewise.
5701
5702 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
5703
5704         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
5705         signal trampoline codes.
5706
5707 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
5708
5709         * config/mips/mips.md (*divsf3): Move description of
5710         SB-1 F2 erratum from here to...
5711         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
5712         flag_unsafe_math_optimizations is not.
5713
5714 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
5715
5716         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
5717         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
5718
5719 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
5720
5721         * c-pretty-print.c: Fix comment typos.
5722         * c-pretty-print.h: Likewise.
5723         * calls.c: Likewise.
5724         * cfgloopmanip.c: Likewise.
5725         * cgraphunit.c: Likewise.
5726         * cppfiles.c: Likewise.
5727         * final.c: Likewise.
5728         * function.c: Likewise.
5729         * gcov-io.h: Likewise.
5730         * gcse.c: Likewise.
5731         * genoutput.c: Likewise.
5732         * loop.c: Likewise.
5733         * postreload.c: Likewise.
5734         * reg-stack.c: Likewise.
5735         * regmove.c: Likewise.
5736         * sched-int.h: Likewise.
5737         * sched-rgn.c: Likewise.
5738         * simplify-rtx.c: Likewise.
5739         * tree-inline.c: Likewise.
5740         * config/m68hc11/m68hc11.h: Likewise.
5741         * config/mmix/mmix.c: Likewise.
5742         * config/mn10300/mn10300.md: Likewise.
5743         * config/sh/sh.h: Likewise.
5744
5745 2003-10-05  Richard Henderson  <rth@redhat.com>
5746
5747         * tree-inline.c (remap_type): New.
5748         (remap_decl): Use it.  Remap DECL_SIZE*.
5749         (copy_body_r): Use it.
5750         (walk_tree): Walk TREE_TYPE too.
5751         (copy_tree_r): Don't walk subtrees of types.
5752         * tree.c (variably_modified_type_p): Restructure.  Consider integer
5753         types with non-const bounds variably modified.
5754
5755 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
5756
5757         * doc/invoke.texi: Fix typos.
5758
5759 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
5760
5761         * fold-const.c: Follow spelling conventions.
5762         * function.c: Likewise.
5763         * config/c4x/c4x.h: Likewise.
5764         * config/c4x/c4x.md: Likewise.
5765         * config/frv/frv.md: Likewise.
5766         * config/rs6000/aix.h: Likewise.
5767         * config/rs6000/linux64.h: Likewise.
5768         * config/xtensa/xtensa.c: Likewise.
5769
5770 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
5771
5772         * c-pretty-print.c: Fix comment formatting.
5773         * cfglayout.c: Likewise.
5774         * cfgloopanal.c: Likewise.
5775         * cppcharset.c: Likewise.
5776         * dbxout.c: Likewise.
5777         * ggc-page.c: Likewise.
5778         * ggc.h: Likewise.
5779         * target.h: Likewise.
5780
5781 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
5782
5783         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
5784
5785 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
5786
5787         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
5788         Convert to ISO C90 function declarations and definitions.
5789
5790 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
5791
5792         * libfuncs.h
5793         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
5794         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
5795         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
5796         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
5797         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
5798         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
5799         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
5800         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
5801         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
5802         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
5803         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
5804         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
5805         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
5806         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
5807         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
5808         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
5809         Delete.
5810         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
5811         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
5812         (le_optab, unord_optab): New.
5813
5814         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
5815         from the code_to_optab table, not a giant switch; use
5816         swap_condition; do widening only if a comparison function that
5817         we can call exists in a wider mode, not if a cmp_optab insn or
5818         libfunc exists in a wider mode; call protect_from_queue
5819         exactly once on each operand.
5820         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
5821
5822         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
5823         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
5824         Set floating point comparison libfuncs using set_optab_libfunc
5825         on the appropriate optab.
5826
5827         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
5828         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
5829         selector conditionals.
5830
5831 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
5832
5833         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
5834         identical to m68hc12 as far as libraries are concerned.
5835
5836 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5837
5838         PR c/12446
5839         * c-typeck.c (convert_for_assignment): Issue an error for
5840         array to pointer assignment after default conversion.
5841         (digest_init): Likewise.
5842
5843 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
5844
5845         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
5846
5847 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
5848
5849         * doc/extend.texi (Function Attributes): Fix title of GNU C
5850         Preprocessor manual.
5851         (C++ Extensions): Fix reference to "Predefined Macros" in the
5852         GNU C Preprocessor manual.
5853
5854 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
5855
5856         * doc/extend.texi: Document how GCC estimates and relies on the size
5857         of an asm.
5858
5859 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
5860
5861         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
5862         arguments downward for big-endian o64.
5863
5864 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
5865
5866         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
5867         PCH generation, avoiding too-frequent flushes when writing to NFS
5868         file system.
5869
5870 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
5871
5872         * objc/objc-act.c (lookup_category): Mark as 'inline'.
5873
5874 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
5875             Ziemowit Laski  <zlaski@apple.com>
5876
5877         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
5878         New functions.
5879         (lookup_method_in_hash_lists): New parameter indicating whether
5880         we are messaging 'Class' or 'id'.
5881         (check_duplicates): Likewise; do not assume all methods will
5882         be either class or instance methods.
5883         (generate_category, finish_class): Use lookup_category().
5884         (add_method): Use add_method_to_hash_list(); insert instance
5885         methods of root classes into the global class method hash table.
5886         (add_category): Use lookup_category(); avoid constructing
5887         duplicate categories.
5888         (really_start_method): Add method to corresponding @interface,
5889         if not already there (and if the @interface exists).
5890         (finish_message_expr, finish_objc): Adjust calls to
5891         check_duplicates().
5892
5893 2003-10-03  Roger Sayle  <roger@eyesopen.com>
5894
5895         PR optimization/9325, PR java/6391
5896         * fold-const.c (fold_convert): For floating point to integer
5897         conversions, return the maximum/minimum representable integer
5898         value if the real constant overflows the destination type.
5899         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
5900         meaning don't truncate the result to a floating point mode.
5901         Simplify the logic by calling real_from_integer directly.
5902         * simplify-rtx.c (simplify_unary_operation):  Implement the
5903         same semantics for folding floating point to integer conversions
5904         in RTL.
5905
5906 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
5907
5908         * config/mips/mips.c (mips_emit_prefetch): Restructure
5909         to avoid use of arrays, handle indexed prefetch.
5910         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
5911         (ISA_HAS_PREFETCHX): New deffine.
5912         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
5913         update comments.
5914         (prefetch_indexed_di, prefetch_indexed_si): New insns.
5915
5916 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
5917             Roger Sayle  <roger@eyesopen.com>
5918
5919         PR optimization/12289
5920         * calls.c (emit_call_1): Pretend to have popped the arguments
5921         to noreturn and longjmp functions instead of ignoring them.
5922         (expand_call): Don't adjust stack_pointer_dela while
5923         inhibit_defer_pop is set.
5924
5925 2003-10-03  Andreas Schwab  <schwab@suse.de>
5926
5927         PR bootstrap/12276
5928         * configure.in: Check for libunwind on the host only if building
5929         a native compiler.
5930         * configure: Regenerated.
5931
5932 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
5933
5934         * unwind-pe.h (read_encoded_value_with_base): Constify u and
5935         its inizialization cast.
5936
5937 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
5938
5939         PR target/12485
5940         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
5941
5942 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
5943
5944         PR optimization/12180
5945         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
5946         functions containing calls to __builtin_next_arg.
5947
5948 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
5949
5950         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
5951         in instructions being output.
5952         * config/mips/mips.md (prefetch_si_address): Change third
5953         operand's constraint letter to 'I'.
5954         (prefetch_di_address): Likewise.
5955         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
5956
5957 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
5958
5959         * system.h: Poison macros obsoleted by earlier patch.
5960         * config/cris/cris.c: C90-ify a function definition.
5961
5962 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
5963
5964         PR/12292
5965         * combine.c (make_field_assignment): Check whether rtx's code
5966         is CONST_INT before using INTVAL.
5967
5968 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
5969
5970         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
5971         htab_find_slot_with_hash.
5972         (cgraph_node_for_identifier): Use NO_INSERT.
5973         (cgraph_remove_node): Use NO_INSERT.
5974         (cgraph_varpool_node): Use INSERT.
5975         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
5976
5977 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
5978
5979         Waldek Hebisch <hebisch@math.uni.wroc.pl>
5980         PR/12072
5981         * varasm.c (compare_constant): Fix thinko.
5982
5983 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
5984
5985         * config/frv/frv.c (frv_issue_rate): New function.
5986         (frv_pack_insns): Use it.
5987         (TARGET_SCHED_ISSUE_RATE): Define.
5988
5989 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5990
5991         * config/mcore/mcore.c: Convert to ISO C90 function declarations
5992         and definitions.
5993         * config/mcore/mcore.h: Likewise.
5994         * config/mcore/mcore-protos.h: Likewise.
5995
5996 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
5997
5998         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
5999         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
6000
6001 2003-10-01  Per Bothner  <pbothner@apple.com>
6002
6003         * c-lex.c (src_line):   Remove unneeded static variable.
6004         (cb_line_change):  Set input_line directly, instead of src_line.
6005         (get_non_padding_token):  We no longer need to compensate for the
6006         "horrible things" the C++ front-end does with the current line number,
6007
6008         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
6009         callback even when popping the main file.
6010         * c-lex.c (fe_file_change):  Handle a NULL new_map.
6011         * fix-header.c (cb_file_change):  Likewise.
6012         * c-ppoutput.c (pp_file_change):  Likewise.
6013
6014         * cppinit.c (cpp_read_main_file):  Split into two functions:
6015         Distribute _cpp_stack_file call over the two functions.
6016         (cpp_find_main_file):  New function.
6017         Don't call _cpp_do_file_change even if working_directory flag set.
6018         (cpp_push_main_file):  New function.
6019         * cppfiles.c (_cpp_find_failed):  New helper function.
6020         (find_file):  Made non-static and renamed to _cpp_find_file.
6021         (_cpp_stack_file):  No longer needed.  But note the following.
6022         (stack_file):  Made non-static and renamed to _cpp_stack_file.
6023         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
6024         call with calls to cpp_find_main_file and cpp_push_main_file.
6025         (search_path_head):  If there is no current buffer, use main_file.
6026         * cpphash.h:  Update function declarations.
6027         * cpplib.h:  Update function declarations.
6028
6029         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
6030         (c_common_parse_file):  No longer need to call cpp_read_main_file
6031         when file_index > 0 (as in multi-file or server compiation).
6032         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
6033         as this now happens before cpp_push_main_file.
6034         (push_command_line_include):  When done with options, pass LC_LEAVE
6035         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
6036         (fe_file_change):  Handle NULL new_map, and simplify.
6037         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
6038         08-28 change, since we're never called with a NULL buffer.
6039         (_cpp_lex_direct):  Likewise.
6040         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6041         Return false if buffer is NULL at end.
6042
6043         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
6044         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
6045         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
6046         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
6047         remove the unused return_at_eof parameter.
6048         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
6049         Update callers of cpp_push_buffer.
6050
6051 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6052
6053         * target.h (init_libfuncs): New hook.
6054         * target-def.h: Default TARGET_INIT_BUILTINS and
6055         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
6056         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
6057         * builtins.c (default_init_builtins): Delete.
6058         * expr.h (default_init_builtins): Delete prototype.
6059         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
6060         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
6061         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
6062         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
6063         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
6064         and UMODDI3_LIBCALL,
6065
6066         * Makefile.in (optabs.o): Depends on target.h.
6067         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
6068         * optabs.c: Include target.h.
6069         (prepare_float_lib_cmp): No need for #ifdef around use of
6070         FLOAT_LIB_COMPARE_RETURNS_BOOL.
6071         (set_optab_libfunc): New function.
6072         (init_optabs): Delete use of all *_LIBCALL defines.
6073         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
6074         * optabs.h: Prototype set_optab_libfunc.
6075
6076         * config.gcc: Remove all references to pa/long_double.h,
6077         ia64/hpux_longdouble.h, and gofast.h.
6078         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
6079         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
6080
6081         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
6082         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
6083         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
6084         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
6085         * config/sparc/sparc.c, config/vax/vax.c:
6086         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
6087         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
6088
6089         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
6090         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
6091         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
6092         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
6093         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
6094         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
6095         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
6096         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
6097         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
6098
6099         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
6100         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6101         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
6102         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
6103         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
6104
6105         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
6106         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
6107         SUN_INTEGER_MULTIPLY_64 to 0.
6108         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
6109         SUN_INTEGER_MULTIPLY_64 to 1.
6110         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
6111         SUN_INTEGER_MULTIPLY_64 to 0.
6112         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
6113         Define US_SOFTWARE_GOFAST.
6114         * config/vax/vax.h: Default TARGET_ELF to 0.
6115         * config/vax/elf.h: Redefine TARGET_ELF to 1.
6116
6117         * config/gofast.h: Don't define any macros here.  Provide one
6118         static function, gofast_maybe_init_libfuncs, which does what
6119         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
6120         is already defined.  Do not clear negation libfuncs.  Do
6121         not mess with HFmode, XFmode, or TFmode libfuncs.
6122
6123         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
6124
6125 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
6126
6127         PR C/12466
6128         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
6129
6130 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6131
6132         * config/mips/xm-iris5.h: Remove, unnecessary.
6133         * config.build (mips-sgi-irix5*): Remove.
6134         (mips-sgi-irix6*o32): Likewise.
6135         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
6136         (mips-sgi-irix5cross64): Likewise.
6137         (mips-sgi-irix5*): Likewise.
6138         * config.host (mips-sgi-irix5*): Remove.
6139         (mips-sgi-irix6*o32): Likewise.
6140
6141 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
6142
6143         * dbxout.c (dbxout_fptype_value): Delete.
6144         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
6145
6146 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
6147
6148         * output.h (compute_reloc_for_constant): Declare.
6149         * varasm.c (compute_reloc_for_constant): Extract from...
6150         (output_addressed_constants): ... here.  Adjust all callers.
6151
6152 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6153
6154         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
6155         * configure: Rebuilt.
6156
6157 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6158
6159         * fold-const.c (make_range): When handling unsigned, don't reverse
6160         range if high bound is zero.
6161
6162 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
6163
6164         * config/frv/frv.h (PREDICATE_CODES): Added
6165         condexec_si_media_operator, condexec_sf_add_operator and
6166         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
6167         and condexec_sf_unary_operator.
6168
6169 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6170
6171         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
6172         * configure: Rebuilt.
6173
6174 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6175
6176         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
6177         Allow override.
6178         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
6179
6180 2003-09-23  David S. Miller  <davem@redhat.com>
6181
6182         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
6183         before redefining.
6184         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
6185
6186 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
6187
6188         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
6189         C90 function declarations and definitions.
6190
6191 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6192
6193         * config.gcc (cris-*-linux*): Revert mistaken commit.
6194
6195 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
6196
6197         PR optimization/11753
6198         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
6199         the length in the non-V9 case.
6200
6201 2003-09-30  Richard Henderson  <rth@redhat.com>
6202
6203         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
6204         DWARF_ALT_FRAME_RETURN_COLUMN.
6205         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
6206         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
6207         (uw_frame_state_for): Return end-of-stack for null return address.
6208         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
6209
6210         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
6211         (alpha_expand_prologue): Store a zero for it.
6212         (alpha_expand_epilogue): Don't reload it.
6213         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
6214         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
6215         for the sigframe return address.
6216
6217 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6218
6219         * sdbout.c: Convert to ISO C90 prototypes.
6220         * objc/objc-act.c: Likewise.
6221
6222 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
6223
6224         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
6225         * config/i386/winnt.c: Likewise.
6226         * config/i386/cygming.h: Likewise.
6227
6228 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
6229
6230         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6231         (A ^ B) - B for any B.
6232
6233 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6234
6235         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
6236         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
6237
6238 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
6239
6240         * arm/ieee754-sf.S: Tidy formatting.
6241
6242 2003-09-30  Nicolas Pitre  <nico@cam.org>
6243
6244         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6245         and ARM_MOD_BODY.
6246         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
6247         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6248         added better divisor alignment in the other case.
6249         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6250         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
6251         macros above, add fast exits for divisor >= dividend, etc.
6252
6253 2003-09-30  Nicolas Pitre  <nico@cam.org>
6254
6255         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
6256         L_fixdfsi target.
6257         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
6258
6259 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
6260
6261         * config.gcc: Default use_fixproto to 'no'.
6262
6263 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
6264
6265         PR optimization/12345
6266         * config/mips/mips-protos.h (mips_restore_gp): Remove.
6267         (mips_gp_save_slot): Declare.
6268         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
6269         (mips_gp_save_slot): ...this new function.
6270         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
6271         and mips_output_move to generate the output template.
6272         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
6273         a gp load after a noreturn call.  Load the gp using a move rather
6274         than an exception_receiver pattern.
6275         (call_value_internal, call_value_multiple_internal): Likewise.
6276         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
6277
6278 2003-09-30  Carlo Wood  <carlo@alinoe.com>
6279
6280         PR debug/12319
6281         * cfglayout.c (insn_scope):  Use prologue_locator and
6282         epilogue_locator; return the outer function scope for
6283         pro- and epilogue insns.
6284
6285 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6286
6287         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
6288         REAL_TYPEs based on the bitsize of the type's mode, not the
6289         mode directly.
6290
6291 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6292
6293         * dwarf2out.c (default_eh_frame_section): Split into ...
6294         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
6295         functions.
6296         * output.h (named_section_eh_frame_section): Declare.
6297         (collect2_eh_frame_section): Likewise.
6298
6299 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
6300
6301         * real.c (real_sqrt): Use get_canonical_qnan directly.
6302
6303         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
6304
6305         * varasm.c (assemble_real): Use real_to_target directly,
6306         calculate the number of significant elements of the result
6307         array and write them out in a loop, instead of using a giant
6308         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6309         macro.
6310
6311 2003-09-29  Jan Hubicka  <jh@suse.cz>
6312
6313         PR c++/12175
6314         * varasm.c (notice_global_symbol): Discard external symbols.
6315
6316         PR optimization/12286
6317         * gcov-io.c (gcov_read_words): Fix memmove call.
6318         * profile.c (compute_branch_probabilities): Add extra sanity checks.
6319
6320 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6321
6322         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6323         Solaris 7-9.
6324
6325         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6326         wildcards which explicitly match micro versions.
6327         * fixinc/fixincl.x: Regenerate.
6328
6329 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6330
6331         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6332         (A ^ B) - B, where B is any power of 2 minus 1.
6333
6334 2003-09-29  Jan Hubicka  <jh@suse.cz>
6335
6336         * libgcov.c (gcov_exit): Fix two pastos.
6337
6338 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6339
6340         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6341         define_split immediately below to form define_insn_and_split.
6342
6343 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
6344
6345         * config/h8300/h8300.md (*tstsi_variable_bit): New.
6346         (*tstsi_variable_bit_qi): Likewise.
6347
6348 2003-09-28  Phil Edwards  <phil@codesourcery.com>
6349
6350         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
6351         reference name.
6352
6353 2003-09-28  Richard Henderson  <rth@redhat.com>
6354
6355         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6356         file and line separately.
6357
6358 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
6359
6360         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6361         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6362         "*subdi3_borrow_cconly"): New insns.
6363         ("*addsi3_sub", "*subsi3_sub"): Remove.
6364         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6365         ("*subsi3_cc"): Fix op_type attribute.
6366
6367 2003-09-28  Richard Henderson  <rth@redhat.com>
6368
6369         * stmt.c (expand_asm_operands): Take a location_t, instead of
6370         individual file and line.
6371         * c-typeck.c (c_expand_asm_operands): Likewise.
6372         * tree.h (expand_asm_operands): Update decl.
6373         * c-common.h (c_expand_asm_operands): Likewise.
6374         * c-semantics (genrtl_asm_stmt): Update call.
6375
6376 2003-09-28  Philip Blundell  <philb@gnu.org>
6377
6378         * config/arm/arm.c (legitimize_pic_address): Check
6379         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6380         (arm_assemble_integer): Likewise.
6381
6382 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6383
6384         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6385         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6386         config/c4x/c4x.h:
6387         Convert to ISO C90 function declarations and definitions.
6388
6389 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
6390
6391         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6392         Convert to ISO C90 function declarations and definitions.
6393
6394 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6395
6396         * config/mips/mips.c (mips_constant_info): Add reloc field.
6397         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
6398         underlying symbol, not to an unspec.
6399         (mips_delegitimize_address, print_operand): Clean up accordingly.
6400
6401 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
6402
6403         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6404         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6405         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6406         (mips_classify_constant): Use it.
6407         (mips_splittable_symbol_p): Add an offset argument.
6408         (mips_classify_address): Adjust call accordingly.
6409         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6410         than a relocation unspec.  Update call to mips_splittable_symbol_p.
6411         Generalize the code that copes with symbols + invalid offsets.
6412         (print_operand): Allow '%R' to be applied to small data addresses.
6413         (mips_reloc_string): Remove RELOC_GPREL16.
6414         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
6415         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
6416         relocation operators.
6417         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
6418         constants accordingly.
6419
6420 2003-09-27  Roger Sayle  <roger@eyesopen.com>
6421
6422         * toplev.c (flag_evaluation_order): New global variable.
6423         * flags.h (flag_evaluation_order): Prototype here.
6424         * expr.c (expand_operands): If we need to preserve observable
6425         evaluation order, protect exp1 from clobbering exp0's result.
6426
6427 2003-09-28  Andreas Jaeger  <aj@suse.de>
6428
6429         * c-decl.c (finish_function): Convert definition to ISO C90.
6430         * ifcvt.c (mark_loop_exit_edges): Likewise.
6431         * ra-rewrite.c (emit_colors): Likewise.
6432
6433 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
6434
6435         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6436         * config.gcc (arm*-*-uclinux*): Disable fixproto.
6437         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6438         powerpc-*-eabialtivec*): Disable fixproto.
6439
6440 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6441
6442         PR optimization/12340
6443         * loop.h (struct induction): Document the new semantics
6444         of the 'same' field for bivs.
6445         * unroll.c (biv_total_increment): Don't count the same
6446         biv increment several times.
6447         (loop_iterations) [GENERAL_INDUCT]: Likewise.
6448
6449 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
6450
6451         * unroll.c (loop_interations)[GT]: Add missing break.
6452
6453 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
6454
6455         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6456         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6457         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6458         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6459         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6460         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6461         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6462         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6463         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6464         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6465         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6466         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6467         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6468         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6469         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6470         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6471         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6472         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6473         config/alpha/xm-vms.h, config/arc/arc-modes.def,
6474         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6475         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6476         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6477         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6478         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6479         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6480         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6481         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6482         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6483         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6484         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6485         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6486         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6487         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6488         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6489         config/i960/i960-c.c, config/i960/i960-coff.h,
6490         config/i960/i960-modes.def, config/i960/i960-protos.h,
6491         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6492         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6493         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6494         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6495         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6496         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6497         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6498         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6499         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6500         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6501         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6502         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6503         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6504         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6505         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6506         config/mcore/mcore-protos.h, config/mcore/mcore.c,
6507         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6508         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6509         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6510         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6511         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6512         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6513         config/mips/vr.h, config/mn10300/linux.h,
6514         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6515         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6516         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6517         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6518         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6519         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6520         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6521         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6522         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6523         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6524         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6525         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6526         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6527         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6528         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6529         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6530         fixinc/fixinc.svr4: GNU CC -> GCC.
6531
6532 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6533
6534         * objc/objc-act.c (tm_p.h): Tweak order.
6535         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6536
6537 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6538
6539         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6540         Include t-slibgcc-elf-ver and t-linux in tmake_file.
6541         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6542         Disable fixproto.
6543         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6544         Disable fixproto.
6545         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6546         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6547
6548         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6549
6550 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
6551
6552         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6553         * objc/objc-act.c (tm_p.h): Include.
6554
6555 2003-09-26  Per Bothner  <pbothner@apple.com>
6556
6557         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
6558         No longer any need to reverse by recursion.
6559
6560 2003-09-26  Roger Sayle  <roger@eyesopen.com>
6561             Richard Henderson  <rth@redhat.com>
6562
6563         PR optimization/11741
6564         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
6565         appropriate set to match that in hash_scan_insn.  Fall back to
6566         the original copy method, if we can't validate changing insn.
6567         (pre_delete): Only delete instructions that have a single_set,
6568         instead of aborting when we encounter an PARALLEL insn with more
6569         then one SET.
6570
6571 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
6572
6573         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
6574         ("builtin_longjmp"): Insn deleted.
6575         ("save_stack_nonlocal"): Save literal pool base pointer behind
6576         backchain and stack pointer.
6577         ("restore_stack_nonlocal"): Restore literal pool base pointer.
6578         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
6579         the stack save area for the nonlocal goto case.
6580
6581 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6582
6583         PR bootstrap/12358
6584         * pa.c (output_bvb): Fix typo.
6585
6586 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6587
6588         * expmed.c (store_bit_field): Don't search for an integer mode
6589         unless we need the result.
6590
6591 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6592
6593         * expr.c (emit_move_insn_1): If there is no move pattern for the
6594         original mode, try using a pattern for the corresponding integer mode.
6595
6596 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
6597
6598         PR middle-end/9200
6599         * combine.c (if_then_else_cond): Tighten mode check.
6600
6601 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6602
6603         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
6604         'struct _cpp_strbuf'.
6605
6606         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
6607         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
6608         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
6609         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
6610         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
6611         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
6612         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
6613         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
6614         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
6615         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
6616         * config/i386/i386-aout.h, config/i386/i386-coff.h,
6617         config/i386/i386-interix.h, config/i386/i386-interix3.h,
6618         config/i386/i386-modes.def, config/i386/i386-protos.h,
6619         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
6620         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
6621         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
6622         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
6623         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
6624         "GNU compiler" -> GCC.
6625         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
6626         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
6627         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
6628         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
6629         config/i386/freebsd-aout.h, config/i386/freebsd.h,
6630         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
6631
6632 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
6633
6634         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
6635         "local" to the callgraph dump.  Output "after inlining" earlier.
6636         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
6637         callgraph dumps.  Correct misspellings.
6638         (cgraph_decide_inlining):  Output number of insns before inlining.
6639         Output the calling function into which a function is inlined.
6640         (cgraph_decide_small_functions): Format dump file like always_inline.
6641
6642 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
6643
6644         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
6645
6646 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
6647
6648         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
6649         FPR slots in the save area.
6650         (s390_emit_epilogue): Likewise.
6651
6652 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
6653
6654         * cgraph.h (cgraph_remove_edge): Declare.
6655         * cgraph.c (cgraph_remove_edge): Make extern.
6656         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
6657         instead of cgraph_remove_call.
6658
6659 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
6660
6661         * objc/objc-act.c (gen_declaration_1): Fix printf format.
6662
6663 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
6664
6665         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
6666         arm7tdmi core.
6667
6668 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6669
6670         * config/darwin-protos.h (objc_image_info_section):
6671         New prototype.
6672
6673 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6674
6675         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
6676
6677 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6678
6679         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
6680         tsc701 as a --with-cpu, --with-tune setting for sparc.
6681
6682 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
6683
6684         * c-parse.in (objc_try_stmt): Do not specify a %type.
6685
6686 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6687
6688         * config.gcc: New 'widely ported system' clause for rtems.
6689         Set thread file there, not in individual clauses.
6690
6691 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
6692
6693         PR target/6222
6694         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
6695         passed on the stack.
6696
6697 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
6698
6699         * config.gcc (widely ported systems section): Mostly alphabetize
6700         by system.  Comment the case where we can't.
6701         * config.gcc (widely ported systems section): Reindent and clean up.
6702
6703         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
6704         Actually allow ep9312 as an arm --with-arch setting.
6705
6706         * config.gcc (*-hpux11): Disable fixproto.
6707
6708 2003-09-24  Phil Edwards  <phil@codesourcery.com>
6709
6710         PR pch/12112
6711         * gcc/cppfiles.c (pch_open_file): Return based on combined
6712         result of all files.
6713         (validate_pch): Return validate flag for current file.
6714
6715 2003-09-24  Roger Sayle  <roger@eyesopen.com>
6716
6717         PR bootstrap/12358
6718         * fold-const.c (tree_swap_operands_p): Only reorder operands when
6719         one of the operands is constant.
6720
6721 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
6722
6723         MERGE OF objc-improvements-branch into MAINLINE:
6724         * Makefile.in (C_OBJS): Add in stub-objc.o.
6725         (c-parse.y): Change sed demarcations to begin with '@@'.
6726         (stub-objc.o): New rule.
6727         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
6728         flag_replace_objc_classes): New flags.
6729         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
6730         RID_AT_SYNCHRONIZED): New keywords.
6731         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
6732         flag_replace_objc_classes): New flags.
6733         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
6734         objc_comptypes, objc_message_selector, lookup_objc_ivar,
6735         get_current_scope, objc_mark_locals_volatile): New prototypes,
6736         some moved from c-tree.h.
6737         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
6738         (finish_decl): Adjust where objc_check_decl() gets called.
6739         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
6740         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
6741         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
6742         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
6743         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
6744         '@@end_ifc', respectively.
6745         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
6746         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
6747         objc_finally_block): New rules.
6748         (component_decl_list2): Clean up semantic action for @defs construct.
6749         (component_decl, c99_block_start): Remove call to add_objc_decls().
6750         (poplevel): Add call to objc_clear_super_receiver().
6751         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
6752         constructs.
6753         (classdef, methodprotolist): Clean up/simplify.
6754         (methodprotolist2): Eliminate.
6755         (methodproto): Call add_method() instead of add_class_method() and
6756         add_instance_method().
6757         (receiver): Add TYPENAME production.
6758         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
6759         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
6760         AT_SYNCHRONIZED.
6761         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
6762         objc_comptypes, objc_message_selector)
6763         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
6764         struct and pointer types.
6765         (build_c_cast): Do not discard ObjC protocol qualifiers.
6766         (convert_for_assignment): Cache result of comp_target_types() instead
6767         of calling it more than once.
6768         * c.opt (fnext-runtime): Update description string.
6769         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
6770         New ObjC/ObjC++-specific flags.
6771         * function.h (GCC_FUNCTION_H): Header guard.
6772         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
6773         * stub-objc.c: New file, to be used to satisfy references to ObjC
6774         functions by the C and C++ front-ends.
6775         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
6776         * config/darwin.h (FUNCTION): Add in_objc_image_info.
6777         (SECTION_FUNCTION): Add objc_image_info_section.
6778         * doc/invoke.texi: Link to GCC web site for Objective-C information.
6779         (-fconstant-string-class): Update documentation.
6780         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
6781         -fzero-link): New documentation.
6782         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
6783         with '@@'.
6784         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
6785         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
6786         throughout; provide casts for return values from memory allocation
6787         functions (xmalloc, alloca, ggc_alloc, etc.).
6788         (OBJC_VOID_AT_END): New macro.
6789         (rtl.h): Do not #include any more.
6790         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
6791         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
6792         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
6793         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
6794         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
6795         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
6796         val_stack_pop): New.
6797         (objc_check_decl): Fix precondition for error message, along with
6798         the message itself.
6799         (lookup_and_install_protocols): Remove nonexistent protocols from
6800         protocol list instead of returning error_mark_node.
6801         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
6802         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
6803         (synth_module_prologue): General clean-up; construct NeXT-specific
6804         runtime API prototypes if needed.
6805         (build_string_class_template): Remove.
6806         (check_string_class_template, string_layout_checked): New.
6807         (build_objc_string_object): Generalize to work with
6808         -fconstant-string-class.
6809         (build_objc_symtab_template): Fix layout for the NeXT runtime.
6810         (build_metadata_decl): New.
6811         (forward_declare_categories): Call build_metadata_decl() instead of
6812         create_builtin_decl() et al.
6813         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
6814         void_list_node_1.
6815         (build_selector_reference_decl, build_class_reference_decl,
6816         build_objc_string_decl): Do not set TREE_READONLY.
6817         (get_proto_encoding): Do not call hack_method_prototype().
6818         (get_class_reference): Add failure mode for invalid class names;
6819         support -fzero-link; defer if in an ObjC++ template declaration.
6820         (objc_declare_alias, objc_declare_class): Fix up duplicate name
6821         lookup; check for global scope if in ObjC++.
6822         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
6823         RECORD_TYPE, IDENTIFIER_NODE, etc.)
6824         (objc_is_id): Removed.
6825         (objc_is_object_ptr): New function.
6826         (get_class_ivars_from_name): New function, used for @defs construct.
6827         (get_class_ivars): Add option to return raw ivars; create a
6828         ClASS_OWN_IVARS list for each class as needed.
6829         (objc_enter_block, objc_exit_block, objc_declare_variable,
6830         objc_build_throw_stmt, val_stack_push, val_stack_pop,
6831         objc_build_try_enter_fragment, objc_build_extract_expr,
6832         objc_build_try_exit_fragment, objc_build_extract_fragment,
6833         objc_build_try_prologue, objc_build_try_epilogue,
6834         objc_build_catch_stmt, objc_build_catch_epilogue,
6835         objc_build_finally_prologue, objc_build_finally_epilogue,
6836         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
6837         objc_build_synchronized_epilogue, build_objc_exception_stuff):
6838         New functions.
6839         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
6840         the future).
6841         (build_private_template): Fix up calls to get_class_ivars().
6842         (offset_is_register, forwarding_offset): Remove.
6843         (objc_method_parm_type, objc_encoded_type_size): New functions.
6844         (encode_method_prototype): Simplify to no longer depend on
6845         back-end information.
6846         (build_tmp_function_decl_xxx, build_tmp_function_decl,
6847         hack_method_prototype): Removed.
6848         (generate_protocol_references): Remove calls to
6849         build_tmp_function_decl().
6850         (generate_protocols): Adjust calls to encode_method_prototype().
6851         (build_class_template): Generate sel_id' and 'gc_object_type' fields
6852         for the NeXT runtime.
6853         (synth_forward_declarations): Call build_metadata_decl().
6854         (check_ivars): Check that the number of ivars matches also.
6855         (build_super_template): Modify super_type directly; disable debugging
6856         output while generating decl.
6857         (build_ivar_list_initializer): Skip list elements that are not
6858         FIELD_DECLs.
6859         (ivar_list_length): New function.
6860         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
6861         and encode_method_prototype() instead of encode_method_def().
6862         (build_shared_structure_initializer): Generate 'sel_id' field for
6863         the NeXT runtime.
6864         (generate_category): Do not set TREE_USED.
6865         (build_keyword_selector): Ditto; transform into a function argument
6866         chain.
6867         (get_arg_type_list): If there are no user-specified arguments, use
6868         '...'; use OBJC_VOID_AT_END.
6869         (check_duplicates): Add a parameter indicating whether methods or
6870         selectors are being checked.
6871         (receiver_is_class_object): Add parameters indicating whether
6872         receiver is 'self' or 'super'; robustify.
6873         (build_message_expr): Defer call to finish_message_expr() if
6874         inside an ObjC++ template.
6875         (lookup_method_in_hash_lists): New function.
6876         (finish_message_expr): Complete rewrite/fix.
6877         (build_objc_method_call): Ditto; factor out commonalities between
6878         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
6879         messenger variants on the NeXT.
6880         (lookup_instance_method_static, lookup_class_method_static):
6881         Fold into a single lookup_method_static() function with an
6882         additional parameter.
6883         (add_class_method, add_instance_method): Fold into a single
6884         add_method() function with an additional parameter.
6885         (add_category): Make duplicate categories a hard error in ObjC++.
6886         (add_instance_variable): Properly handle unnamed ivars, arrays of
6887         zero or no size and bitfields.  In ObjC++, check for nontrivial
6888         C++ class instances.
6889         (is_public): Allow C functions to access non-@public ivars, with
6890         a warning.
6891         (start_class): Move common initializations to
6892         synth_module_prologue(); check for global scope if in ObjC++.
6893         (continue_class): Fix calls to finish_struct().
6894         (objc_declare_protocols, start_protocol): Check for global scope
6895         if in ObjC++.
6896         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
6897         (encode_aggregate_within): Rewrite to properly distinguish
6898         struct tags from typedefs in both ObjC and ObjC++.
6899         (encode_bitfield, encode_complete_bitfield): Remove.
6900         (encode_next_bitfield, encode_gnu_bitfield): New functions.
6901         (encode_field_decl): Call encode_next_bitfield() or
6902         encode_gnu_bitfield() as needed.
6903         (synth_self_and_ucmd_args): New function.
6904         (start_method_def): Use it.
6905         (objc_types_are_equivalent): New function.
6906         (comp_proto_with_proto): Use it instead of comptypes(), since
6907         we need symmetry.
6908         (really_start_method): Use lookup_method_static() instead of
6909         lookup_class_method_static() and lookup_instance_method_static();
6910         Emit 'extern "C"' if in ObjC++ mode.
6911         (add_objc_decls): Removed.
6912         (UOBJC_SUPER_scope): New variable.
6913         (get_super_receiver): Move construction of 'super' from
6914         add_objc_decls(); remove dependency on struct objc_class.
6915         (encode_method_def): Removed; encode_method_prototype() is
6916         used instead.
6917         (objc_clear_super_receiver): New function.
6918         (objc_expand_function_end): Do not do anything for ordinary
6919         C functions.
6920         (finish_method_def): Mark ObjC methods as un-inlinable.
6921         (gen_declaration_1): Emit widths of bitfields.
6922         (finish_objc): Call generate_objc_image_info() if needed;
6923         use check_duplicates() when checking for selector duplicates.
6924         (generate_objc_image_info): New function.
6925         * objc/objc-act.h (add_instance_method, add_class_method,
6926         get_class_ivars): Remove prototypes.
6927         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
6928         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
6929         objc_build_catch_stmt, objc_build_catch_epilogue,
6930         objc_build_finally_prologue, objc_build_finally_epilogue,
6931         add_method, get_class_ivars_from_name): New prototypes.
6932         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
6933         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
6934         TRANSLATION_UNIT_DECLs.
6935         (OBJC_TYPE_NAME): New.
6936         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
6937         got included.
6938         (IS_SUPER): Robustify.
6939         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
6940         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
6941         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
6942         objc_exception_match_decl, objc_exception_throw_decl,
6943         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
6944         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
6945         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
6946         objc_catch_type): New ObjC/ObjC++ roots.
6947         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
6948         ObjC/ObjC++ tree node codes.
6949
6950 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
6951
6952         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
6953         code path that calls a handler.
6954
6955 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
6956
6957         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
6958         Disable fixproto.
6959
6960         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
6961         the section giving $with_cpu defaults by target.
6962
6963         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
6964         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
6965         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
6966         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
6967         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
6968         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
6969
6970 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
6971
6972         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
6973         together.  Protect load string instruction with TARGET_STRING.
6974         (movti_string): Collapse case 1 and 2 together.
6975
6976 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
6977
6978         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
6979
6980 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
6981
6982         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
6983         do...while(0)
6984
6985 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
6986
6987         * config.gcc: Move use_fixproto=no from generic vxworks clause to
6988         specific one.
6989
6990         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
6991         (accidentally missed in last pass).
6992
6993 2003-09-23  Andrew Pinski  <apinski@apple.com>
6994
6995         PR bootstrap/12383
6996         * configure: Regenerate.
6997
6998 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
6999
7000         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
7001         missed in last pass).
7002
7003 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
7004
7005         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
7006         constant.
7007
7008 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7009
7010         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
7011
7012         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
7013         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
7014         powerpcle-*-eabi*): Disable fixproto.
7015
7016         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
7017         specific FreeBSD clauses.
7018         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
7019         specific NetBSD clauses.
7020         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
7021         to specific OpenBSD clauses.
7022
7023 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7024
7025         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
7026         without adding a frame note.
7027         * pa.md (allocate_stack): Save pic register in new frame marker when
7028         generating pic code.
7029
7030 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
7031
7032         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
7033         cgraph_expand_functions.
7034
7035 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7036
7037         * Makefile.in (gnucompare*): Merge into ...
7038         (slowcompare*): ... here.
7039         (fastcompare*): New targets.
7040         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
7041         other "fast" cmp programs.
7042         * configure: Regenerate.
7043
7044 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7045
7046         * targhooks.c: Include output.h.
7047         * Makefile.in (targhooks.o): Add output.h to dependency list.
7048
7049 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7050
7051         * config.host: Removed superfluous newline.
7052
7053 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7054
7055         * config.gcc: Use ${target}, not $machine.
7056         * configure.in: Don't set $machine.
7057         * configure: Regenerate.
7058
7059 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
7060
7061         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
7062
7063         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
7064         pass zero-size arrays by reference.
7065         (rs6000_va_arg): Likewise.
7066
7067 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
7068
7069         * config.gcc: Set use_fixproto=no in each specific *-gnu*
7070         configuration, rather than the generic one.
7071
7072 2003-09-23  Richard Henderson  <rth@redhat.com>
7073
7074         * tree-inline.c (remap_save_expr): Map new save_expr to identity
7075         rather than to error_mark_node.
7076
7077 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7078
7079         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
7080         Update description.
7081         * configure: Regenerate.
7082         * config.in: Likewise.
7083         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
7084         HAVE_GAS_SHF_MERGE value.
7085         * varasm.c (mergeable_string_section): Likewise.
7086         (mergeable_constant_section): Likewise.
7087
7088 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7089
7090         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
7091         value.
7092
7093 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7094
7095         * target.h (struct gcc_target): New member external_libcall.
7096         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
7097         (TARGET_ASM_OUT): Use it.
7098         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
7099         * targhooks.c: Convert to ISO C 90.
7100         (default_external_libcall): New function.
7101         * targhooks.h (default_external_libcall): Declare.
7102         * varasm.c (assemble_external_libcall): Use
7103         targetm.asm_out.external_libcall instead of
7104         ASM_OUTPUT_EXTERNAL_LIBCALL.
7105         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
7106         (mips_output_external_libcall): Declare.
7107         * config/mips/mips.c (mips_output_external_libcall): Change
7108         definition guard.
7109         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
7110         Only operate for O32 ABI.
7111         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
7112         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
7113         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
7114         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
7115
7116 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
7117
7118         * config.gcc: Do per-target disabling of fixproto here in clauses,
7119         not in t- fragments.
7120         * configure.in: Adjust to set STMP_FIXPROTO correctly.
7121         * configure: Regenerate.
7122         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
7123         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
7124         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
7125         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
7126         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
7127         t-interix, t-linux-aout:  Delete files consisting only of
7128         setting of STMP_FIXPROTO.
7129
7130         * config.host: Allow unknown hosts (not targets).  Allow
7131         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
7132         empty clauses.  Remove useless obsolete-configuration clause.
7133         Prune unsupported configuration list.  Collapse identical
7134         clauses for closely related systems.  Rewrite comment for
7135         unsupported hosts list.  Reorganize a little.
7136
7137 2003-09-22  Richard Henderson  <rth@redhat.com>
7138
7139         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
7140         not precision.
7141
7142 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
7143             Hartmut Penner  <hpenner@de.ibm.com>
7144             Segher Boessenkool  <boessen@de.ibm.com>
7145
7146         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
7147         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
7148         (rs6000_split_altivec_in_gprs): Rename to ...
7149         (rs6000_split_multireg_move): Add support for update addressing.
7150         * config/rs6000/rs6000-protos.h: Same.
7151         * config/rs6000/altivec.md: Same.
7152         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
7153         multiple GPRs.
7154         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
7155         (movti_power): Use new splitter for multiple GPRs.
7156         (movti_string): Same.
7157         (movti_ppc64): Same.
7158
7159 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
7160
7161         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
7162         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
7163
7164 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
7165
7166         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
7167         (andsi3): Set attr cc to set_zn when using shifts or adds.
7168
7169 2003-09-22  Bernardo Innocenti <bernie@develer.com>
7170
7171         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
7172
7173 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
7174
7175         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
7176         Resurrect -mrtd option.
7177
7178 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
7179
7180         PR target/12281
7181         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
7182         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
7183
7184 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
7185
7186         PR target/9786
7187         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
7188         after potential deletion of trapping insn. Avoids later ICE
7189         from call to fixup_abnormal_edges.
7190         (convert_regs_2): Stack the current block successors before
7191         processing this block, that is, before the potential deletion of
7192         dead edges by convert_regs_1, because these edges have been used
7193         to initialize the predecessors count.
7194
7195 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
7196
7197         * real.c: Fix several nits in the head comment.
7198
7199 2003-09-21  Richard Henderson  <rth@redhat.com>
7200
7201         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7202         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7203         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7204         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7205         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
7206
7207 2003-09-21  Richard Henderson  <rth@redhat.com>
7208
7209         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
7210         (TREE_FILENAME, TREE_LINENO): Likewise.
7211         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
7212         (TREE_LOCUS_SET_P): New.
7213         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7214         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
7215         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
7216         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
7217         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
7218
7219 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
7220
7221         * config/vax/vax-protos.h: Convert to ISO C90.
7222         * config/vax/vax.c: Convert to ISO C90.
7223
7224 2003-09-21  Graham Stott  <grahams@btinternet.com>
7225
7226        PR target/12353
7227        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
7228
7229 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
7230
7231         PR target/12301
7232         * reorg.c (stop_search_p): Return 1 for insns that can
7233         throw internally.
7234
7235 2003-09-20  Richard Henderson  <rth@redhat.com>
7236
7237         * c-format.c (gcc_diag_char_table): Add %J.
7238         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
7239         (check_format_types): Fix wanted_type name lookup.
7240         (init_dynamic_diag_info): Setup %J.
7241         * diagnostic.c (text_specifies_location): Implement %J.
7242         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
7243         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
7244         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
7245         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
7246         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
7247
7248         * tree-inline.c: Include intl.h
7249         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
7250         * Makefile.in (tree-inline.o): Update.
7251
7252 2003-09-20  Roger Sayle  <roger@eyesopen.com>
7253
7254         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
7255         transformation of a>=0 into (unsigned)a<0x80000000.
7256
7257 2003-09-20  Andrew Pinski <apinski@apple.com>
7258
7259         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
7260
7261 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
7262
7263         * Makefile.in: Don't set (unused) DLLTOOL.
7264
7265         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
7266         Remove obsolete references to ENQUIRE.
7267
7268 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7269
7270         * configure.in: Remove --with-elf, which doesn't work.
7271         * configure: Regenerate.
7272         * config.gcc: Remove references to $elf, which does nothing.
7273
7274         * config/i386/xm-vsta.h: Remove xm-file believed useless.
7275         * config.build (i386-vsta): Remove reference to it.
7276         * config.host (i386-vsta): Remove reference to it.
7277
7278 2003-09-19  Phil Edwards  <phil@codesourcery.com>
7279
7280         * doc/install.texi:  Document the multiple testsuite options.
7281
7282 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
7283
7284         * doc/install.texi (Specific): Add the specific versions of GCC
7285         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
7286         version 3 and older was discontinued.
7287
7288 2003-09-19      Joel Sherrill <joel@oarcorp.com>
7289
7290         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
7291         68881.
7292
7293 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
7294
7295         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
7296         for -m68030, -m68020-60 and -m68020-40.
7297         * config/m68k/m68k.h (TARGET_68030): New target flag.
7298         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
7299         TARGET_REGPARM): Remove.
7300         * config/m68k/m68k.h: Regroup and renumber target flags.
7301         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
7302         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
7303         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
7304         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
7305         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
7306
7307 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7308
7309         * config/m68k/t-rtems (m68k-*-rtems*): New.
7310         * config.gcc: Use config/m68k/t-rtems.
7311
7312 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7313
7314         * config/mips/t-rtems: New.
7315         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7316
7317 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
7318
7319         * cgraph.c: Fix typo in debugging output.
7320
7321 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7322             Eric Botcazou <ebotcazou@libertysurf.fr>
7323
7324         PR target/12166
7325         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7326
7327 2003-09-18  Mike Stump  <mrs@apple.com>
7328
7329         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
7330         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7331         cb_ident, cb_def_pragma):  Use fileline typedef.
7332         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
7333
7334 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
7335
7336         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7337         total parm size if a parm has incomplete type.
7338         (gen_fastcall_suffix): Likewise.
7339
7340 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7341
7342         * except.c (output_function_exception_table): Adjust last change
7343         to handle TYPE of INTEGER_CST.
7344
7345 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
7346
7347         PR target/11184
7348         * builtins.c (expand_builtin_apply): Use convert_memory_address
7349         before returning the value.
7350
7351         * alias.c (find_base_value): Simplify use of
7352         convert_memory_address.
7353         (find_base_term): Likewise.
7354         * builtins.c (expand_builtin_stejmp_setup): Likewise.
7355         (expand_builtin_longjmp): Likewise.
7356         (expand_builtin_prefetch): Likewise.
7357         (get_memory_rtx): Likewise.
7358         (expand_builtin_return): Likewise.
7359         (expand_builtin_memcpy): Likewise.
7360         (expand_builtin_strncpy): Likewise.
7361         (expand_builtin_memset): Likewise.
7362         (expand_builtin_va_arg): Likewise.
7363         (expand_builtin_va_copy): Likewise.
7364         (expand_builtin_alloca): Likewise.
7365         * calls.c (expand_call): Likewise.
7366         * except.c (expand_builtin_extract_return_addr): Likewise.
7367         (expand_builtin_eh_return): Likewise.
7368         * explow.c (convert_memory_address): Define even when
7369         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
7370         is already in the right mode.
7371         * explow.c (memory_address): Simplify use of convert_memory_address.
7372         (probe_stack_range): Likewise.
7373         * expmed.c (make_tree): Likewise.
7374         * expr.c (emit_block_move_in_libcall): Likewise.
7375         (expand_assignment): Likewise.
7376         (expand_expr): Likewise.
7377         * function.c (assign_parms): Likewise.
7378         (expand_function_end): Likewise.
7379         * integrate.c (copy_rtx_and_substitute): Likewise.
7380         * stmt.c (expand_computed_goto): Likewise.
7381
7382 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7383
7384         * simplify-rtx.c (simplify_unary_operation): Only transform
7385         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7386         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
7387
7388 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7389
7390         PR target/11674
7391         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7392
7393 2003-09-18  Roger Sayle  <roger@eyesopen.com>
7394
7395         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7396         PARITY_EXPR): Delete unused tree codes.
7397         * c-common.c (c_common_truthvalue_conversion): Delete references
7398         to FFS_EXPR and POPCOUNT_EXPR.
7399         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7400         (pp_c_expression): Likewise.
7401         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7402         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7403         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7404         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
7405         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7406         and long long variants.
7407
7408 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7409
7410         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7411         * c-pretty-print.c: Fix formatting.
7412         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
7413         (pp_c_type_specifier): Tidy.
7414         (pp_c_compound_literal): New function.
7415         (pp_c_initializer): Simplify..
7416         (pp_c_initializer_list): Likewise.
7417         (pp_c_brace_enclosed_initializer_list): New function.
7418         (pp_c_postfix_expression): Simplify.
7419
7420 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
7421
7422         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7423         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7424
7425 2003-09-17  Richard Henderson  <rth@redhat.com>
7426
7427         * tree-optimize.c (tree_rest_of_compilation): Save and restore
7428         input_location.
7429
7430 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7431
7432         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7433
7434 2003-09-17  Richard Henderson  <rth@redhat.com>
7435
7436         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7437
7438 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7439
7440         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7441         * configure: Regenerate.
7442
7443 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
7444
7445         PR debug/12066
7446         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7447         * langhooks-def.h (lhd_return_null_tree_v): New function.
7448         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7449         (LANG_HOOKS_DECLS): Add it to the intializer.
7450         * langhooks.c (lhd_return_null_tree_v): New function.
7451         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7452
7453 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7454
7455         * configure.in: Quote gcc_config_arguments for configargs.h.
7456         * configure: Regenerated.
7457         * gccbug.in: Don't shell-expand gcc_config_arguments.
7458
7459 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7460
7461         PR c++/11357
7462         * c-pretty-print.c (pp_c_floating_constant): Append
7463         type-annotation to floating constants.
7464
7465 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7466
7467         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7468         Define _ABIO32.
7469         Use it for _MIPS_SIM.
7470         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7471
7472         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7473         Moved ...
7474         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7475         updating comment.
7476         Fixes PR target/10190.
7477
7478 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
7479
7480         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7481         to shared libraries.
7482
7483 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
7484
7485         PR optimization/11646
7486         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7487         EDGE_ABNORMAL flag for EH edges.
7488         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7489         if dead edges were purged.
7490
7491 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
7492
7493         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7494         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7495         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7496         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7497
7498 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
7499
7500         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7501         returned by tablejump_p.
7502
7503 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
7504
7505         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7506
7507 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7508
7509         PR bootstrap/12269
7510         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7511         argument to be VOIDmode, taking the mode of the comparison from
7512         the operands.  Only call simplify_relational_operation if we
7513         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
7514         if comparison has a floating point result.  Ensure that the
7515         result is always of the specified mode.
7516         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7517         (simplify_unary_operation): Ensure the correct mode and cmp_mode
7518         are always passed to simplify_gen_relational.  Simplify NOT of
7519         comparison operator in any mode, not just BImode.
7520         (simplify_ternary_operation): Correct tests on the return value
7521         of simplify_relational_operation to use const_true_rtx, not
7522         const1_rtx.  Abort if it ever returns a non-constant result.
7523
7524         * cfgloopanal.c (count_strange_loop_iterations): Use the function
7525         simplify_relational_operation, not simplify_gen_relational, if
7526         we're only interested in constant comparisons and will ignore
7527         non-constant results.
7528
7529 2003-09-16  Roger Sayle  <roger@eyesopen.com>
7530
7531         * fold-const.c (tree_swap_operands_p): New function to determine
7532         the prefered ordering of operands.
7533         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
7534         operands to commutative, comparison or ternary operators.  Replace
7535         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
7536         transformation of A ? B : C into !A ? C : B.
7537
7538 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
7539
7540         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7541         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7542         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7543         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7544         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7545         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7546         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7547         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7548
7549 2003-09-16  Jason Merrill  <jason@redhat.com>
7550             Jakub Jelinek  <jakub@redhat.com>
7551
7552         * c-common.c (handle_warn_unused_result_attribute): New function.
7553         (c_common_attribute_table): Add warn_unused_result.
7554         (c_expand_expr): Issue warning when result of inlined function
7555         with warn_unused_result attribute is ignored.
7556         * calls.c (expand_call): Issue warning when result of function
7557         with warn_unused_result attribute is ignored.
7558         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7559         * expr.c (expr_wfl_stack): Define.
7560         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7561         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
7562         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7563         bit if inlined function has warn_unused_result attribute.
7564         * input.h (expr_wfl_stack): Declare.
7565         * doc/extend.texi: Document warn_unused_result attribute.
7566
7567 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
7568
7569         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
7570
7571 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
7572
7573         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
7574         ATTRIBUTE_UNUSED.
7575         (call_insn_operand): For PIC, don't allow a direct call to a
7576         function in a different section than the current one.
7577
7578 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7579
7580         * doc/invoke.texi (Warning Options): Add missing hyphen before
7581         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
7582         Move "-Wold-style-definition" to the C-only section.
7583         Fix the ordering of the warning options.
7584
7585 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7586             Jeff Law  <law@redhat.com>
7587
7588         * gcse.c (remove_reachable_equiv_notes): New.
7589         replace_store_insn): Call it.  Update antic list.
7590         (store_killed_in_insn): Take REG_EQUAL notes into account.
7591         (build_store_vectors, delete_store): Add parameter to
7592         replace_store_insn call.
7593
7594 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
7595
7596         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
7597         SYMBOL_REF_LOCAL_P.
7598
7599 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
7600
7601         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
7602         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
7603         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
7604         Likewise.
7605         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
7606         Likewise.
7607         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
7608         * config/sparc/sparc.c (function_arg_padding): Likewise.
7609
7610 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
7611
7612         * haifa-sched.c (schedule_block): Use ready_remove_first instead
7613         of choose_ready for non-dfa insn scheduling.
7614
7615 2003-09-15  Andreas Jaeger  <aj@suse.de>
7616             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7617
7618         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
7619         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
7620         * c-parse.in: Warn about old-style parameter definition.
7621         * c-common.c: Define warn_old_style_defintion.
7622         * c-common.h: Declare it.
7623         * c.opt: Add Wold-style-defintion.
7624
7625 2003-09-15  Andreas Jaeger  <aj@suse.de>
7626
7627         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
7628         * config/rs6000/rs6000.c: Likewise.
7629
7630 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7631
7632         PR optimization/10914
7633         * expr.h (get_condition, canonicalize_condition): Declaration changed.
7634         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
7635         and canonicalize_condition calls.
7636         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
7637         delete_null_pointer_checks): Ditto.
7638         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
7639         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
7640         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
7641         (canonicalize_condition, get_condition): Allow to return comparisons
7642         of cc mode registers.
7643         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
7644         cc mode registers comparison in condition.
7645
7646 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
7647
7648         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
7649         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
7650         function.
7651         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
7652
7653 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7654
7655         * combine.c (simplify_comparison): Convert
7656         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
7657         (eq (and (lshiftrt X Y) 1) 0).
7658
7659 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
7660
7661         * alias.c: Follow spelling conventions.
7662         * cpphash.h: Likewise.
7663         * fold-const.c: Likewise.
7664
7665 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
7666
7667         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
7668         * c-lex.c (cb_line_change): Skip line changing whenever
7669         c-ppoutput.c would.
7670
7671 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
7672
7673         * ra.c: Convert to ISO C90 prototypes.
7674         * ra-build.c: Likewise.
7675         * ra-colorize.c: Likewise.
7676         * ra-debug.c: Likewise.
7677         * ra-rewrite.c: Likewise.
7678
7679 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
7680
7681         * Makefile.in (%.dvi): Remove excess $(docdir).
7682
7683 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
7684
7685         * function.c (STACK_BYTES): Move definition to head of file.
7686         (assign_parms): Don't pass current_function_pretend_args_size
7687         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
7688         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
7689         excess before laying out the argument.
7690
7691 2003-09-14  Andreas Jaeger  <aj@suse.de>
7692
7693         * objc/objc-act.c: Convert to ISO C90 prototypes.
7694         * objc/objc-act.h: Likewise.
7695
7696 2003-09-14  Olaf Hering  <olh@suse.de>
7697
7698         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
7699
7700 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
7701
7702         PR target/12021
7703         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
7704         as they already are done in config/m68k/m68k.h.
7705         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
7706
7707         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
7708         (machopic_output_stub): Only generate pic base symbols when using pic
7709         and generate them in the form L00000000$spb.
7710
7711 2003-09-13  Richard Henderson  <rth@redhat.com>
7712
7713         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
7714         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
7715         * cgraph.h: Update.
7716
7717 2003-09-12  Dale Johannesen  <dalej@apple.com>
7718
7719         * config/rs6000/rs6000.c: Fix typos in previous.
7720
7721 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
7722
7723         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
7724         when allocating pp->buffer.
7725
7726 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
7727
7728         * config/darwin.c (machopic_select_rtx_section): Use
7729         const_data_section for things that might require relocation.
7730
7731 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
7732
7733         PR bootstrap/12264
7734         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
7735
7736 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
7737
7738         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
7739         * config/xtensa/linux.h (ASM_SPEC): Likewise.
7740         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
7741         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
7742         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
7743         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
7744         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
7745         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
7746         and redefine corresponding TARGET_* macros with constants from the
7747         xtensa-config.h header.
7748         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
7749         for the options listed above.
7750
7751 2003-09-12  Dale Johannesen  <dalej@apple.com>
7752
7753         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
7754         * config/rs6000/rs6000-c.c:  Ditto.
7755         * config/rs6000/rs6000.c:  Ditto.
7756         * config/rs6000/ sysv4.h:  Ditto.
7757
7758 2003-09-12  Chris Lattner <sabre@nondot.org>
7759
7760         * loop.c: Move comments describing BIV's and GIV's to top of file
7761
7762 2003-09-12  Roger Sayle  <roger@eyesopen.com>
7763
7764         PR optimization/8967
7765         * alias.c (write_dependence_p): Modify to take an additional constp
7766         argument that controls whether the UNCHANGING_RTX_P flags are used.
7767         (anti_dependence, output_dependence): Adjust write_dependence_p
7768         callers to pass this additional argument, to return the same result.
7769         (unchanging_anti_dependence): New variant of anti_dependence that
7770         ignores the UNCHANGING_RTX_P property on memory references.
7771         * rtl.h (unchaning_anti_dependence): Prototype here.
7772         * flow.c (init_propagate_block): Place fake constant mem writes on
7773         the mem_set_list so that dead writes to const variables are deleted.
7774         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
7775         (mark_used_regs): Likewise.
7776
7777 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
7778
7779         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
7780         (mcore_secondary_reload_class): Declare.
7781         (mcore_output_inline_const_forced): Remove.
7782         * config/mcore/mcore.md (movsi): Remove the code that forced
7783         non-inlineable constants into a register if the target was r15
7784         or the stack pointer.  Remove constant restrictions from the main
7785         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
7786         of an r <- P alternative.  Remove fallback define_insn for reload.
7787         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
7788         define_insn.  Use mcore_output_move in the remaining define_insn.
7789         Adjust condition and constraints in the way as for movsi.
7790         (movdi): Always split unacceptable constants into two.  Use
7791         simplify_gen_subreg instead of operand_subword{,_force}.
7792         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
7793         (mcore_output_move): Support HImode and QImode moves as well.
7794         (mcore_m15_operand_p): New function.
7795         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
7796         (mcore_secondary_reload_class): New function.
7797         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
7798         terms of mcore_secondary_reload_class.
7799
7800 2003-09-11  Mike Stump  <mrs@apple.com>
7801
7802         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
7803
7804 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7805
7806         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
7807         MODE exactly, then only convert logN(N) -> 1.0 if
7808         flag_unsafe_math_optimizations is set.
7809
7810         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
7811         init_builtin_dconsts): Delete.
7812         * emit-rtl.c (dconstpi, dconste): Define.
7813         (init_emit_once): Initialize dconstpi & dconste.
7814         * real.h (dconstpi, dconste): Declare.
7815
7816 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
7817
7818         PR fortran/11522
7819         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
7820         for ultimate origin even if block is abstract.
7821
7822 2003-09-11  Roger Sayle  <roger@eyesopen.com>
7823
7824         * combine.c (combine_simplify_rtx): Move several NOT and NEG
7825         optimizations from here...
7826         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
7827         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
7828
7829 2003-09-11  Richard Henderson  <rth@redhat.com>
7830
7831         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
7832         Tweek tests for function already generated.
7833         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
7834         * cgraph.h (cgraph_finalize_function): Update for extra arg.
7835         * c-decl.c (finish_function): Likewise.
7836
7837 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
7838
7839         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
7840
7841 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
7842
7843         * real.c: Update URL to VAX floating point docs.
7844         (decode_vax_d): Extract 8 exponent bits instead of 7.
7845
7846 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
7847
7848         * combine.c (force_to_mode): Set fuller_mask based only on mask,
7849         not op_mode.
7850
7851 2003-09-11  Jan Hubicka  <jh@suse.cz>
7852
7853         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
7854         on why function is not inlinable; do not check
7855         the body.
7856         (inline_forbidden_p): Move to...
7857         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
7858         deal with alloca, longjmp.
7859         (inline_forbidden_p): New static function.
7860         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
7861         find_builtin_longjmp_call): Kill.
7862
7863 2003-09-10  Richard Henderson  <rth@redhat.com>
7864
7865         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
7866         * cgraphunit.c: Update to match.
7867         (record_call_1): Rearrange.  Call lang hook for language nodes.
7868         (cgraph_analyze_function): Don't call lower_function.
7869         * langhooks.h (struct lang_hooks_for_callgraph): Replace
7870         lower_function with analyze_expr.
7871         * langhooks-def.h: Update to match.
7872         * langhooks.c (lhd_callgraph_analyze_expr): New.
7873
7874 2003-09-10  Martin Husemann  <martin@duskware.de>
7875
7876         PR target/11965
7877         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
7878         constants greater than 63.
7879         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
7880         against constants greater than 31.
7881         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
7882         constants greater than 63.
7883
7884 2003-09-09  Richard Henderson  <rth@redhat.com>
7885
7886         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
7887         * cgraph.h (cgraph_finalize_function): Update.
7888         * c-decl.c (finish_function): Update.
7889
7890 2003-09-09  Devang Patel  <dpatel@apple.com>
7891
7892         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
7893         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
7894
7895 2003-09-09  Eric Christopher  <echristo@redhat.com>
7896
7897         * configure.in: Change usage of 'head' to 'sed 1q'.
7898         * configure: Regenerate.
7899
7900 2003-09-09  Richard Henderson  <rth@redhat.com>
7901
7902         * except.c: Include cgraph.h.
7903         (output_function_exception_table): Invoke
7904         cgraph_varpool_mark_needed_node.
7905         * Makefile.in (except.o): Update.
7906
7907 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
7908
7909         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
7910         and use it throughout.
7911
7912 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7913
7914         * builtins.c (real_dconstp, fold_builtin_logarithm,
7915         fold_builtin_exponent): New, split out from fold_builtin.  Also
7916         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
7917         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
7918         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
7919         of hardcoded array size.
7920         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
7921         (tree_expr_nonnegative_p): Likewise.
7922         * real.h (dconst3, dconst10, dconstthird): New.
7923
7924 2003-09-09  Jan Hubicka  <jh@suse.cz>
7925
7926         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
7927         inline functions.
7928         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
7929         DECL_SAVED_TREE.
7930
7931 2003-09-09  Roger Sayle  <roger@eyesopen.com>
7932
7933         * builtins.c (fold_builtin_cabs): Protect the complex argument
7934         against multiple evaluation when optimizing cabs* into sqrt*.
7935
7936 2003-09-09  Jan Hubicka  <jh@suse.cz>
7937
7938         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
7939
7940 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
7941
7942         * Makefile.in: Revert yesterday's change.
7943
7944 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
7945             Peter Barada <peter@baradas.org>
7946
7947         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
7948         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
7949         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
7950         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
7951         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
7952         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
7953         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
7954         (m68k_compute_frame_layout): New function.
7955         (m68k_initial_elimination_offset): New function.
7956         (m68k_output_function_prologue): ColdFire-specific movem handling.
7957         (m68k_output_function_epilogue): Likewise.
7958         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
7959         (ARG_POINTER_REGNUM): Add new definition.
7960         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
7961         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
7962         (CAN_ELIMINATE): Likewise.
7963         (INITIAL_ELIMINATION_OFFSET): Likewise.
7964
7965 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
7966
7967         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
7968         by removing redundant variable cfa_store_offset.
7969
7970 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
7971
7972         * langhooks-def.h (lhd_register_builtin_type): New function.
7973         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
7974         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
7975         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
7976         * langhooks.c (lhd_register_builtin_type): New function.
7977         * c-common.h (c_register_builtin_type): Declare.
7978         * c-common.c (c_register_builtin_type): New function.
7979         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
7980         c_register_builtin_type.
7981         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
7982         __float80, and __float128 macros.
7983         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
7984         __float80, and __float128 types.
7985
7986 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7987
7988         * builtin-types.def
7989         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
7990         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
7991         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
7992         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
7993         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
7994         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
7995         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
7996         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
7997         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
7998         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
7999         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
8000         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
8001         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
8002         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
8003         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
8004         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
8005         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
8006         New.
8007         * doc/extend.texi: Document new builtins.
8008
8009 2003-09-09  Jan Hubicka  <jh@suse.cz>
8010
8011         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
8012         finalization.
8013         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
8014         functions, check for COMDAT.
8015         (cgraph_assemble_pending_functions): Break out from...
8016         (cgraph_finalize_function): ... here; allow redefinig of extern inline
8017         functions.
8018         (record_call_1): Record function references only in non-unit-at-a-time
8019         mode.
8020         (cgraph_analyze_function): Reset current_function_decl.
8021         (cgraph_finalize_compilation_unit):  Assemble pending functions.
8022
8023 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
8024
8025         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
8026         (libgov.a): Likewise.
8027         (libgcc_eh.a): Likewise.
8028
8029 2003-09-08  Roger Sayle  <roger@eyesopen.com>
8030
8031         * fold-const.c (operand_equal_p): Clarify documentation.
8032
8033 2003-09-08  Richard Henderson  <rth@redhat.com>
8034
8035         * c-decl.c (c_expand_body_1): Push and pop function context here.
8036         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
8037         nested argument instead of computing nesting ourselves.
8038
8039 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8040
8041         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
8042         regstack if optimizing but not scheduling after reload.
8043
8044 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
8045
8046         * config/sparc/sparc.c (struct machine_function): New type.
8047         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
8048         (sparc_override_options): Initialize init_machine_status.
8049         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
8050         tie_symbolic_operand, tle_symbolic_operand): New functions.
8051         (symbolic_operand): Disallow tls_symbolic_operand.
8052         (symbolic_memory_operand): Likewise.
8053         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
8054         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
8055         New functions.
8056         (sparc_tls_symbol): New variable.
8057         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
8058         legitimize_address): New functions.
8059         (print_operand): Handle %&.
8060         (sparc_init_machine_status, get_some_local_dynamic_name,
8061         get_some_local_dynamic_name_1): New functions.
8062         (sparc_output_dwarf_dtprel): New function.
8063         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
8064         constant_address_p.
8065         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
8066         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
8067         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
8068         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
8069         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8070         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
8071         (ASM_OUTPUT_DWARF_DTPREL): Define.
8072         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
8073         tie_symbolic_operand, tle_symbolic_operand.
8074         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
8075         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
8076         (tls_call_delay): New attribute.
8077         (in_call_delay): Use it.
8078         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
8079         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
8080         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
8081         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
8082         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
8083         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
8084         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
8085         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
8086         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
8087         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
8088         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
8089         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
8090         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
8091         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
8092         insns.
8093         * config/sparc/sparc-protos.h (legitimate_constant_p,
8094         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
8095         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
8096         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
8097         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8098         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
8099         * configure.in (sparc*-*-*): Add TLS check.
8100         * configure: Rebuilt.
8101
8102 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
8103
8104         PR target/11689
8105         * config/i386/i386.c (memory_address_length): Fix computation when
8106         the base is esp or ebp.
8107
8108 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
8109
8110         PR c++/11852
8111         * varasm.c (initializer_constant_valid_p): Correct logic for
8112         CONSTRUCTORs.
8113
8114 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8115
8116         * expr.c (expand_operands): New function to expand an operand pair.
8117         (expand_expr): Call expand_operands whenever we need to expand both
8118         operands of a binary operator.
8119         (do_store_flag): Likewise for operands of comparison operations.
8120
8121 2003-09-07  Roger Sayle  <roger@eyesopen.com>
8122
8123         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
8124         (-A)*B if we care about sign-dependent rounding.
8125
8126 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
8127
8128         * c-pretty-print.h (pp_c_left_brace): Declare.
8129         (pp_c_right_brace): Likewise.
8130         * c-pretty-print.c (pp_c_left_brace): Now a function
8131         (pp_c_right_brace): Likewise.
8132
8133 2003-09-07  Jan Hubicka  <jh@suse.cz>
8134
8135         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
8136
8137 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8138
8139         * diagnostic.c (warn_deprecated_use): Move to toplev.c
8140
8141 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8142
8143         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
8144         * Makefile.in (langhooks.o): Depend on diagnostic.h
8145
8146 2003-09-06  James E Wilson  <wilson@tuliptree.org>
8147
8148         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
8149         simplify.
8150
8151 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
8152
8153         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
8154         and use it throughout.
8155
8156 2003-09-07  Jan Hubicka  <jh@suse.cz>
8157
8158         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
8159
8160         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
8161         virables.
8162
8163         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
8164         functions.
8165         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
8166
8167 2003-09-06  Jan Hubicka  <jh@suse.cz>
8168
8169         PR target/12070
8170         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
8171
8172         PR opt/12082
8173         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
8174
8175 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8176
8177         * diagnostic.c (announce_function): Move to toplev.c.
8178
8179 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8180
8181         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
8182         volatile mem.
8183
8184 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8185
8186         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
8187         when gc checking is enabled.
8188
8189 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
8190
8191         PR c/9862
8192         * c-decl.c (c_expand_body_1): Move return warning from here...
8193         (finish_function): ...to here.
8194
8195 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
8196
8197         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
8198         a subset of the input class.
8199
8200 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
8201
8202         * config/i860/i860.c: Follow spelling conventions.
8203         * config/i860/i860.h: Likewise.
8204         * config/sh/sh.h: Likewise.
8205
8206 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
8207
8208         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
8209         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
8210         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
8211
8212 2003-09-05  Roger Sayle  <roger@eyesopen.com>
8213             Richard Henderson  <rth@redhat.com>
8214
8215         PR optimization/1823
8216         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
8217         multiplication to implement division by constant integer.
8218
8219 2003-09-05  Jan Hubicka  <jh@suse.cz>
8220
8221         * opts.c (decode_options): Enable unit-at-a-time at -O2.
8222         * params.def (max-inline-insns-single): Set to 500
8223         (max-inline-insns-auto): Set to 150
8224         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
8225
8226 2003-09-04  Richard Henderson  <rth@redhat.com>
8227
8228         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
8229         (cgraph_mark_needed_node): Remove needed argument.
8230         * cgraph.h: Update to match.
8231         * cgraphunit.c (decide_is_function_needed): Split out from ...
8232         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
8233         if we generated the function.
8234         (record_call_1): Update for cgraph_mark_reachable_node.
8235         * varasm.c (mark_referenced): Likewise.
8236         * objc/objc-act.c (mark_referenced_methods): Likewise.
8237
8238 2003-09-04  DJ Delorie  <dj@redhat.com>
8239
8240         * targhooks.c: Add comment explaining the migration process.
8241
8242 2003-09-04  Eric Christopher  <echristo@redhat.com>
8243
8244         * config/frv/t-frv: Fix path for frv-abi.h.
8245         * config/frv/frv-asm.h: Fix string concatenation.
8246
8247 2003-09-04  DJ Delorie  <dj@redhat.com>
8248
8249         * builtins.c (apply_args_size): Guard against a NULL cfun.
8250         (expand_builtin_apply_args_1): Likewise.
8251         (expand_builtin_apply): Likewise.
8252         Fixes PR bootstrap/12172.
8253
8254 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8255
8256         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
8257         assembler supports Sun syntax for cmov.
8258         * configure: Regenerate.
8259         * config.in: Likewise.
8260         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
8261         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
8262         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
8263         Fixes PR target/12101.
8264
8265 2003-09-04  Matt Austern  <austern@apple.com>
8266
8267         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
8268         with verbosity 0, instead of DECL_NAME, for human-readable string.
8269
8270 2003-09-04  Eric Christopher  <echristo@redhat.com>
8271
8272         * targhooks.c (default_return_in_memory): Allow
8273         unconverted ports.
8274
8275 2003-09-04  Eric Christopher  <echristo@redhat.com>
8276
8277         * targhooks.c (default_return_in_memory): Fix typo
8278         in last checkin.
8279
8280 2003-09-04  Eric Christopher  <echristo@redhat.com>
8281
8282         * targhooks.c (default_return_in_memory): Fix default
8283         definition.
8284
8285 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
8286
8287         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
8288         deleted function.
8289         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
8290         enable coff-only code in m68k.c.
8291
8292 2003-09-04  Nick Clifton  <nickc@redhat.com>
8293
8294         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
8295         v850e1.
8296         * config/v850/v850.h: Accept v850e1 as a default CPU.
8297         Accept -mv850e1 as a command line option.
8298         * doc/invoke.texi: Document new -mv850e1 command line switch.
8299         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
8300         -mv850e.
8301
8302 2003-09-04  Nick Clifton  <nickc@redhat.com>
8303
8304         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
8305         * config/v850/t-v850: Only produce one extra multilib - for
8306         the v850e.
8307         * config/v850/t-v850e: New file: Only produce one extra
8308         multilib - for the v850.
8309
8310 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
8311
8312         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8313         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8314         * unwind.h (_Unwind_GetBSP): New prototype.
8315         * libgcc-std.ver: Add empty GCC_3.3.2 version.
8316         * mkmap-symver.awk: For symbol versions with no exported symbols,
8317         don't put anything into version script, just change all symbol
8318         versions which inherit from it to inherit from its ancestor.
8319
8320 2003-09-04  Eric Christopher  <echristo@redhat.com>
8321
8322         * config/mips/mips.c (mips_expand_prologue): Convert to
8323         calls.struct_value_rtx hook.
8324         (reg_or_const_float_1_operand): New.
8325         * config/mips/mips.h: Update Comments.
8326         (mips_arg): Add reg_or_const_float_1_operand.
8327         * config/mips/mips.md (divdf3); Convert to expander.
8328         (divsf3): Ditto.
8329         (*divdf3): New pattern.
8330         (*divsf3): Ditto.
8331
8332 2003-09-04  Jan Hubicka  <jh@suse.cz>
8333
8334         * toplev.c (wrapup_global_declarations): Fix final pass in
8335         unit-at-atime mode.
8336
8337 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
8338
8339         * doc/extend.texi: Document removal of cast-as-lvalue extension in
8340         C++.
8341
8342 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
8343
8344         * gcc.c (process_command): Fix typo.
8345
8346 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
8347
8348         optimization/11980
8349         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8350         (PTRDIFF_TYPE): Likewise.
8351         (WCHAR_TYPE_SIZE): Likewise.
8352
8353 2003-09-03  DJ Delorie  <dj@redhat.com>
8354
8355         * targhooks.c: New file.
8356         * targhooks.h: New file.
8357         * Makefile.in: Add targhooks.o support.
8358         (function.o): Depend on$(TARGET_H).
8359         (stmt.o): Likewise.
8360         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8361         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8362         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8363         (expand_builtin_saveregs): Convert to
8364         calls.expand_builtin_saveregs hook.
8365         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8366         here, instead of ...
8367         (get_parm_info) ... here.
8368         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8369         hook.
8370         (finish_function): Handle calls.promote_prototypes hook here too.
8371         * c-typeck.c (convert_arguments): Convert to
8372         calls.promote_prototypes hook.
8373         (c_convert_parm_for_inlining): Likewise.
8374         * calls.c (initialize_argument_information): Convert to
8375         calls.promote_function_args hook.
8376         (expand_call): Convert to calls.struct_value_rtx,
8377         calls.strict_argument_naming,
8378         calls.pretend_outgoing_varargs_named, and
8379         calls.promote_function_return hooks.  Pass fndecl to
8380         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
8381         hooks, so they can use that.
8382         (emit_library_call_value_1): Likewise.
8383         * combine.c (setup_incoming_promotions): Convert to
8384         calls.promote_function_args hook.
8385         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8386         * expr.c (expand_assignment): Pass call to aggregate_value_p.
8387         (expand_expr): Likewise.
8388         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8389         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8390         RETURN_IN_MEMORY macro defaults.
8391         * final.c (profile_function): Convert to calls.struct_value_rtx
8392         hook.
8393         * function.c (aggregate_value_p): Accept function type tree as
8394         second parameter; try to deduce fntype from it.  Convert to
8395         calls.return_in_memory hook.
8396         (assign_parms): Convert to calls.setup_incoming_varargs,
8397         calls.strict_argument_naming, calls.promote_function_args,
8398         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
8399         aggregate_value_p.
8400         (expand_function_start): Likewise.  Convert to
8401         calls.struct_value_rtx hook.
8402         (expand_function_end): Convert to calls.promote_function_return hook.
8403         (allocate_struct_function): Pass fndecl to aggregate_value_p.
8404         * hard-reg-set.h: Update comments to new hook names.
8405         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8406         * reg-stack.c (stack_result): Likewise.
8407         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8408         * stmt.c (expand_value_return): Convert to
8409         calls.promote_function_return hook.
8410         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8411         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8412         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8413         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8414         TARGET_STRICT_ARGUMENT_NAMING,
8415         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8416         * target.h: Likewise.
8417         * tree.h (aggregate_value_p): Also takes a tree to deduce function
8418         attributes from (for target hooks).
8419         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8420         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8421         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8422         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8423         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8424         to hooks.
8425
8426         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8427         to aggregate_value_p.
8428         * config/arm/arm.c (arm_init_cumulative_args,
8429         arm_output_mi_thunk): Likewise.
8430         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8431         Likewise.
8432         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8433         mips_can_use_return_insn): Likewise.
8434         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8435         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8436         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8437         aggregate_value_p.
8438         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8439         function to aggregate_value_p.
8440         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8441         aggregate_value_p.
8442
8443         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8444         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8445         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
8446         (sh_handle_renesas_attribute, sh_promote_prototypes,
8447         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8448         sh_setup_incoming_varargs, sh_strict_argument_naming,
8449         sh_pretend_outgoing_varargs_named): New decls.
8450         (targetm): Add new hooks.
8451         (calc_live_regs): Save MACL and MACH if the function has the
8452         renesas attribute.
8453         (sh_expand_prologue): Support renesas attribute.
8454         (sh_builtin_saveregs): Make static.
8455         (sh_build_va_list): Support renesas attribute.
8456         (sh_va_start): Likewise.
8457         (sh_va_arg): Likewise.
8458         (sh_promote_prototypes): New.
8459         (sh_function_arg): New, moved from sh.h.  Support renesas
8460         attribute.
8461         (sh_function_arg_advance): Likewise.
8462         (sh_return_in_memory): Likewise.
8463         (sh_strict_argument_naming): Likewise.
8464         (sh_pretend_outgoing_varargs_named): Likewise.
8465         (sh_struct_value_rtx): New.
8466         (sh_attribute): Add renesas attribute.
8467         (sh_handle_renesas_attribute): New.
8468         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8469         (sh_ms_bitfield_layout_p): Support renesas attribute also.
8470         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
8471         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8472         -mhitachi.
8473         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8474         target hooks.
8475         (sh_args): Add renesas_abi flag.
8476         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
8477         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8478         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
8479         stack for the renesas abi.
8480         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8481         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8482         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
8483         call cookie to indicate renesas calls.
8484
8485 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
8486
8487         * gcse.c (replace_one_set): New function.
8488         (pre_insert_copy_insn): Change the order of copying
8489         to make copy propagation discover additional PRE opportunities.
8490
8491 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8492
8493         PR optimization/11700.
8494         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8495         of a hard register is representable before trying to simplify it
8496         using subreg_hard_regno.
8497
8498 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8499
8500         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8501         * configure: Regenerate.
8502
8503 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8504
8505         * intl.h (N_): Remove parentheses.
8506
8507 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
8508
8509         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8510         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8511         definition and code blocks compiled when not defined.
8512         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8513         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8514         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8515         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8516
8517 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
8518
8519         * cgraphunit.c (visited_nodes): New static variable.
8520         (record_call_1): Use walk_tree with visited_nodes.
8521         (cgraph_create_edges): Use walk_tree with visited_nodes.
8522         Setup/teardown visited_nodes hashtable.
8523
8524 2003-09-03  Roger Sayle  <roger@eyesopen.com>
8525
8526         * toplev.c (flag_rounding_math): New global variable.
8527         (f_options): Add to the list of language independent options.
8528         * flags.h (flag_rounding_math): Prototype here.
8529         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8530         * common.opt (frounding-math): New common command line option.
8531         * opts.c (common_handle_option): Handle OPT_frounding_math.
8532         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8533
8534         * doc/invoke.texi: Document this new command line option.
8535
8536 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8537
8538         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8539
8540 2003-09-03  Jan Hubicka  <jh@suse.cz>
8541
8542         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8543         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
8544         * c-objc-common.c: Kill include of gt-c-objc-common.h
8545         (expand_deferred_fns, deffer_fn): Kill function.
8546         (deferred_fns): Kill variable.
8547         (finish_cdtor): Update finish_function call.
8548         (c_objc_common_finish_file): Always call cgraph code.
8549         * c-parse.c: Regenerate.
8550         * c-parse.y: Regenerate.
8551         * c-tree.h (finish_function): Update prototype.
8552         * objc-acct.c (build_module_descriptor, finish_method_def):
8553         Update call of finish_function.
8554         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8555         forward prototype.
8556         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8557         function and assemble it if needed.
8558         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8559         mode.
8560         (cgraph_optimize): Likewise.
8561         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8562         even when it has no inline callees.
8563         * c-parse.in: Update calls to finish_function.
8564
8565 2003-09-03  Nick Clifton  <nickc@redhat.com>
8566
8567         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
8568         Use #error to generate the message if TARGET_DEFAULT is not
8569         recognised.
8570
8571 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
8572
8573         * config/mips/mips.h (MASK_UNUSED1): Remove.
8574         (MASK_XGOT, TARGET_XGOT): Define.
8575         (TARGET_SWITCHES): Add an entry for -mxgot.
8576         (ASM_SPEC): Map -mxgot to -xgot.
8577         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
8578         whether we're using a big-GOT sequences.
8579         (mips_legitimize_const_move, mips_expand_call): Likewise.
8580         (override_options): Revert 2003-01-09 change.
8581         * doc/invoke.texi: Document -mxgot.
8582
8583 2003-09-02  Jason Merrill  <jason@redhat.com>
8584
8585         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
8586         * config/sparc/sol2.h: Not here.
8587
8588 2003-09-02  Roger Sayle  <roger@eyesopen.com>
8589
8590         * expr.c (expand_expr): The code following both_summands performs
8591         the same task as simplify_gen_binary.  Replace all gotos to
8592         both_summands with a call to simplify_gen_binary and delete the
8593         now unused label.
8594
8595 2003-09-02  Jason Merrill  <jason@redhat.com>
8596
8597         PR c++/7327
8598         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
8599
8600 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
8601
8602         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
8603         (cgraph_optimize_function): Set current_function_decl to the
8604         fndecl we're integrating from.
8605
8606 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8607
8608         * builtins.def: Break out _Complex math functions into their
8609         own category.
8610
8611 2003-09-02  Andreas Jaeger  <aj@suse.de>
8612
8613         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
8614
8615 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
8616
8617         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
8618         finding the note again.
8619
8620 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8621
8622         * config.gcc: Remove host-specific rewrites of target_alias.
8623
8624 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
8625
8626         * Makefile.in (genprogs): Fix typo.
8627
8628         * Makefile.in (gencheck.o): Remove build commands.
8629         (dummy-conditions.o): Likewise.
8630         (read-rtl.o): Likewise.
8631         (gensupport.o): Likewise.
8632         (genconfig$(build_exeext)): Remove rule.
8633         (genconfig.o): Remove build commands.
8634         (genflags$(build_exeext)): Remove rule.
8635         (genflags.o): Remove build commands.
8636         (gencodes$(build_exeext)): Remove rule.
8637         (gencodes.o): Remove build commands.
8638         (genconstants.o): Remove build commands.
8639         (genemit$(build_exeext)): Remove rule.
8640         (genemit.o): Remove build commands.
8641         (genrecog$(build_exeext)): Remove rule.
8642         (genrecog.o): Remove build commands.
8643         (genextract$(build_exeext)): Remove rule.
8644         (genextract.o): Remove build commands.
8645         (genpeep$(build_exeext)): Remove rule.
8646         (genpeep.o): Remove build commands.
8647         (genattr$(build_exeext)): Remove rule.
8648         (genattr.o): Remove build commands.
8649         (genprognames): New variable.
8650         (genprogs): Likewise.
8651         (genobjs): Likewise.
8652         (genprogs): New rule.
8653         (genobjs): Likewise.
8654         (genattrtab.o): Remove build commands.
8655         (genautomata.o): Likewise.
8656         (genoutput$(build_exeext)): Remove rule.
8657         (genoutput.o): Remove build commands.
8658         (gengenrtl.o): Likewise.
8659         (genpreds.o): Likewise.
8660         (gengtype.o): Likewise.
8661         (genconditions.o): Likewise.
8662         (gen-protos.o): Likewise.
8663         (scan.o): Likewise.
8664         (fix-header.o): Likewise.
8665         (scan-decls.o): Likewise.
8666         (check-g++): Combine with other check targets.
8667         (check-gcc): Likewise.
8668         (check-g77): Likewise.
8669         (check-objc): Likewise.
8670
8671 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8672
8673         * config.gcc: Remove host-specific stuff which is unused here
8674         since the introduction of config.host.
8675
8676         * doc/fragments.texi: Mention config.host.
8677         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
8678         of config.build, config.host, and config.gcc.
8679
8680 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
8681
8682         * c-decl.c (pushdecl): Don't put variables on
8683         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
8684         incomplete.
8685
8686 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8687
8688         * config.host: New file.
8689         * config.gcc: Remove some host-specific stuff and some
8690         logic needed only for repeated invocation.
8691         * configure.in: Use config.host.
8692         * configure: Regenerate.
8693
8694 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
8695
8696         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
8697         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
8698         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
8699         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
8700         * tree.def (BIT_ANDTC_EXPR): Kill.
8701
8702 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8703
8704         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
8705         * configure: Regenerate.
8706
8707         * config.gcc:  Remove references to install_headers_dir, now unused
8708         since introduction of config.build.
8709         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
8710
8711         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
8712         config.build.
8713
8714         * config.build: New file.
8715         * config.gcc: Remove some build-specific stuff.
8716         * configure.in: Use config.build.
8717         * configure: Regnerate.
8718
8719 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
8720             Roger Sayle  <roger@eyesopen.com>
8721
8722         PR middle-end/11823
8723         * stmt.c (expand_end_case_type): Only use jump tables for dense
8724         switch statements when optimizing for size.
8725
8726 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
8727
8728         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
8729         the != 0 case, which ensures pending stack adjustments are flushed.
8730
8731 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
8732
8733         * configure.frag: Delete file.
8734         * configure.in: Rename the substitution variables
8735         dep_host_xmake_file and dep_tmake_file to xmake_file and
8736         tmake_file respectively.  Do not expand $srcdir in the
8737         value of these; leave that for Make.  Introduce a new
8738         substitution varaible, all_lang_makefrags, which lists
8739         subdirectory Make-lang.in files; exclude these from
8740         all_lang_makefiles, which is now only for subdirectory
8741         outputs.  Do not invoke configure.frag.  Do not set nor
8742         AC_SUBST_FILE target_overrides, host_overrides, or
8743         language_fragments. Create build subdirectories in
8744         config.status extra commands.
8745         * configure: Regenerate.
8746         * Makefile.in: Update substitutions to match changes to
8747         configure.  Use include directives instead of @-insertions
8748         to read in host, target, and language fragments.
8749         (Makefile rule): Do not invoke configure.frag.  Do not copy
8750         config.status to config.run before executing it.  Set
8751         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
8752         regenerated.
8753         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
8754
8755 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
8756
8757         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
8758         * c-typeck.c (same_translation_unit_p): New function.
8759         (comptypes): Use it instead of flags parameter to identify
8760         structure types from different translation units.
8761         * c-decl.c (duplicate_decls): Always call comptypes with
8762         COMPTYPE_STRICT flags argument.
8763         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
8764         to file_scope_decl.
8765
8766 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
8767
8768         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
8769         * c-decl.c (struct c_scope): Remove "incomplete" field.
8770         (pushdecl): Attach variables with incomplete types to
8771         the TYPE_MAIN_VARIANT of the incomplete type in question.
8772         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
8773         to complete, not at current_scope->incomplete.  All such
8774         variables do need completion.
8775
8776 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
8777         Nicolas Pitre <nico@cam.org>
8778
8779         * arm/lib1funcs.asm (RETCOND): Delete.
8780         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
8781         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
8782         (__ARM_ARCH__): Move here from ieee754-?f.S.
8783         (RET, RETc): Clean up definitions.
8784         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
8785         (FUNC_END): New macro that marks the end of any function.
8786         (ARM_FUNC_START): New macro that allows an assembler routine to be
8787         implemented in ARM code even if a Thumb-only build.
8788         Unconditionally include ieee754-?f.S.
8789         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
8790         Mark ends of functions.
8791         Split into separate conditionally-compiled units.
8792         Use RETLDM to return from routines.
8793         * arm/ieee754-sf.S: Similarly.
8794         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
8795         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
8796         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
8797         _fixsfsi and _fixunssfsi.
8798
8799         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
8800         multiplication underflows to zero.
8801         (__adddf3): Fix bug when using VFP ordering on little-endian
8802         processors.
8803         (__fixdfsi): Use rrx to extract the carry into a register instead of
8804         MRS instruction.  Optimize later use of result.
8805         * arm/ieee754-sf.S (__fixsfsi): Likewise.
8806         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
8807
8808 2003-08-29  Richard Henderson  <rth@redhat.com>
8809
8810         * tree-optimize.c: New file.
8811         * Makefile.in (OBJS-archive): Add tree-optimize.o.
8812         (tree-optimize.o): New.
8813         * c-decl.c (store_parm_decls): Use allocate_struct_function.
8814         (finish_function): Don't free_after_parsing or free_after_compilation.
8815         (set_save_expr_context): Move to tree-optimize.c.
8816         (c_expand_body_1): Use tree_rest_of_compilation.
8817         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
8818         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
8819         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
8820         iterate until closure.
8821         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
8822         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
8823         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
8824         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
8825         * toplev.h (tree_rest_of_compilation): Declare it.
8826
8827 2003-08-29  Richard Henderson  <rth@redhat.com>
8828
8829         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
8830         * integrate.c (save_for_inline): Set saved_for_inline.
8831         * c-semantics.c (genrtl_scope_stmt): Check it.
8832         * toplev.c (wrapup_global_declarations): Check it.
8833         (rest_of_handle_inlining): Set and check rtl_inline_init.
8834         (rest_of_compilation): Remove out of date comment.
8835
8836 2003-08-29  Richard Henderson  <rth@redhat.com>
8837
8838         * function.c (allocate_struct_function): New, split out of ...
8839         (prepare_function_start, init_function_start): ... here.
8840         * expr.c (init_expr): Use ggc_alloc_cleared.
8841         * stmt.c (init_stmt_for_function): Likewise.
8842         * tree.h (allocate_struct_function): Declare.
8843
8844 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
8845
8846         * config.gcc: Don't use negated character class in shell case
8847         clause.
8848
8849 2003-08-29  Richard Henderson  <rth@redhat.com>
8850
8851         * function.h (struct function): Move function_frequency and
8852         max_jumptable_ents before start of bit field members.
8853
8854 2003-08-29  Richard Henderson  <rth@redhat.com>
8855
8856         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
8857         (fold_builtin_constant_p) ... not here.
8858
8859 2003-08-29  Richard Henderson  <rth@redhat.com>
8860
8861         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
8862         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
8863         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
8864
8865 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8866
8867         * builtins.def: Fix typos.
8868         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
8869         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
8870         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
8871         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
8872         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
8873
8874         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
8875         Use ATTR_MATHFN_FPROUNDING_ERRNO.
8876
8877 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
8878
8879         * config.gcc (i386-*-vsta): Fix obvious bogosity.
8880
8881         * fixinc/inclhack.def:  Remove special cases for unsupported
8882         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
8883         * fixinc/fixincl.x: Regenerate.
8884
8885 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
8886
8887         * Makefile.in (cpp.info): Just state dependencies.
8888         (gcc.info): Likewise.
8889         (gccint.info): Likewise.
8890         (gccinstall.info): Likewise.
8891         (cppinternals.info): Likewise.
8892         (cpp.dvi): Likewise.
8893         (gcc.dvi): Likewise.
8894         (gccint.dvi): Likewise.
8895         (gccinstall.dvi): Likewise.
8896         (cppinternals.dvi): Likewise.
8897         (gcov.1): Likewise.
8898         (cpp.1): Likewise.
8899         (gcc.1): Likewise.
8900         (gfdl.7): Likewise.
8901         (gpl.7): Likewise.
8902         (fsf-funding.7): Likewise.
8903         ($(objdir)/%.info): New pattern rule.
8904         (%.dvi): Likewise.
8905
8906 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
8907
8908         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
8909         (restage2): Likewise.
8910         (restage3): Likewise.
8911         (restage4): Likewise.
8912         (restageprofile): Likewise.
8913         (restagefeedback): Likewise.
8914         (bubblestrap): Likewise.
8915
8916 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
8917
8918         * config.gcc: Narrow unsupported target match to avoid clobbering
8919         i?86-sequent-sysv4*.
8920
8921 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8922
8923         * builtins.c (mathfn_built_in): Handle new math builtins.
8924
8925 2003-08-28  Per Bothner  <per@bothner.com>
8926
8927         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
8928         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
8929         (_cpp_lex_buffer):  Likewise.
8930         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
8931
8932 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
8933
8934         * config/s390/s390.md ("*mulsi3_sign"): New insn.
8935         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
8936         ("mulsidi3"): ... this new insn.
8937         ("umulsidi3"): New insn.
8938         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
8939         mixed-mode matching constraints.
8940         ("udivmodsi4", "udivmoddisi3"): New insns.
8941         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
8942
8943 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8944
8945         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
8946         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
8947         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
8948         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
8949         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
8950         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
8951         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
8952         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
8953         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
8954         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
8955         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
8956         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
8957         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
8958         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
8959         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
8960         * tree.c: Assign new type_nodes.
8961         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
8962         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
8963         (float_ptr_type_node, double_ptr_type_node,
8964         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
8965
8966         * doc/extend.texi: Document new builtins.
8967
8968 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8969
8970         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
8971         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
8972
8973         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
8974         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
8975         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
8976         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
8977         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
8978         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
8979         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
8980         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
8981         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
8982         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
8983
8984         * doc/extend.texi: Document new builtins.
8985
8986 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
8987
8988         * fixinc/mkfixinc.sh: Remove special case code for unsupported
8989         variants of i?86, powerpcle, and thumb.
8990         * fixinc/mkfixinc.sh: Remove special case code for unsupported
8991         arm and hppa variants.
8992
8993 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8994
8995         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
8996         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
8997         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
8998         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
8999         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
9000         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
9001         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
9002         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
9003         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
9004         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
9005
9006         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
9007         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
9008         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
9009         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
9010         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
9011         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
9012         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
9013         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
9014         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
9015         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
9016         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
9017         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
9018         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
9019         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
9020         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
9021         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
9022         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
9023         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
9024         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
9025         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
9026         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
9027         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
9028         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
9029         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
9030         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
9031         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
9032         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
9033         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
9034         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
9035         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
9036         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
9037
9038         * doc/extend.texi: Document new builtins.
9039
9040 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
9041
9042         * config/s390/s390.c (legitmate_constant_p): Use LARL on
9043         zSeries machines even in 31-bit addressing mode.
9044         (legitimate_reload_constant_p): Likewise.
9045         (legitimize_pic_address): Likewise.
9046         (legitimize_tls_address): Likewise.
9047         (s390_split_branches): Likewise.
9048         (s390_dump_pool): Likewise.
9049         (s390_mainpool_finish): Likewise.
9050         (s390_chunkify_start): Likewise.
9051         (s390_select_rtx_section): Likewise.
9052         * config/s390/s390.md ("doloop_si"): Likewise.
9053         ("pool_start_31", "pool_end_31"): Likewise.
9054         ("pool_start_64", "pool_end_64"): Likewise.
9055         ("main_base_31_small", "main_base_31_large"): Likewise.
9056         ("main_base_64"): Likewise.
9057         ("reload_base_31", "reload_base_64"): Likewise.
9058         ("*movsi_larl"): New insn.
9059         ("cjump", "icjump"): Use long branches on zSeries machines.
9060         ("jump"): Likewise.
9061         ("call"): Use BRASL on zSeries machines.
9062         ("call_value", "call_value_tls"): Likewise.
9063         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9064         and replace by ...
9065         ("*bras", "*brasl", "*basr") ... these new insns.
9066         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9067         "bas_31_r"): Remove and replace by ...
9068         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
9069         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9070         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
9071         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
9072         ("*return_si", "*return_di"): Remove and replace by ...
9073         ("*return"): ... this new insn.
9074         ("rotlsi3"): Allow on zSeries machines.
9075
9076         * config/s390/s390.c (legitimize_reload_constant_p): Use
9077         LL/LH type instructions in z/Architecture mode.
9078         * config/s390/s390.md ("*movsi_lli"): Likewise.
9079         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
9080         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
9081         ("*extendqisi2"): Use LB in z/Architecture mode.
9082         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9083         z/Architecture mode.
9084         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9085         Likewise.
9086
9087         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
9088         and 31-bit mode.
9089         ("ptr_extend"): Allow only in 64-bit mode.
9090
9091 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
9092
9093         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
9094         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
9095         definitions.
9096         (main): Only use standard_startfile_prefix if native.
9097         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
9098
9099 2003-08-27  Per Bothner  <pbothner@apple.com>
9100
9101         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
9102         test fails following my 08-21 change, and it seems unnecessary anyway.
9103         (cpp_error):  Likewise.
9104
9105 2003-08-27  Jason Merrill  <jason@redhat.com>
9106
9107         * real.c (do_multiply): Initialize with memset.
9108
9109 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9110
9111         * gcov.c (typedef struct arc_info): New field cs_count.
9112         (accumulate_line_counts): Find cycles correctly.
9113
9114 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
9115
9116         * config/s390/s390.c (struct machine_function): Remove member
9117         literal_pool_label.
9118         (s390_optimize_prolog): Replace TEMP_REG argument with
9119         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
9120         (general_s_operand): Accept all immediates before reload if
9121         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
9122         references.
9123         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
9124         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
9125         (s390_alloc_pool): New function.
9126         (s390_new_pool): Call it.
9127         (s390_dump_pool): Add REMOTE_LABEL argument.
9128         (s390_chunkify_start): Add BASE_REG argument.  Do not check
9129         get_pool_size ().
9130         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
9131         s390_dump_pool call.
9132         (s390_pool_count, s390_nr_constants): Remove.
9133         (s390_output_constant_pool): Remove.
9134         (s390_mainpool_start): New function.
9135         (s390_mainpool_finish): New function.
9136         (s390_mainpool_cancel): New function.
9137         (s390_reorg): Implement main literal pool handling.
9138         (s390_emit_prologue): Emit main_pool placeholder instead of
9139         literal_pool_31 / literal_pool_64 insns.
9140         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
9141         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
9142         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
9143         ("main_base_31_small", "main_base_31_large"): New insns.
9144         ("main_base_64",  "main_pool"): New insns.
9145         ("literal_pool_31", "literal_pool_64"): Remove.
9146
9147 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9148
9149         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
9150         fixinc.ptx.
9151         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
9152         Prettify a little.
9153         * fixinc/fixincl.x: Regenerate.
9154
9155 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
9156
9157         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
9158         (L_ieee754_dp): New.  Include ieee754-df.S.
9159         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
9160         and compilation in apcs-26 mode.
9161         * arm/ieee754-df.S: Likewise.
9162         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
9163         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
9164
9165 2003-08-27  Nicolas Pitre  <nico@cam.org>
9166
9167         * arm/ieee754-sf.S: New.
9168         * arm/ieee754-df.S: New.
9169
9170 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
9171
9172         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
9173         and restore it if returning NULL.
9174
9175 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
9176
9177         * calls.c (initialize_argument_information): If an argument has no
9178         stack space associated with it, and BLOCK_REG_PADDING is defined,
9179         use it to decide at which end the argument should be padded.
9180         * function.c (assign_parms): Allocate BLKmode stack slots.
9181         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
9182         (mips_pad_reg_upward): Declare.
9183         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
9184         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
9185         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
9186         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
9187         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
9188         (mips_expand_call): Remove code for generating structure shifts.
9189         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
9190         types unless using the EABI.
9191         (function_arg_advance): Don't generate shift instructions.
9192         (function_arg): Don't return them.  Don't short-circuit the
9193         check for double structure chunks for DFmode arguments.
9194         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
9195         (mips_expand_prologue): Remove code to emit structure shifts.
9196         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
9197         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
9198         comments to say that only structure returns are a problem.
9199
9200 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9201
9202         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
9203         Fix to match produced versions.
9204         * fixinc/inclhack.def (longlong_t): New disabled test, ported
9205         from fixinc.svr4.
9206         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
9207         from fixinc.ptx.
9208         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
9209         ported from fixinc.ptx.
9210
9211 2003-08-26  Per Bothner  <pbothner@apple.com>
9212
9213         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
9214         (cpp_error_with_line):  Use fileline for appropriate parameter.
9215         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
9216         (struct cpp_reader):  Likewise for fields line and directive_line.
9217         (_cpp_begin_message):  Use fileline for appropriate parameter.
9218         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
9219         cpp_error):  Use fileline for appropriate parameters and variables.
9220         (print_location):  New local lin, since it is not a fileline.
9221
9222 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9223
9224         PR middle-end/12002
9225         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
9226         (FLOAT_TYPE_P): Define in terms of these two new macros.
9227         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
9228         for complex floating point types.
9229
9230 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
9231
9232         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
9233         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
9234         s390_output_pool_entry.
9235
9236 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
9237
9238         * fixinc/inclhack.def (svr4_preproc_lint_on,
9239         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
9240         fixes, ported from fixinc.svr4.
9241
9242 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
9243
9244         * doc/install.texi (Prerequisites): Mention GNU make requirement.
9245
9246         * Makefile.in (AR_FOR_TARGET): Export it.
9247         (AR_CREATE_FOR_TARGET): Likewise.
9248         (AR_FLAGS_FOR_TARGET): Likewise.
9249         (AR_EXTRACT_FOR_TARGET): Likewise.
9250         (AWK): Likewise.
9251         (BUILD_PREFIX): Likewise.
9252         (BUILD_PREFIX_1): Likewise.
9253         (DESTDIR): Likewise.
9254         (GCC_FOR_TARGET): Likewise.
9255         (INCLUDES): Likewise.
9256         (INSTALL_DATA): Likewise.
9257         (LIB1ASMSRC): Likewise.
9258         (LIBGCC2_CFLAGS): Likewise.
9259         (MACHMODE_H): Likewise.
9260         (NM_FOR_TARGET): Likewise.
9261         (RANLIB_FOR_TARGET): Likewise.
9262         (libsubdir): Likewise.
9263         (slibdir): Likewise.
9264         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
9265         exporting.
9266         (libgcc.a): Don't pass them here.
9267         (stmp-multilib): Or here.
9268         (install-libgcc): Or here.
9269         (install-multilib): Or here.
9270         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
9271         (stage1_build): Or here.
9272
9273 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9274
9275         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
9276         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
9277
9278 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
9279
9280         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
9281         "*fmaddsf", "*fmsubsf"): New insns.
9282
9283 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9284
9285         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
9286         (C1*C2)/X when unsafe math optimizations are allowed.
9287         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
9288         math optimizations.  Minor code clean-ups.  Recursively call
9289         fold when constructing sub-expressions.
9290
9291 2003-08-26  Roger Sayle  <roger@eyesopen.com>
9292
9293         * builtins.c (fold_builtin_bitop): New function to perform constant
9294         folding of ffs, clz, ctz, popcount and parity builtin functions
9295         and their long and long long variants (such as ffsl and ffsll).
9296         (fold_builtin): fold_builtin_bitop when appropriate.
9297         * simplify-rtx.c (simplify_unary_operation): Honor both
9298         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
9299         evaluating clz and ctz at compile-time, for operands wider
9300         than HOST_WIDE_INT.
9301
9302 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
9303
9304         * builtins.c (build_function_call_expr): Don't set
9305         TREE_SIDE_EFFECTS here.
9306         * expr.c (emit_block_move_via_libcall): Likewise.
9307         (clear_storage_via_libcall): Likewise.
9308         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9309         CALL_EXPRs.
9310
9311         * gcse.c (is_too_expensive): New function.
9312         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9313
9314 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
9315
9316         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9317         commented-out logic to use DCE threads (if present), add
9318         support for POSIX threads.
9319         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9320         #defines for -pthread.  Add -lpthread to LIB_SPEC when
9321         -pthread.  In both cases take -mt as a synonym for -pthread
9322         for acc compatibility.
9323         Define GTHREAD_USE_WEAK to 0.
9324         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9325         Remove old logic for DCE threads from LIB_SPEC.
9326         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9327
9328 2003-08-25  Roger Sayle  <roger@eyesopen.com>
9329
9330         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
9331         return 0 for invalid argument types.  Instead drop through to a
9332         call of expand_call at the bottom of function.  If op is SQRT,
9333         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9334
9335 2003-08-25  Richard Henderson  <rth@redhat.com>
9336
9337         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9338         result when op0 is SImode.
9339
9340 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
9341
9342         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9343         from fixinc.svr4.
9344         * fixinc/fixincl.x: Regenerate.
9345         * fixinc/tests/base/sys/signal.h: Regenerate.
9346
9347 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9348
9349         * combine.c (simplify_comparison): Re-enable widening of comparisons
9350         with non-paradoxical subregs of non-REG expressions.
9351
9352 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9353
9354         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9355
9356 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
9357
9358         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9359
9360 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9361
9362         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9363         * c-pretty-print.h (c_pretty_printer): Now typedef to the
9364         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
9365         (struct c_pretty_print_info): Document.  Add new fields.
9366         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9367         (pp_direct_abstract_declarator): New macro.
9368         (pp_ptr_operator): Likewise.
9369         (pp_simple_type_specifier): Likewise.
9370         (pp_expression): Likewise.
9371         (pp_parameter_list): Rename from pp_parameter_declaration.
9372         * c-pretty-print.c (pp_c_whitespace): Now a function.
9373         (pp_c_left_paren): Likewise.
9374         (pp_c_right_paren): Likewise.
9375         (pp_c_dot): Likewise.
9376         (pp_c_ampersand): Likewise.
9377         (pp_c_arrow): Likewise.
9378         (pp_c_semicolon): Likewise.
9379         (pp_c_type_cast): New function.
9380         (pp_c_space_for_pointer_operator): Likewise.
9381         (pp_c_call_argument_list): Likewise.
9382         (pp_c_cv_qualifier): Adjust prototype.
9383         (pp_c_type_qualifier_list): Likewise.
9384         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
9385         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9386         Adjust to follow standard grammar.
9387         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
9388         REFERENCE_TYPE.  Tidy.
9389         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
9390         (pp_c_parameter_declaration): Remove.
9391         (pp_c_abstract_declarator): Adjust prototype.
9392         (pp_c_direct_abstract_declarator): Likewise.
9393         (pp_c_type_id): Likewise.
9394         (pp_c_storage_class_specifier): Likewise.
9395         (pp_c_function_specifier): Likewise.
9396         (pp_c_declaration_specifiers): Likewise.
9397         (pp_c_direct_declarator): Likewise.
9398         (pp_c_declarator): Likewise.
9399         (pp_c_declarator): Likewise.
9400         (pp_c_declaration): Likewise.
9401         (pp_c_attributes): Likewise.  Tidy.
9402         (pp_c_function_definition): Adjust prototype.
9403         (pp_c_char): Likewise.
9404         (pp_c_string_literal): Likewise.
9405         (pp_c_integer_constant): Likewise.
9406         (pp_c_character_constant): Likewise.
9407         (pp_c_bool_constant): Likewise.
9408         (pp_c_enumeration_constant): Likewise.
9409         (pp_c_floating_constant): Likewise.
9410         (pp_c_constant): Likewise.
9411         (pp_c_identifier): Likewise.
9412         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
9413         (pp_c_initializer): Adjust prototype.
9414         (pp_c_init_declarator): Likewise.
9415         (pp_c_initializer_list): Likewise.
9416         (pp_c_id_expression): Likewise.
9417         (pp_c_postfix_expression): Likewise.
9418         (pp_c_expression_list): Likewise.
9419         (pp_c_unary_expression): Likewise.
9420         (pp_c_cast_expression): Likewise.
9421         (pp_c_multiplicative_expression): Likewise.
9422         (pp_c_additive_expression): Likewise.
9423         (pp_c_shift_expression): Likewise.
9424         (pp_c_relational_expression): Likewise.
9425         (pp_c_equality_expression): Likewise.
9426         (pp_c_and_expression): Likewise.
9427         (pp_c_exclusive_or_expression): Likewise.
9428         (pp_c_inclusive_or_expression): Likewise.
9429         (pp_c_logical_and_expression): Likewise.
9430         (pp_c_logical_or_expression): Likewise.
9431         (pp_c_conditional_expression): Likewise.
9432         (pp_c_assignment_expression): Likewise.
9433         (pp_c_expression): Likewise.  Tidy.
9434         (pp_c_statement): Likewise.  Document.
9435         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9436
9437         * c-lang.c (c_initialize_diagnostics): Update.
9438         * c-common.h (strip_pointer_operator): Declare.
9439         * c-common.c (strip_pointer_operator): Define.
9440
9441 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
9442
9443         PR c++/8795
9444         * tree.h (build_method_type_directly): Declare.
9445         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9446         (vector_size_helper): Likewise.
9447         * tree.c (build_method_type_directly): New function.
9448         (build_method_type): Use it.
9449
9450 2003-08-24  Richard Henderson  <rth@redhat.com>
9451
9452         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
9453         for 16-byte vector modes if sse not enabled; warn for abi change.
9454         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9455
9456 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
9457
9458         * rtlanal.c (may_trap_p): Simplify an integer comparison.
9459
9460 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
9461
9462         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
9463         comment.  Enable for DYNIX/ptx systems (when they switch to
9464         regular fixincludes).
9465         * fixinc/fixincl.x: Regenerate.
9466
9467 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9468
9469         * config/i860/t-i860: New.
9470         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9471
9472 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
9473
9474         * c-decl.c (pushdecl): Only put decls which finish_struct will do
9475         something about onto incomplete chain.
9476         (finish_struct): If not removing type from incomplete
9477         list, update prev.
9478
9479 2003-08-20  Jan Hubicka  <jh@suse.cz>
9480
9481         PR target/11369
9482         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9483
9484         PR target/11031
9485         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9486         const_0_to_15_operand, const_0_to_255_operand): New predicates.
9487         * i386.h (PREDICATE_CODES): Add these.
9488         * i386.c (pinsrw and pextrw patterns): Use them.
9489
9490         PR target/10984
9491         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9492
9493         PR target/8869
9494         * expr.c (convert_modes): Deal properly with integer to vector
9495         constant conversion.
9496
9497         PR target/8871
9498         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9499
9500 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9501
9502         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9503         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9504         ("*movhi"): ... this.
9505         ("movqi", "*movqi"): Likewise.
9506         ("movqi_64"): Remove.
9507         ("*zero_extendhisi2_31"): Change predicate to s_operand.
9508
9509 2003-08-23  Dale Johannesen  <dalej@apple.com>
9510         * calls.c (emit_library_call_value_1): Fix obvious errors in
9511         arguments to emit_group_store.
9512
9513 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9514
9515         * calls.c (emit_library_call_value_1): Remove code related
9516         to LIBGCC_NEEDS_DOUBLE.
9517         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9518         * doc/tm.texi: Likewise.
9519         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9520
9521 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9522
9523         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9524
9525 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
9526
9527         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9528         as well.  Put memory references in the varargs alias set.
9529         (mips_expand_prologue): Remove varargs handling from here.
9530
9531 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9532
9533         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9534         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9535         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9536         for function pointer calls.
9537         * config/s390/s390.md ("*negdi2_31"): Likewise.
9538
9539 2003-08-23  Roger Sayle  <roger@eyesopen.com>
9540
9541         * combine.c (apply_distributive_law): Correct comment.
9542
9543 2003-08-23  Jason Eckhardt  <jle@rice.edu>
9544
9545         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9546
9547 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9548
9549         * config/i860/i860.c (i860_build_va_list): Create the va_decl
9550         declaration.  Document the va_list structure.
9551         (i860_va_start): Initialize the va_list structure.
9552         (i860_va_arg): Rewrite completely.
9553         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9554         * config/i860/varargs.asm: Do not allocate or initialize
9555         a va_list.  Return the address of the register save area.
9556
9557 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9558
9559         * config/iq2000/iq2000.c: Fix comment typos.
9560         * config/iq2000/iq2000.md: Likewise.
9561
9562 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9563
9564         * config/iq2000/iq2000.c: Follow spelling conventions.
9565         * config/iq2000/iq2000.h: Likewise.
9566         * config/mn10300/mn10300.c: Likewise.
9567
9568 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9569
9570         * config/i860/i860.c (output_move_double): Don't set latehalf
9571         to zero for CONST_INT (since it could be, e.g., -1).
9572
9573         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
9574         (MODSI3_LIBCALL): ...with this one.
9575         (UREMSI3_LIBCALL): Replace this macro...
9576         (UMODSI3_LIBCALL): ...with this one.
9577
9578 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9579
9580         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
9581         (output_delayed_branch): Remove prototype.
9582         (single_insn_src_p): Remove prototype.
9583         * config/i860/i860.c (single_insn_src_p): Remove function.
9584         (output_delayed_branch): Remove function.
9585         (output_delay_insn): Remove function.
9586         (va_start): Remove unconditional test and dead code, re-format.
9587         Fix coding style and spelling problems in various comments.
9588         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
9589         (blockage pattern): ...and use it here.
9590         (all define_peephole patterns related to delayed branches): Remove.
9591         Fix coding style and spelling problems in various comments.
9592
9593 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9594
9595         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
9596         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
9597         Convert all function definitions from traditional to ISO C90 syntax.
9598         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
9599         with 'GCC'.  Remove all uses of the PARAMS macro.
9600         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
9601         * config/i860/i860.md: Likewise.
9602         * config/i860/sysv4.h: Likewise.
9603         * config/i860/varargs.asm: Likewise.
9604
9605 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9606
9607         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
9608         argument.
9609         (tdesc_section): Add prototype.
9610         Update copyright dates.
9611         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
9612         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
9613         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
9614         (targetm): Likewise.
9615         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
9616         for '%d' where necessary.
9617         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
9618         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
9619         by UNITS_PER_WORD when referencing (likewise for .floats).
9620         (I860_SVR4_VARARGS): Rename...
9621         (I860_SVR4_VA_LIST): ...to this.
9622         Call build() with 't' rather than 'field'.
9623         (i860_rtx_costs): New function.
9624         (TARGET_RTX_COSTS): Define.
9625         (i860_internal_label): New function.
9626         (TARGET_ASM_INTERNAL_LABEL): Define.
9627         (i860_file_start): New function.
9628         Update copyright dates.
9629         * config/i860/i860.h (CPP_PREDEFINES): Remove.
9630         (TARGET_CPU_CPP_BUILTINS): Define.
9631         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
9632         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
9633         (ASM_FILE_START): Remove.
9634         (ASM_FILE_START_1): Remove.
9635         (ASM_GLOBALIZE_LABEL): Remove.
9636         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
9637         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
9638         with targetm.asm_out.internal_label.
9639         Update copyright dates.
9640         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
9641         (CPP_PREDEFINES): Remove.
9642         (TARGET_OS_CPP_BUILTINS): Define.
9643         (GLOBAL_ASM_OP): Define.
9644         (ASM_FILE_START): Remove.
9645         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
9646         (TARGET_ASM_FILE_START): Define.
9647         Update copyright dates.
9648
9649 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9650
9651         * gcc/config.gcc (i860-*-sysv4*): Add target.
9652         * config/i860/i860-protos.h: New.
9653         * config/i860/i860.c: New.
9654         * config/i860/i860.h: New.
9655         * config/i860/i860.md: New.
9656         * config/i860/sysv4.h: New.
9657         * config/i860/varargs.asm: New.
9658         * config/i860/x-sysv4: New.
9659
9660 2003-08-22  Jason Eckhardt  <jle@rice.edu>
9661
9662         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
9663         Remove all uses of PARAMS macro.
9664         Convert all function definitions to ISO C90 syntax.
9665         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
9666         * config/pa/fptr.c: Likewise.
9667         * config/pa/lib2funcs.asm: Likewise.
9668         * config/pa/long_double.h: Likewise.
9669         * config/pa/milli64.S: Likewise.
9670         * config/pa/pa-64.h: Likewise.
9671         * config/pa/pa-hpux.h: Likewise.
9672         * config/pa/pa-hpux10.h: Likewise.
9673         * config/pa/pa-hpux11.h: Likewise.
9674         * config/pa/pa-linux.h: Likewise.
9675         * config/pa/pa-modes.def: Likewise.
9676         * config/pa/pa-osf.h: Likewise.
9677         * config/pa/pa-pro-end.h: Likewise.
9678         * config/pa/pa.md: Likewise.
9679         * config/pa/pa32-linux.h: Likewise.
9680         * config/pa/pa64-linux.h: Likewise.
9681         * config/pa/pa64-hpux.h: Likewise.
9682         * config/pa/pa64-regs.h: Likewise.
9683         * config/pa/quadlib.c: Likewise.
9684         * config/pa/rtems.h: Likewise.
9685         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
9686         all uses of the PARAMS macro.
9687         * config/pa/pa.h: Likewise.
9688         * config/pa/som.h: Likewise.
9689
9690         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
9691         Remove all uses of PARAMS macro.
9692         Convert all function definitions to ISO C90 syntax.
9693         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
9694         Remove all uses of PARAMS macro.
9695         * config/iq2000.h: Remove all uses of PARAMS macro.
9696         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
9697
9698 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
9699
9700         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
9701         * config/s390/s390.c (gen_consttable): Remove.
9702         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
9703         (s390_output_pool_entry): New function.
9704         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
9705         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
9706         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
9707         (UNSPECV_POOL_ENTRY): ... this new constant.
9708         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
9709         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
9710         ("*pool_entry"): ... and replace by this new insn.
9711         ("literal_pool_31"): Do not emit anchor label if pool empty.
9712
9713         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
9714         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
9715         (s390_fixup_clobbered_return_reg): Remove.
9716         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
9717         (s390_return_addr_rtx): Always retrieve return address from save area
9718         slot.  Use save_return_addr_p to force slot to be filled.
9719         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
9720
9721 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
9722
9723         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
9724         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
9725         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
9726         around SB-1 errata if TARGET_FIX_SB1 is set.
9727         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
9728         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
9729
9730 2003-08-22  Roger Sayle  <roger@eyesopen.com>
9731
9732         * hashtable.c (ht_expand): Avoid calculating rehash for the common
9733         case that the first probe hits an empty hash table slot.
9734
9735 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
9736
9737         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
9738
9739 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
9740
9741         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
9742         (ptr_extend_plus_imm): ... this.
9743         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
9744         optimization in C++.
9745         (ia64_output_mi_thunk): Support ILP32 mode.
9746
9747 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
9748
9749         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
9750         function.
9751         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
9752
9753 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9754
9755         * config/i386/i386.c (const_int_1_operand): Simplify an
9756         integer comparison.
9757
9758 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
9759
9760         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
9761         * config/rs6000/ppc64-fp.c: Likewise.
9762
9763 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9764
9765         * cfgcleanup.c: Fix comment typos.
9766         * emit-rtl.c: Likewise.
9767         * optabs.c: Likewise.
9768         * ra-build.c: Likewise.
9769         * rtlanal.c: Likewise.
9770         * tree.h: Likewise.
9771
9772 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9773
9774         * c-decl.c: Fix comment formatting.
9775         * cfgrtl.c: Likewise.
9776         * combine.c: Likewise.
9777         * convert.c: Likewise.
9778         * dominance.c: Likewise.
9779         * dwarf2out.c: Likewise.
9780         * dwarfout.c: Likewise.
9781         * expmed.c: Likewise.
9782         * fold-const.c: Likewise.
9783         * gcov.c: Likewise.
9784         * genattrtab.c: Likewise.
9785         * ggc-common.c: Likewise.
9786         * mips-tfile.c: Likewise.
9787         * regmove.c: Likewise.
9788
9789 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
9790
9791         * builtin-attrs.def: Fix comment formatting.
9792         * c-pretty-print.c: Likewise.
9793         * diagnostic.h: Likewise.
9794         * langhooks.h: Likewise.
9795         * recog.c: Likewise.
9796         * simplify-rtx.c: Likewise.
9797         * tree.def: Likewise.
9798
9799 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
9800
9801         * config/m68k/m68k-protos.h: Convert to ISO C90.
9802         * config/m68k/m68k.c: Likewise.
9803
9804 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
9805             Paul Dale  <pauli@snapgear.com>
9806             Peter Barada <peter@baradas.org>
9807
9808         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
9809         ColdFire cores.
9810
9811 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
9812
9813         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
9814         * config.gcc (*-*-openbsd): Don't set tm_file.
9815         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
9816         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
9817         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
9818         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
9819         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
9820         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
9821         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
9822         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
9823         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
9824         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
9825         xscale-*-coff): Use explicit and complete lists of target headers
9826         to include.  Move definitions to tm_defines where appropriate.
9827         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
9828         not-yet-contributed configuration.
9829
9830         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
9831         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
9832         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
9833         * config/i386/nto.h, config/iq2000/iq2000.h,
9834         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
9835         * config/m68k/linux.h, config/m68k/m68k-aout.h
9836         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
9837         * config/m68k/netbsd.h, config/m68k/openbsd.h
9838         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
9839         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
9840         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
9841         Remove includes of other target config headers, and
9842         definitions of macros moved to tm_defines lists.  Add #undefs
9843         where now necessary to prevent redefinition warnings.
9844
9845         * config/h8300/coff.h: New file split out of...
9846         * config/h8300/elf.h: ...here.
9847         * config/m68k/hp320base.h: New file split out of...
9848         * config/m68k/hp320.h: ...here.
9849         * config/rs6000/lynxbase.h: New file split out of...
9850         * config/rs6000/lynx.h: ...here.
9851
9852         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
9853         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
9854
9855         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
9856         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
9857         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
9858         Remove unnecessary #ifndef.
9859         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
9860         [under IN_LIBGCC2] with config/.
9861
9862 2003-08-21  Per Bothner  <pbothner@apple.com>
9863
9864         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
9865         to cpp_push_buffer.
9866         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
9867         by return_at_eof check.  Always call _cpp_pop_buffer at end.
9868
9869 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
9870
9871         PR target/11805
9872         * config/h8300/h8300.md (two anonymous patterns): Remove.
9873
9874 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
9875
9876         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
9877         * config/mips/mips.c (function_arg_pass_by_reference): Never return
9878         true for n32 & n64.
9879
9880 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
9881
9882         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
9883         and similarly in (A | C) == D where C & ~D != 0.
9884
9885 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
9886
9887         PR 8180
9888         * configure.in: When testing with_libs and with_headers, treat
9889         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
9890         * configure: Regenerate.
9891
9892 2003-08-20  Peter Barada <peter@baradas.org>
9893
9894         * longlong.h (umul_ppmm): Add ColdFire support.
9895
9896 2003-08-20  Peter Barada <peter@baradas.org>
9897             Bernardo Innocenti  <bernie@develer.com>
9898
9899         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
9900         * config/m68k/m68k.h: Likewise.
9901         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
9902         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
9903         * config/m68k/linux.h: Likewise.
9904         * config/m68k/m68k.c: Likewise.
9905         * config/m68k/m68k.md: Likewise.
9906         * config/m68k/m68kelf.h: Likewise.
9907         * config/m68k/netbsd-elf.h: Likewise.
9908         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
9909
9910 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
9911
9912         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
9913         * config/m68k/m68k.md: Likewise.
9914
9915 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
9916
9917         PR java/11996
9918         Revert this change:
9919         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
9920         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
9921         types with precisions other than those given by native machine
9922         modes.
9923
9924 2003-08-20  Gunther Nikl  <gni@gecko.de>
9925
9926         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
9927         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
9928         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
9929         * config/m68k/m68k.md (anonymous define_insn): Likewise
9930         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
9931         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
9932         code selected by NO_ASM_FMOVECR
9933
9934 2003-08-20  Gunther Nikl  <gni@gecko.de>
9935
9936         * config/m68k/m68k.c (output_move_const_into_data_reg,
9937         output_move_himode): unify MOTOROLA/MIT handling of moveq
9938         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
9939         Likewise
9940
9941 2003-08-20  Gunther Nikl  <gni@gecko.de>
9942
9943         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
9944         label name
9945         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
9946         HOST_WIDE_INT_PRINT_DEC with %wd
9947
9948 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
9949
9950         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
9951         redefine warning.
9952
9953 2003-08-20  Roger Sayle  <roger@eyesopen.com>
9954
9955         PR middle-end/11984
9956         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
9957         operands before calling tree_int_cst_lt when performing associative
9958         transformations.
9959
9960 2003-08-20  Jason Merrill  <jason@redhat.com>
9961
9962         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
9963         (EXPR_CHECK): Don't check for 'r' or 's' if we're
9964         checking IS_EXPR_CODE_CLASS.
9965         * calls.c (calls_function_1): Likewise.
9966         * fold-const.c (fold): Likewise.
9967         * tree.c (iterative_hash_expr): Likewise.
9968         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
9969
9970 2003-08-20  Gunther Nikl  <gni@gecko.de>
9971
9972         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
9973         depending on MOTOROLA_BSR
9974         * config/m68k/m68k.md (anonymous define_insn): Likewise
9975
9976 2003-08-20  Jason Merrill  <jason@redhat.com>
9977
9978         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
9979         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
9980         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
9981         * dojump.c (do_jump): Likewise.
9982         * fold-const.c (operand_equal_p, fold): Likewise.
9983         (tree_expr_nonnegative_p): Likewise.
9984
9985         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
9986         TYPE_USER_ALIGN for FIELD_DECLs.
9987
9988         * attribs.c (decl_attributes): Rebuild the function pointer type after
9989         changing the target type.
9990         * tree.c (get_qualified_type): Also check that the attributes match.
9991
9992 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
9993
9994         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
9995         * objc/config-lang.in (stagestuff): ... to here.
9996
9997 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
9998
9999         PR c++/11946
10000         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
10001         NOP_EXPR) when necessary.
10002         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
10003         types with precisions other than those given by native machine
10004         modes.
10005
10006 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
10007
10008         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
10009         because some macro is defined.
10010
10011         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
10012         options.
10013         * config/i386/darwin.h (ASM_SPEC): New.
10014         (SUBTARGET_EXTRA_SPECS): New.
10015         * config/rs6000/darwin.h (ASM_SPEC): New.
10016         (SUBTARGET_EXTRA_SPECS): New.
10017         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
10018         a cross-compiler between two different processors on Darwin.
10019         * configure: Regenerate.
10020
10021 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10022
10023         * builtins.c: Fix comment typos.
10024         * c-common.c: Likewise.
10025         * c-decl.c: Likewise.
10026         * c-pretty-print.c: Likewise.
10027         * cfgbuild.c: Likewise.
10028         * cfglayout.c: Likewise.
10029         * cfgloopanal.c: Likewise.
10030         * cgraphunit.c: Likewise.
10031         * cppfiles.c: Likewise.
10032         * dwarfout.c: Likewise.
10033         * expr.c: Likewise.
10034         * fold-const.c: Likewise.
10035         * gcse.c: Likewise.
10036         * ggc-page.c: Likewise.
10037         * haifa-sched.c: Likewise.
10038         * pretty-print.c: Likewise.
10039         * tree.c: Likewise.
10040         * tree.h: Likewise.
10041         * value-prof.c: Likewise.
10042
10043 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10044
10045         * c-decl.c: Follow spelling conventions.
10046         * cppfiles.c: Likewise.
10047
10048 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
10049
10050         * c-common.c: Fix comment formatting.
10051         * c-common.h: Likewise.
10052         * c-decl.c: Likewise.
10053         * cppinit.c: Likewise.
10054         * cpplib.h: Likewise.
10055         * emit-rtl.c: Likewise.
10056         * input.h: Likewise.
10057         * line-map.h: Likewise.
10058         * opts.c: Likewise.
10059         * opts.h: Likewise.
10060         * simplify-rtx.c: Likewise.
10061
10062 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
10063
10064         * unwind-c.c: Add libgcc-style exception.
10065         * unwind-dw2.c: Likewise.
10066         * unwind-pe.h: Likewise.
10067         * unwind-sjlj.c: Likewise.
10068         * unwind.inc: Likewise.
10069
10070 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10071
10072         PR c/5582 PR c++/10538
10073         * langhooks-def.h (lhd_decl_uninit): Declare.
10074         (LANG_HOOKS_DECL_UNINIT): New macro.
10075         (LANG_HOOKS_INITIALIZER): Adjust.
10076         * langhooks.h (struct lang_hooks): Add new field
10077         decl_uninit.
10078         * langhooks.c (lhd_decl_uninit): Define.
10079         * c-common.c (c_decl_uninit_1): New function.
10080         (c_decl_uninit): New function.
10081         (warn_init_self): Define.
10082         * c-common.h (c_decl_uninit): Declare.
10083         (warn_init_self): Declare.
10084         * c.opt: Introduce -Winit-self.
10085         * c-opts.c (c_common_handle_options): Set warn_init_self.
10086         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
10087         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
10088         * function.c (uninitialized_vars_warning): Call the language hook.
10089         * doc/invoke.texi: Document -Winit-self.
10090
10091 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
10092
10093         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
10094         to use better predicates and constraints.  Define new
10095         instruction to handle "trap_if" with DI-mode arguments.
10096         (conditional_trap): FAIL if trap code is not 0.
10097
10098 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
10099
10100         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
10101         strstr with $pb to a strcompare with "<pic base>"
10102         (ix86_output_addr_diff_elt): Output the real pic base.
10103
10104 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10105
10106         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
10107         (LANG_HOOKS_INITIALIZER): Correct.
10108         * c-lang.c: Likewise.
10109
10110 2003-08-19  Jan Hubicka  <jh@suse.cz>
10111
10112         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
10113         (cgraph_varpool_mark_needed_node): Likewise.
10114         * cgraph.h (notice_global_symbol): Declare
10115         * varasm.c (notice_global_symbol): Break out from ...
10116         (assemble_start_function): ... here; update for variables.
10117         (assemble_variable): Use notice_global_symbol.
10118
10119 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10120
10121         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
10122         expect SFmode and DFmode arguments to be passed in FPRs,
10123         regardless of the underlying type.
10124
10125 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
10126
10127         PR target/11924
10128         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
10129         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
10130
10131 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
10132
10133         PR c/11207
10134         * c-typeck.c (set_init_index): Check for negative index.
10135
10136 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
10137
10138         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
10139         call0 ABI.
10140         * config/xtensa/crtn.asm (_init, _fini): Likewise.
10141         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10142         __umodsi3, __modsi3): Likewise.
10143         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
10144         $(INCLUDES).
10145
10146 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
10147
10148         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
10149
10150 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10151
10152         * config/mips/mips.md: Quote C code in braces.  Remove use of
10153         fake const0_rtx operands.  Remove double backslashes.  Use \;.
10154         Remove workarounds for bogus warnings.
10155
10156 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10157
10158         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
10159         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
10160         rather than TARGET_MIPS4300.
10161         (mulsf3_internal, mulsf3_r4300): Likewise.
10162
10163 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
10164
10165         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
10166
10167 2003-08-17  Roger Sayle  <roger@eyesopen.com>
10168
10169         * simplify-rtx.c (associative_constant_p): New function to test
10170         whether an RTX expression is an immediate constant.
10171         (simplify_associative_operation): New function to perform some
10172         reassociation optimizations of associative binary expressions.
10173         (simplify_binary_operation): Use simplify_associative_operation
10174         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
10175         Floating point expressions are only reassociated when unsafe
10176         math optimizations are permitted.
10177
10178 2003-08-17  Andreas Jaeger  <aj@suse.de>
10179
10180         * config/alpha/alpha.md: Remove usage of PARAMS.
10181
10182         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
10183         * config/i386/i386-interix.h: Likewise.
10184         * config/i386/winnt.c: Likewise.
10185         * config/i386/cygming.h: Likewise.
10186         * config/i386/cygwin2.c: Likewise.
10187         * config/darwin.c: Likewise.
10188         * config/darwin-c.c: Likewise.
10189         * config/darwin-protos.h: Likewise.
10190         * config/darwin.h: Likewise.
10191         * config/s390/s390-protos.h: Likewise.
10192         * config/s390/s390.c: Likewise.
10193         * config/ia64/ia64.c: Likewse
10194         * config/ia64/ia64-protos.h: Likewise.
10195         * config/ia64/ia64-c.c: Likewise.
10196
10197 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10198
10199         * config/sparc/sparc.c: Convert to ISO C.
10200
10201         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
10202         * config/sparc/sparc.c: Likewise.
10203
10204 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
10205
10206         PR c++/11512
10207         * stmt.c (expand_expr_stmt_value): Don't warn about any void
10208         typed expression.
10209
10210 2003-08-16  Jan Hubicka  <jh@suse.cz>
10211
10212         * i386.c (ix86_fntype_regparm): Rename from ...
10213         (ix86_function_regparm): ... this one; add fastcall and local
10214         functions.
10215         (ix86_function_ok_for_sibcall): Update.
10216         (ix86_return_pops_args): Likewise.
10217         (init_cumulative_args): Likewise.
10218         (x86_can_output_mi_thunk): Likewise.
10219         (function_arg): Fix formating.
10220         (x86_this_parameter): Fix fastcall.
10221         (x86_output_mi_thunk): Likewise.
10222
10223         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
10224         body as reachable; mark nested functions as needed too.
10225         (dump_cgraph): Do not output global.calls.
10226         * cgraph.h (cgraph_global_info): Kill.
10227         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
10228         (record_call_1): Speedup.
10229         (cgraph_analyze_function): Break out from ...; compute inlining
10230         parameters.
10231         (cgraph_finalize_compilation_unit): ... here.
10232         (cgraph_mark_inline): Kill computation of calls.
10233         (cgraph_decide_inlining): Do not compute most of initial values.
10234
10235 2003-08-14  Roger Sayle  <roger@eyesopen.com>
10236
10237         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
10238         to negate if either operand is easy to negate, if we don't care
10239         about sign-dependent rounding.
10240         (negate_expr): Make the logic to negate a REAL_CST explicit.
10241         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
10242         that's easy to negate, if we don't honor sign-dependent rounding.
10243         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
10244         negate, and the symmetric A * -B as -A * B if A is easy to negate.
10245         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
10246         -C/D if B and C are cheap to negate.  Add an explicit rule to
10247         optimize X/-1.0 as -X when we don't care about signaling NaNs.
10248
10249 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
10250
10251         * Makefile.in (tm_file): Rename tm_include_list.
10252         (tm_p_file): Rename tm_p_include_list.
10253         (build_xm_file): Rename build_xm_include_list.
10254         (host_xm_file): Rename host_xm_include_list.
10255         (xm_file): Rename xm_include_list.
10256         (xm_file_list): Add to be substituted.
10257         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
10258         Update to match.
10259         (bt-load.o): Add missing dependency on $(TM_H).
10260         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
10261         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
10262         build_xm_file, generate both *_file_list and *_include_list
10263         values from it.  (xm_file_list was formerly not being generated.)
10264         In *_include_list, prefix the names of all headers found in
10265         $(srcdir)/config with config/.  In each loop, consider only
10266         the special case files that can actually appear in that list.
10267         AC_SUBST all *_file_list and all *_include_list variables; do
10268         not AC_SUBST the plain *_file variables.
10269         * configure: Regenerate.
10270
10271 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10272
10273         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
10274
10275 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10276
10277         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
10278         direct calls.
10279         (attr_length_call): Include it here.  Improve length estimate for
10280         local calls.
10281         (output_call): Use targetm.binds_local_p.
10282
10283 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10284
10285         * builtins.c (CASE_MATHFN): New helper macro.
10286         (mathfn_built_in): Simplify and sort.
10287
10288         * protoize.c (substr): Delete, callers changed to `strstr'.
10289
10290 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
10291
10292         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
10293         * config/iq2000/xm-iq2000.h: Delete file.
10294
10295 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
10296
10297         * gengtype.c (walk_type): Process a subobject before processing
10298         the pointer that points to the subobject.
10299
10300 2003-08-13  Per Bothner  <pbothner@apple.com>
10301
10302         * regclass.c (init_reg_modes):  Make non-static.
10303         Rename to init_reg_modes_once per new naming convention.
10304         (init_regs):  Don't call init_reg_modes here.
10305         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
10306         * rtl.h (init_reg_modes_once):  New declaration.
10307         * toplev.c (backend_init):  Call init_regs after init_emit_once.
10308
10309 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
10310
10311         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10312         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10313
10314 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
10315
10316         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10317         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10318
10319 2003-08-13  Dale Johannesen  <dalej@apple.com>
10320
10321         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
10322         handling of decrement-and-branch farther than 32 bits.
10323
10324 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
10325
10326         * configure.in (make_compare_target): Move test to ...
10327         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10328         * configure: Regenerate.
10329
10330 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10331
10332         * config/mips/iris6.h: Convert to C90 prototypes.
10333         * config/mips/irix6-libc-compat.c: Likewise.
10334         * config/mips/mips-protos.h: Likewise.
10335         * config/mips/mips.c: Likewise.
10336
10337 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10338
10339         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
10340         for selected machines.  Comment heavily.
10341         fixinc/fixincl.x: Rebuild.
10342         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10343
10344 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
10345
10346         * config/mips/mips.h: Tweak various comments.
10347         * config/mips/mips.c: Likewise.
10348
10349 2003-08-11  James E Wilson  <wilson@tuliptree.org>
10350
10351         PR optimization/11319
10352         PR target/10021
10353         * alias.c (find_base_value, case REG): Return 0 not src if no base
10354         found.
10355
10356 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10357
10358         * gcse.c (gmalloc): Fix last change.
10359
10360 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10361
10362         * simplify-rtx.c (simplify_binary_operation): Replace calls to
10363         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10364         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10365         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10366
10367 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10368
10369         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10370         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10371         typecode for an ABS_EXPR.
10372
10373         * doc/c-tree.texi: Document ABS_EXPR.
10374
10375 2003-08-11  Roger Sayle  <roger@eyesopen.com>
10376
10377         * fold-const.c (fold): Optimize any associative floating point
10378         operator with -funsafe-math-optimizations, not just MULT_EXPR.
10379
10380 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
10381
10382         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10383         information in SHmedia case too.
10384         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10385         Likewise.
10386         (__set_fpscr): Use an access via GOT for PIC case.
10387
10388 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10389
10390         * configure.in (intermodule): Make switch test more portable.
10391         * configure: Regenerate.
10392
10393 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
10394
10395         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10396         (restrap): Likewise.
10397
10398 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10399
10400         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
10401         (grealloc): Size argument is a size_t.
10402         (gcalloc): New function.  Use throughout in lieu of
10403         gmalloc/memset.
10404
10405         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10406         xmalloc/memset.
10407         * config/ia64/ia64.c (ia64_reorg): Likewise.
10408         * conflict.c (conflict_graph_new): Likewise.
10409         * fixinc/fixincl.c (run_compiles): Likewise.
10410         * genattrtab.c (optimize_attrs): Likewise.
10411         * genrecog.c (new_decision): Likewise.
10412         * haifa-sched.c (schedule_block): Likewise.
10413         * hashtable.c (ht_create): Likewise.
10414
10415 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
10416
10417         * config/xtensa/lib2funcs.S: Fix whitespace.
10418         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10419         syntax where appropriate.  Remove unnecessary backslash escapes.
10420         Reformat comments and fix some code formatting.
10421         (extendqisi2): Rearrange conditional.
10422         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10423         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10424         of fatal_insn.
10425
10426 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
10427
10428         * config/mips/mips.c: Various formatting fixes.
10429         (override_options): Resync -mtune handling with gas.
10430         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10431         * config/mips/mips.h: More formatting fixes.
10432         (mips_abi): Move declaration.
10433         * config/mips/mips.md (exception_receiver): Add mode to
10434         unspec_volatile.
10435
10436 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
10437
10438         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10439         evsplatfi here.
10440         (bdesc_1arg): Remove evsplati and evsplatfi.
10441
10442 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
10443
10444         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10445         into account.
10446
10447 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10448
10449         * builtins.c (expand_builtin_strcat): Optimize constant strings.
10450
10451 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10452
10453         * pretty-print.c (pp_base_indent): Rename from pp_indent.
10454         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10455         (struct c_pretty_print_info): Add more fields.
10456         (pp_c_left_paren): Move to c-pretty-print.c.
10457         (pp_c_right_paren): Likewise.
10458         (pp_c_left_brace): Likewise.
10459         (pp_c_right_brace): Likewise.
10460         (pp_c_left_bracket): Likewise.
10461         (pp_c_right_bracket): Likewise.
10462         (pp_c_declarator): Declare.
10463         (pp_c_direct_declarator): Likewise.
10464         (pp_c_specifier_qualifier_list): Likewise.
10465         (pp_c_type_id): Likewise.
10466         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10467         (pp_c_type_qualifier_list): New.
10468         (pp_c_pointer): Likewise.
10469         (pp_c_parameter_type_list): Likewise.
10470         (pp_c_function_definition): Likewise.
10471         (pp_c_id_expression): Likewise.
10472         (pp_c_simple_type_specifier): Tidy.
10473         (pp_c_unary_expression): Likewise.
10474         (pp_c_expression): Likewise.
10475         (pp_c_pretty_printer_init): Likewise.
10476         (pp_c_specifier_qualifier_list): Rework..
10477         (pp_c_abstract_declarator): Likewise.
10478         (pp_c_postfix_expression): Likewise.
10479         (pp_c_primary_expression): Likewise.
10480         (pp_c_cast_expression): Likewise.
10481         (pp_c_direct_abstract_declarator): Likewise.
10482         (pp_c_storage_class_specifier): Likewise.
10483         (pp_c_function_specifier): Likewise.
10484         (pp_c_declaration_specifiers): Likewise.
10485         (pp_c_direct_declarator): Likewise.
10486         (pp_c_declarator): Likewise.
10487         (pp_c_declaration): Likewise.
10488         (pp_c_statement): Likewise.
10489         (pp_c_integer_constant): Rename from pp_c_integer_literal.
10490         (pp_c_character_constant): Rename from pp_c_character_literal.
10491         (pp_c_bool_constant): Rename from pp_c_bool_literal.
10492         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10493         (pp_c_floating_constant): Rename from pp_c_real_literal.
10494         (pp_c_constant): Rename from pp_c_literal.
10495         * c-lang.c: Include diagnostic.h and c-pretty-print.h
10496         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10497         (c_initialize_diagnostics): New.
10498         * Makefile.in (c-lang.o): Update dependency.
10499
10500 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
10501
10502         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10503
10504 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10505
10506         * config/mips/mips.c (mips_no_mips16_string): Remove.
10507         (override_options): Don't handle -mips16 as part of -mipsN.
10508         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10509         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10510         (TARGET_OPTIONS): Remove -mno-mips16.
10511
10512 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
10513
10514         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10515         (coprocessor2_operand): Likewise.
10516         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10517         (lookup_name): Remove declaration.
10518         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
10519         (mips16, mips_abicalls): Remove.
10520         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10521         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10522         (coprocessor_operand, coprocessor2_operand): Remove.
10523         (override_options): Don't set mips16 or mips_abicalls.
10524         (print_operand): Don't expect SIGN_EXTEND operands.
10525         (mips_secondary_reload_class): Likewise.
10526         (mips_output_conditional_branch): Remove disabled long-branch code.
10527         * config/mips/mips.h (call_used_regs): Remove declaration.
10528         (may_call_alloca): Likewise.
10529         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10530         (mips_abicalls, mips16): Remove declarations.
10531         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10532         (CC1_SPEC): Remove outdated comment.
10533         (MIPS_VERSION, MACHINE_TYPE): Remove.
10534         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10535         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10536         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10537         (PUSH_ROUNDING): Likewise.
10538         (ASSEMBLER_SCRATCH_REGNUM): Remove.
10539         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10540         and mips16 with TARGET_MIPS16.
10541
10542 2003-08-09  Per Bothner  <pbothner@apple.com>
10543
10544         * cppinit.c (cpp_read_main_file):  Split out source-independent
10545         initialization to separate function ...
10546         (cpp_post_options):  New function.
10547         * cppfiles.c (cpp_stack_file):  Rename public name to ...
10548         (_cpp_stack_file):  New internal function name.
10549         * cpplib.h:  Update accordingly.
10550         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
10551         (cpp_read_main_file):  Don't initialize line here.
10552         * c-opts.c (c_common_post_options):  Call cpp_post_options.
10553         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
10554         * fix-header.c (read_scan_file):  Call cpp_post_options.
10555
10556 2003-08-09  Per Bothner  <per@bothner.com>
10557
10558         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
10559
10560 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10561
10562         * pa.c (pa_asm_output_mi_thunk): Fix typo.
10563
10564 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
10565
10566         PR preprocessor/11839
10567         * cppfiles.c (open_file): Handle ENOTDIR.
10568
10569 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
10570
10571         PR target/11699
10572         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
10573
10574 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10575
10576         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
10577         source/destination is not a register operand.
10578
10579 2003-08-08  Richard Henderson  <rth@redhat.com>
10580
10581         PR target/11535
10582         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
10583         RETURN_ADDRESS_POINTER_REGNUM.
10584         (ia64_expand_prologue): Don't frob it.
10585         (ia64_output_function_epilogue): Likewise.
10586         (ia64_return_addr_rtx): New.
10587         (ia64_split_return_addr_rtx): New.
10588         * config/ia64/ia64-protos.h: Update.
10589         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
10590         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
10591         (GENERAL_REGNO_P): Don't check it.
10592         (AR_*_REGNUM): Renumber.
10593         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
10594         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
10595         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
10596         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
10597         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
10598         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
10599         (movdi_ret_addr): New.
10600
10601 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
10602
10603         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
10604
10605 2003-08-08  Roger Sayle  <roger@eyesopen.com>
10606
10607         * tree.h (get_identifier) Define a macro form of get_identifier
10608         that calls get_identifier_with_length when the string is constant.
10609         (get_identifier_with_length): Change type of second argument to
10610         size_t in prototype.
10611         * stringpool.c (get_identifier): Undefine the macro before giving
10612         the function definition.
10613         (get_identifier_with_length): Change  type of second argument to
10614         size_t in function definition.
10615         * hashtable.c (calc_hash): Change type of second argument to size_t.
10616         (ht_lookup): Change type of third argument to size_t.  Reorganize
10617         to speed-up the cases where the hash table slot is empty, or the
10618         first probe matches (i.e. there isn't a collision).
10619         * hashtable.h (ht_lookup): Adjust function prototype.
10620
10621 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
10622
10623         PR target/9697
10624         PR target/11777
10625         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
10626
10627 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
10628
10629         * common.opt: Add debug switches.
10630         * flags.h (use_gnu_debug_info_extensions): Boolify.
10631         * opts.c (write_symbols, debug_info_level,
10632         use_gnu_debug_info_extensions): Move from toplev.c.
10633         (set_debug_level): New.
10634         (common_handle_options): Handle debug switches.
10635         (print_help): Display target options directly.
10636         * toplev.c (debug_hooks): Don't initialize.
10637         (write_symbols, debug_info_level,
10638         use_gnu_debug_info_extensions): Move to opts.c.
10639         (debug_args, display_help, decode_g_option): Remove.
10640         (process_options): Set no debug if level zero here,
10641         and no-debug-hooks.  Error here if impossible debug format selected.
10642         * toplev.h (display_help, decode_g_option): Remove.
10643
10644 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
10645
10646         * tree.c (get_file_function_name_long): Fix size of alloca() area.
10647
10648 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
10649
10650         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
10651         and gcc_cv_prog_cmp_skip.
10652         * configure: Regenerate.
10653
10654 2003-08-08  Stan Cox  <scox@redhat.com>
10655
10656         * config/iq2000: New port.
10657         * config.gcc (iq2000-*-elf): Added.
10658         * doc/install.texi (Specific):  Add iq2000 description.
10659
10660 2003-08-08  Andreas Schwab  <schwab@suse.de>
10661
10662         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
10663         and insert missing empty argument.
10664         * configure: Regenerate.
10665
10666 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10667
10668         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
10669         (attr_length_millicode_call): Likewise.
10670         (attr_length_call): Likewise.  Revise some maximum insn lengths.
10671         (attr_length_indirect_call): Likewise.
10672         (output_call): Fix thinko that added extra nop.
10673         * pa.h (IN_NAMED_SECTION_P): Define.
10674
10675         PR c++/11712
10676         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
10677         __STDC_EXT__ when using C++ dialect.
10678
10679 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
10680
10681         * sh.c (calc_live_regs): If the return address pointer is live,
10682         force pr live.
10683         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
10684         for saves / restores.
10685         (sh_expand_epilogue): If sh_media_register_for_return returns a
10686         register number, flag the instructions that restores PR_MEDIA_REG
10687         as possibly dead.
10688         Remove dead update of offset.
10689         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
10690         we can use the result of get_hard_reg_initial_val.
10691         * sh.md (UNSPEC_RA): New constant.
10692         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
10693         (load_ra).  Handle UNSPEC_RA.
10694         (sibcall_media): Use PR_MEDIA_REG.
10695
10696         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
10697         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
10698         needs saving on SHmedia.
10699
10700 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
10701
10702         * config/s390/s390.md: Replace all occurrences of \\t with \t.
10703
10704 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
10705
10706         * local-alloc.c (combine_regs): Fix comment typo.
10707
10708 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
10709
10710         * c-decl.c (builtin_decls): Replace with first_builtin_decl
10711         and last_builtin_decl.
10712         (c_init_decl_processing): Initialize both.
10713         (c_reset_state): Iterate from first_builtin_decl to
10714         last_builtin_decl inclusive to reintroduce builtins.
10715
10716 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
10717
10718         * doc/extend.texi (Function Attributes): Document the IA-64 version
10719         of the "model" attribute.
10720
10721         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
10722         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
10723         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
10724
10725         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
10726         (ia64_encode_section_info): Likewise.
10727         (ia64_attribute_table): Add "model" attribute.
10728         (TARGET_ENCODE_SECTION_INFO): Define.
10729         (small_addr_symbolic_operand): New function.
10730         (got_symbolic_operand): Return 0 for a symbolref to an object
10731         in the small address area.
10732         (enum ia64_addr_area): New type.
10733         (small_ident1): New variable.
10734         (small_ident2): Likewise.
10735         (init_idents): New function.
10736         (ia64_get_addr_area): Likewise.
10737         (ia64_encode_addr_area): Likewise.
10738         (ia64_encode_section_info): Likewise.
10739         (ia64_expand_load_address): For symbolic references to objects in
10740         the small-address-area, load the address via gen_rtx_SET() (which,
10741         eventually, will expand into "addl").
10742
10743 2003-08-06  Per Bothner  <pbothner@apple.com>
10744
10745         * line-map.h (fileline):  New typedef.
10746         (struct line_map, linemap_add, linemap_lookup):  Use it.
10747         * input.h (struct location_s):  Comment notes that long-term we want
10748         to replace it by fileline.
10749
10750 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
10751
10752         Fix SHcompact exception handling:
10753         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
10754         by the prologue, return a MEM with return_address_pointer_rtx
10755         as address.
10756         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
10757         (RETURN_ADDR_OFFSET): Don't define.
10758         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
10759         registers that are visible in compact mode.  Show that SHmedia
10760         registers still exist in compact mode, even if there are not
10761         readily accessible.
10762         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
10763         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
10764         and DW_EH_PE_pcrel for pic data.
10765         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
10766         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
10767         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
10768         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
10769         * sh.md (movsi_media-1): New splitter.
10770
10771 2003-08-06  Graeme Peterson <gp@qnx.com>
10772
10773         * config/i386/nto.h: New.
10774         * config/i386/t-nto: New.
10775         * config.gcc (i[34567]86-*-nto-qnx*): New.
10776
10777 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
10778
10779         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
10780
10781 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
10782
10783         * calls.c (load_register_parameters): Arrange for call_fusage to
10784         report the whole register as used when shifting to the msb.
10785
10786 2003-08-05  Roger Sayle  <roger@eyesopen.com>
10787
10788         * builtins.c (expand_builtin): When not optimizing, call the library
10789         function for all builtins that have library functions (except alloca).
10790
10791 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
10792
10793         * c.opt: Introduce -fworking-directory.
10794         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
10795         * c-common.h (flag_working_directory): Declare.
10796         * c-common.c (flag_working_directory): Define.
10797         * c-opts.c (c_common_handle_options): Set it.
10798         (sanitize_cpp_opts): Set...
10799         * cpplib.h (struct cpp_options): ... working_directory option.
10800         (struct cpp_callbacks): Add dir_change.
10801         * cppinit.c (read_original_filename): Call...
10802         (read_original_directory): New.  Look for # 1 "directory//"
10803         and process it.
10804         (cpp_read_main_file): Call dir_change callback if working_directory
10805         option is set.
10806         * gcc.c (cpp_unique_options): Pass -g*.
10807         * c-lex.c (cb_dir_change): New.
10808         (init_c_lex): Set dir_change callback.
10809         * toplev.c (src_pwd): New static variable.
10810         (set_src_pwd, get_src_pwd): New functions.
10811         * toplev.h (get_src_pwd, set_src_pwd): Declare.
10812         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
10813         * dwarf2out.c (gen_compile_unit_die): Likewise.
10814         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
10815
10816 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10817
10818         * pretty-print.h (pp_set_line_maximum_length): Make macro.
10819         (pp_set_prefix): Likewise.
10820         (pp_destroy_prefix): Likewise.
10821         (pp_remaining_character_count_for_line): Likewise.
10822         (pp_clear_output_area): Likewise.
10823         (pp_formatted_text): Likewise.
10824         (pp_last_position_in_text): Likewise.
10825         (pp_emit_prefix): Likewise.
10826         (pp_append_text): Likewise.
10827         (pp_flush): Likewise.
10828         (pp_format_text): Likewise.
10829         (pp_format_verbatim): Likewise.
10830         (pp_tree_identifier): Tidy.
10831         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
10832         (pp_base_format_verbatim): Rename from pp_format_verbatim.
10833         (pp_base_flush): Rename from pp_flush.
10834         (pp_base_set_line_maximum_length): Rename from
10835         pp_set_line_maximum_length.
10836         (pp_base_clear_output_area): Rename from pp_clear_output_area.
10837         (pp_base_set_prefix): Rename from pp_set_prefix.
10838         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
10839         (pp_base_emit_prefix): Rename from pp_emit_prefix.
10840         (pp_base_append_text): Rename from pp_append_text.
10841         (pp_base_formatted_text): Rename from pp_formatted_text.
10842         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
10843         (pp_base_remaining_character_count_for_line): Rename from
10844         pp_remaining_character_count_for_line.
10845         * diagnostic.h (diagnostic_format_decoder): Tidy.
10846         (diagnostic_flush_buffer): Likewise.
10847         * c-pretty-print.h: (pp_c_string_literal): Declare.
10848         (pp_c_real_literal): Likewise.
10849         (pp_c_integer_literal): Likewise.
10850         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
10851         pp_identifier.
10852         (pp_c_character_literal): Tidy.
10853         (pp_c_string_literal): Make public.
10854         (pp_c_bool_literal): Likewise.
10855         (pp_c_integer_literal): Likewise.
10856         (pp_c_real_literal): Likewise.
10857
10858         * Makefile.in (C_PRETTY_PRINT_H): New variable.
10859         (c-pretty-print.o): Update dependence.
10860
10861 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
10862
10863         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
10864         ".set nomacro" state.
10865         (fix_truncsfsi2_macro): Likewise.
10866
10867 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
10868
10869         * tree.h (DID_INLINE_FUNC): Remove macro.
10870         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
10871         add tree check for FUNCTION_DECL.
10872         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
10873         (struct tree_decl): Rename inlined_function_flag to
10874         declared_inline_flag.
10875         * c-common.h (c_lang_decl): Remove.
10876         (DECL_ESTIMATED_INSNS): Remove.
10877         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
10878         (DECL_DECLARED_INLINE_P): Remove.
10879         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
10880         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
10881         (finish_function): Make uninlinable a bool.  Fixup call to
10882         tree_inlinable_function_p() and fix some code style issues.
10883         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
10884         * cgraph.c (dump_cgraph): Likewise.
10885         * cgraphunit.c (cgraph_decide_inlining): Likewise
10886         (cgraph_finalize_compilation_unit): Likewise.
10887         Also update call to tree_inlinable_function_p().
10888         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
10889         look at DECL_DECLARED_INLINE and reverse logic.
10890         * print-tree.c (print_node): Likewise.
10891         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
10892         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
10893         prototype.
10894         * tree-inline.c (inlinable_function_p): Split up in this function to
10895         check for basic inlining inhibiting conditions, and new
10896         limits_allow_inlining() function.  Warn if inlining is impossible
10897         because the inline candidate calls alloca or uses sjlj exceptions.
10898         (limits_allow_inlining): this new function to check if the inlining
10899         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
10900         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
10901         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
10902         Update prototypes.
10903         (tree_inlinable_function_p): Make a bool.  Update call to
10904         inlinable_function_p
10905         (expand_call_inline): Use limits_allow_inlining() when not in
10906         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
10907         instead see if the function was declared `inline'.
10908
10909 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
10910
10911         * gcse.c (try_replace_reg): Fix updating of note.
10912
10913 2003-08-04  Roger Sayle  <roger@eyesopen.com>
10914
10915         PR middle-end/11771
10916         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
10917         logic in negate_expr, i.e. we don't invert (A-B) for floating
10918         point types unless flag_unsafe_math_optimizations.
10919
10920 2003-08-04  Roger Sayle  <roger@eyesopen.com>
10921
10922         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
10923         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
10924         for floating point expressions with -ffast-math.
10925         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
10926         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
10927
10928 2003-08-04  Roger Sayle  <roger@eyesopen.com>
10929
10930         * c-common.c (flag_noniso_default_format_attributes): Delete.
10931         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
10932         (c_attrs_initialized): Delete.
10933         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
10934         always call c_init_attributes.
10935         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
10936         set c_attrs_initialized when done.
10937         (c_common_insert_default_attributes): Delete.
10938         * c-common.h (flag_noniso_default_format_attributes): Delete.
10939         (c_coomon_insert_default_attributes): Delete prototype.
10940         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
10941         flag_noniso_default_format_attributes.
10942
10943         * c-decl.c (c_insert_default_attributes): Delete.
10944         * c-tree.h (c_insert_default_attributes): Delete prototype.
10945
10946         * attribs.c (decl_attributes): Don't call insert_default_attributes
10947         langhook.  Update function description comment.
10948         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
10949         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
10950         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
10951         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
10952
10953         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
10954         define.
10955
10956 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
10957
10958         * config/mips/mips.c (override_options): Disable -G on targets that
10959         have no .section support.
10960         (mips_select_section): Use default_select_section for such targets.
10961
10962 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
10963
10964         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
10965         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
10966         * fixinc/fixincl.x: Rebuild.
10967         * fixinc/tests/base/regexp.h: New test.
10968
10969 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
10970
10971         * c-ppoutput.c (cb_line_change): Don't skip line changing while
10972         parsing macro arguments in the top-level context.
10973
10974 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
10975
10976         * config.in: Remove HAVE_LSTAT.
10977         * configure, configure.in: Don't test for lstat.
10978
10979 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10980
10981         * opts.c (decode_options): Do language-specific initialization for
10982         the global diagnostic context.
10983         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
10984         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
10985         (LANG_HOOKS_INITIALIZER): Adjust.
10986         * langhooks.h (struct lang_hooks): Add new field
10987         initialize_diagnostics.
10988         * langhooks.c (lhd_initialize_diagnostics): Define.
10989
10990 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10991
10992         * pretty-print.h:   Adjust macro definitions.
10993         * pretty-print.c (pp_newline): Rename to pp_base_newline.
10994         (pp_character): Rename to pp_base_character.
10995         (pp_string): Rename to pp_base_string.
10996         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
10997         (pp_newline):  Likewise.  Adjust.
10998         (pp_c_char): Adjust.
10999
11000 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11001
11002         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
11003         BUILT_IN_LLABS): Move to miscellaneous section.
11004
11005 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11006
11007         PR preprocessor/11534
11008         * cppexp.c (parse_defined): Warn only if -pedantic.
11009
11010 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
11011
11012         * cppfiles.c (stack_file): Use file path.
11013
11014 2003-08-02  Roger Sayle  <roger@eyesopen.com>
11015
11016         * builtin-types.def (BT_SSIZE): New primitive type.
11017         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
11018         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
11019         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
11020         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
11021         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
11022         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
11023         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
11024         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
11025         few functions that define default attributes using it.
11026         * c-common.c (c_common_insert_default_attributes): Do nothing.
11027
11028         * doc/extend.texi: Document these "new" builtins.
11029
11030 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
11031
11032         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
11033         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
11034         when -mieee-fp set and -shared not set.
11035         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
11036
11037 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11038
11039         * cppfiles.c (struct _cpp_file): Rename once_only_next to
11040         next_file.  Remove import and pragma_once, add once_only.
11041         (find_file): Add new file structures to the all_files list.
11042         (should_stack_file): Mark #import-ed files once-only, and
11043         don't stack them if the file has already been stacked.
11044         (_cp_mark_file_once_only): Simplify.
11045         * cpphash.h (struct cpp_reader): Rename once_only_files
11046         to all_files.  Rename saw_pragma_once to seen_once_only.
11047         (_cpp_mark_file_once_only): Update prototype.
11048         * cpplib.c (do_pragma_once): Update.
11049
11050 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
11051
11052         * cppfiles.c (ENOTDIR): Remove.
11053         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
11054         other than ENOENT here.
11055         (once_only_file_p): Rename should_stack_file.
11056         (find_file, open_file_failed, read_file_guts): Report errors
11057         with full path name.
11058         (read_file): Move pch handling to should_stack_file.
11059         (should_stack_file): Handle PCH and once-only issues, and
11060         reading the file.
11061         (stack_file): Don't do file reads.
11062
11063 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11064
11065         * libgcov.c (gcov_exit): Cleanup and fix.
11066         * profile.c (compute_value_histograms): Don't try to read profiles
11067         that are not present.
11068
11069 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11070
11071         * builtins.def: Categorize.
11072
11073         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
11074         Mind fp rounding.
11075         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
11076
11077 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
11078
11079         * config.gcc: Enable posix threads by default on darwin.
11080
11081 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
11082
11083         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
11084         even if nehedges1 is 0.
11085
11086 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
11087
11088         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
11089         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
11090         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
11091         and defintions.
11092
11093         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
11094         * fixinc/fixincl.x: Regenerate.
11095         * fixinc/tests/base/math.h: Regenerate to match test_text change.
11096
11097 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11098
11099         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
11100
11101 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11102
11103         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
11104         for accesses to exc_ptr.
11105
11106 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
11107
11108         * doc/sourcebuild.texi (Front End Directory): Don't make references
11109         to libsubdir, it's not part of the interface to frontends.
11110         * doc/install.texi (Configuration): Help users read faster by saying
11111         that GCC's configure options are the standard autoconf ones.
11112         Mention --libdir.  Update the default rules for finding the
11113         assembler.  Don't use libsubdir since we haven't said what it means.
11114         (Specific): In the Solaris 7 notes, update the place to put the
11115         assembler.
11116         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
11117         * doc/cpp.texi (Search Path): Actually, the search path
11118         depends on libdir, which can relocate with cpp.
11119         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
11120         now a private interface between the Makefile and the driver.
11121
11122 2003-08-01  Richard Henderson  <rth@redhat.com>
11123
11124         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
11125
11126         * varasm.c (lookup_constant_def): New function.
11127         * rtl.h (lookup_constant_def): Declare it.
11128         * dwarf2out.c (loc_descriptor_from_tree): Use it.
11129         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
11130
11131 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
11132
11133         * c-decl.c (gettags, pushdecl_function_level): Delete.
11134         (last_function_parm_vars): Rename last_function_parm_others.
11135         (current_function_parm_vars): Rename current_function_parm_others.
11136         (struct c_scope): Rewrite comment explaining this data structure.
11137         Add names_last, blocks_last, parms_last fields.  Rename
11138         incomplete_list to incomplete.
11139         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
11140         (poplevel): Ignore second argument.  No need to nreverse
11141         anything.  Restructure such that each list is processed
11142         exactly once.  Use 'const location_t *locus' syntactic sugar
11143         variable where useful.  Issue unused variable warnings
11144         ourselves, do not rely on function.c.
11145         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
11146         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
11147         (implicitly_declare): decl cannot be error_mark_node.
11148         (undeclared_variable): Manipulate scope structure directly.
11149         (c_make_fname_decl): Likewise.
11150         (getdecls, c_init_decl_processing): Fix comment.
11151         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
11152         for 'last' variable.
11153         (grokparms): No need to nreverse parms list.
11154         (store_parm_decls_newstyle): Set up the parms_last and
11155         names_last fields of the new scope too.
11156         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
11157         on parms to begin with; check this under ENABLE_CHECKING.  Set
11158         up parms_last.
11159         (check_for_loop_decls): Refer directly to current_scope->tags.
11160         Use consistent quote style in diagnostics.
11161         (c_write_global_declarations): The names list is not backward.
11162
11163         * c-common.h: Don't prototype gettags.
11164         * c-parse.in: Call poplevel with second argument 0 always.
11165
11166 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11167
11168         * builtins.def: Resort builtins.
11169
11170 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11171
11172         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
11173         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
11174         Prepend "__builtin_" onto NAME with string concatenation.  Remove
11175         explicit "__builtin_" from each macro call.
11176
11177         Reformat entire file.
11178
11179 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11180
11181         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11182         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
11183
11184 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
11185
11186         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
11187         CCL1, or CCL2 modes with floating point operations.
11188
11189         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
11190         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
11191         "*subdf3_cconly"): New insns.
11192         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
11193
11194 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
11195
11196         * Makefile.in: Refine dependencies.
11197         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
11198         * c.opt: Update help for -Wimport.
11199         * cppfiles.c: Include hashtab.h.  Update comments.
11200         (stack_file): Read the file before updating dependencies.
11201         (once_only_file_p): Be smarter about marking once-only files.
11202         (_cpp_mark_file_once_only): Correct the check for existence on
11203         the list.
11204         (open_file_failed): Use name not path, which is NULL.
11205         * cpphash.h: Don't include hashtab.h.
11206         (struct _cpp_file): Remove.
11207         (struct cpp_reader): Update.
11208         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
11209         * cpplib.h (struct cpp_options): Remove warn_import.
11210         (cpp_simplify_path): Remove.
11211
11212 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
11213
11214         PR c++/11295
11215         * doc/extend.texi (Statement Expressions): Document C++ semantics.
11216
11217 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
11218
11219         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
11220
11221 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11222
11223         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
11224         throughout.
11225         * builtins.def: Likewise.
11226
11227 2003-07-31  Jason Merrill  <jason@redhat.com>
11228
11229         * Makefile.in (bubblestrap): Don't require a previous full
11230         bootstrap.
11231
11232         * expr.c (mostly_zeros_p): No longer static.
11233         * tree.h: Declare it.
11234         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
11235         unless we need to do substitutions.
11236
11237 2003-07-31  Roger Sayle  <roger@eyesopen.com>
11238
11239         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
11240         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
11241         as pow(x,2.0) when the latter will be expanded back into x*x.
11242         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
11243         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
11244         pow can never set errno when used with an integer exponent.
11245         Always use expand_powi when exponent is -1, 0, 1 or 2.
11246         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
11247         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
11248         the pow forms of these expressions.
11249
11250 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
11251
11252         * Makefile.in (libexecdir): New.
11253         (libsubdir): Use gcc instead of gcc-lib.
11254         (libexecsubdir): New.
11255         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
11256         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
11257         gcc-lib.
11258         (installdirs): Make libexecsubdir.
11259         (install-common): Put executables in libexecsubdir.
11260         (itoolsdir): Use libexecsubdir.
11261         (itoolsdatadir): New.
11262         (install-mkheaders): Separate data files and executables.
11263         (install-collect2): Put executables in libexecsubdir.
11264         (uninstall): Remove libexecsubdir.
11265         * mkheaders.in: Update for new arrangement of files.
11266         (libexecdir): New.
11267         (libexecsubdir): New.
11268         (itoolsdir): Use libexecsubdir.
11269         (itoolsdatadir): New.
11270         * gcc.c (gcc_libexec_prefix): New.
11271         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
11272         (standard_exec_prefix_1): Use libexec.
11273         (standard_exec_prefix_2): New.
11274         (standard_libexec_prefix): New.
11275         (process_command): Update for new arrangement of files.  Compute
11276         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
11277
11278 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11279
11280         * inclhack.def (stdio_va_list): Avoid bogus replacement which
11281         triggers on Interix.
11282         * fixincl.x: Regenerate.
11283
11284 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
11285
11286         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
11287         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
11288
11289 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11290
11291         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
11292
11293 2003-07-31  Per Bothner  <pbothner@apple.com>
11294
11295         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
11296         (add_input_filename):  New function.
11297         (handle_options):  Call add_input_filename directly instead of
11298         with a lang hook.
11299         * opts.h (in_fnames, num_in_fnames):  Moved here.
11300         (add_input_filename):  Declare.
11301         * c-decl.c:  Need to #include opts.h.
11302         * Makefile.in (c-decl.o):  Also depends on opts.h.
11303         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
11304         (c_common_handle_filename):  Replaced by add_input_filename.
11305         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
11306         Remove.
11307         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
11308         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11309         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
11310         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
11311
11312 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11313
11314         * combine.c (try_combine): Set JUMP_LABEL for newly created
11315         unconditional jump.
11316
11317 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11318
11319         * fold-const.c (fold): Fold some comparisons of bit operations.
11320
11321 2003-07-31  Jan Hubicka  <jh@suse.cz>
11322
11323         * cgraph.c (create_edge): Fix typo.
11324         * i386.c (pic_symbolic_operand): Reorder tests.
11325
11326 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
11327
11328         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11329         more fully.
11330         (Gcov Data Files): Update.
11331
11332 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11333
11334         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11335         default.
11336
11337         * gthr-posix.c: New file.
11338         * gthr-posix.h: Define _REENTRANT if missing.
11339         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11340
11341         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11342         by gthr-posix.o.
11343         * config/alpha/t-osf-pthread: New file.
11344
11345         * fixinc/inclhack.def (alpha_pthread): New fix.
11346         * fixinc/fixincl.x: Regenerate.
11347         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11348
11349         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11350         warning.
11351         Fixes PR bootstrap/9330.
11352
11353 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11354
11355         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11356         without GNU ld.
11357         Update comment.
11358         * configure: Regenerate.
11359
11360 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
11361
11362         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11363         setter.
11364
11365 2003-07-30  Roger Sayle  <roger@eyesopen.com>
11366
11367         * builtins.def: Alphabetize.
11368
11369 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11370
11371         * doc/c-tree.texi: Normalize spellings of "lowercase" and
11372         "uppercase".
11373         * doc/cpp.texi: Likewise.
11374         * doc/md.texi: Likewise.
11375         * doc/rtl.texi: Likewise.
11376         * doc/tm.texi: Likewise.
11377
11378 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
11379
11380         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11381         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11382         of cc1obj.
11383
11384 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
11385
11386         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11387         macros before defining them.
11388
11389 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
11390
11391         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11392         UNSPECV_BLOCKAGE): New constants.
11393         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11394         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11395         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11396         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11397
11398         (all insns and expanders): Write output control string as brace block
11399         where appropriate.  Remove \-escapes for doublequote characters.
11400
11401 2003-07-31  Jan Hubicka  <jh@suse.cz>
11402
11403         * gcse.c (insert_store): Fix typo in previous patch.
11404
11405 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
11406
11407         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11408
11409 2003-07-30  Andi Kleen  <ak@muc.de>
11410
11411         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11412
11413 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11414
11415         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11416         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11417         GCOV_N_VALUE_COUNTERS): New.
11418         * profile.c (compute_value_histograms): New static function.
11419         (branch_prob): Read back the value histograms.
11420         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11421         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11422         * value-prof.c: Add comment on reading the profile.
11423         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11424         * doc/invoke.texi (-fprofile-values): Document behavior with
11425         -fbranch-probabilities.
11426
11427 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
11428
11429         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11430
11431 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
11432
11433         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11434         symbolically.
11435
11436 2003-07-30  Jan Hubicka  <jh@suse.cz>
11437
11438         * gcse.c (insert_store): Ignore fake edges.
11439
11440         * c-common.c (flag_vtable_gc): Kill.
11441         * c-common.g (flag_vtable_gc): Kill.
11442         * c-opts (c_common_handle_option): Kill.
11443         * c.opt (fvtable-gc): Kill.
11444         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11445         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11446         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11447
11448         * invoke.texi (-ftable-gc): Kill documentation.
11449
11450         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11451         just because function body is missing.
11452
11453         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11454
11455 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
11456
11457         * unwind-sjlj.c: Fix typo in file description.
11458
11459 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
11460
11461         * calls.c (load_register_parameters): When shifting reg sized values
11462         to the msb, move the value to a reg first.
11463
11464 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11465
11466         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11467         * line-map.h (linemap_add): Update comments.
11468         * line-map.c (linemap_add): Update comments, interpret zero-length
11469         filename as "<stdin>".
11470
11471 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
11472
11473         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11474
11475 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
11476
11477         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11478         New static variables.
11479         (struct c_scope): Add parms and warned_forward_parm_decls
11480         fields; remove parm_order.
11481         (storedecls, storetags): Delete.
11482         (poplevel): Also clear bindings on the parms chain.
11483         (pushdecl): Handle forward declarations of parameters, and
11484         chain PARM_DECLs on the parms list, not the names list.
11485         (lookup_name_current_level): Check for PARM_DECLs on the parms
11486         list too.
11487         (push_parm_decl): Don't update parm_order.
11488         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
11489         warning, only once per parameter list, and set TREE_ASM_WRITTEN
11490         on the decls here.  Then move the forward decls to the names list.
11491         (grokparms): Set last_function_parm_vars.
11492         (get_parm_info): Don't use gettags or getdecls.  No need to
11493         extract non-parms from the parms list, or reorganize the parms
11494         list.  Feed nonparms back in the TREE_TYPE of the list node
11495         returned.  Issue only one error per parameter list for "void"
11496         appearing more than once in said parameter list.  Collapse
11497         parmlist_tags_warning into this function to avoid double scan
11498         of tags list.
11499         (start_function): Set current_function_parm_vars.
11500         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11501         directly.  Get non-parms from current_function_parm_vars; no
11502         need to extract them from the parms chain.  Properly bind tags
11503         in the new scope.
11504         (store_parm_decls_oldstyle): No need to extract non-parameters
11505         from the parms chain, nor to store them back afterward.  Move
11506         declaration to top of function, restructure code reordering
11507         DECL_ARGUMENTS.
11508         (store_parm_decls): No need to save and restore warn_shadow.
11509         * c-parse.in: Don't call parmlist_tags_warning nor
11510         clear_parm_order.  Call mark_forward_parm_decls when forward
11511         parm decls are encountered.
11512         * c-tree.h: Prototype mark_forward_parm_decls; not
11513         clear_parm_order or parmlist_tags_warning.
11514
11515 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
11516
11517         * c-common.c (allow_pch): Remove.
11518         * c-common.h (allow_pch): Remove.
11519         (c_common_no_more_pch): Declare.
11520         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11521         * c-pch.c: Include hosthooks.h.
11522         (c_common_valid_pch): Don't check allow_pch.
11523         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11524         (c_common_no_more_pch): New.
11525         * ggc-common.c: Include hosthooks.h.
11526         (gt_pch_save): Call gt_pch_get_address.
11527         (gt_pch_restore): Call gt_pch_use_address.
11528         * hooks.c (hook_voidp_size_t_null): New.
11529         (hook_bool_voidp_size_t_false): New.
11530         * hooks.h (hook_voidp_size_t_null): New.
11531         (hook_bool_voidp_size_t_false): New.
11532         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11533         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11534         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11535         HOST_HOOKS_GT_PCH_USE_ADDRESS.
11536         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11537         gt_pch_use_address.
11538         * doc/hostconfig.texi (Host Common): Document
11539         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11540         * Makefile.in (c-pch.o): Depend on hosthooks.h.
11541         (ggc-common.o): Likewise.
11542
11543         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11544         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11545         (pch_address_space): New.
11546         (darwin_rs6000_gt_pch_get_address): New.
11547         (darwin_rs6000_gt_pch_use_address): New.
11548
11549 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
11550
11551         PR preprocessor/11569
11552         PR preprocessor/11649
11553         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11554         * cppfiles.c: Completely rewritten.
11555         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11556         struct cpp_path is now struct cpp_dir.
11557         (remove_duplicates): Don't simplify path names.
11558         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11559         cpp_stack_file.
11560         * cpphash.h: Include hashtab.h.
11561         (_cpp_file): Declare.
11562         (struct cpp_buffer): struct include_file is now struct _cpp_file,
11563         and struct cpp_path is now struct cpp_dir.  Rename members.
11564         (struct cpp_reader): Similarly.  New members once_only_files,
11565         file_hash, file_hash_entries, quote_ignores_source_dir,
11566         no_search_path, saw_pragma_once.  Remove all_include_files and
11567         max_include_len.  Make some members bool.
11568         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
11569         (_cpp_stack_file): Renamed from _cpp_read_file.
11570         (_cpp_stack_include): Renamed from _cpp_execute_include.
11571         (_cpp_init_files): Renamed from _cpp_init_includes.
11572         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
11573         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
11574         (cpp_read_next_file): Rename and move to cppfiles.c.
11575         (cpp_read_main_file): Update.
11576         * cpplib.c (run_directive): Update for renamed members.
11577         (do_include_common, _cpp_pop_buffer): Update.
11578         (do_import): Undeprecate #import.
11579         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
11580         * cpplib.h: Remove file_name_map_list.
11581         (cpp_options): Remove map_list.
11582         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
11583         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
11584
11585 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
11586
11587         * Makefile.in:  Make stamp-objdir safe for parallel builds.
11588
11589 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
11590
11591         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
11592         (info):  Depend on stmp-docobjdir.
11593
11594 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11595
11596         * configure: Regenerate.
11597
11598 2003-07-29  Jan Hubicka  <jh@suse.cz>
11599
11600         PR C++/11131
11601         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
11602         in !unit-at-a-time mode.
11603
11604 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
11605
11606         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
11607         main function.
11608
11609 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
11610
11611         PR c++/11667
11612         * c-common.c (shorten_compare): Take into account differences
11613         between C and C++ representation for enumeration types.
11614         * tree.h (set_min_and_max_values_for_integral_type): Declare.
11615         * stor-layout.c (set_min_and_max_values_for_integral_type): New
11616         function, broken out from ...
11617         (fixup_signed_type): ... here and ...
11618         (fixup_unsigned_type): ... here.
11619
11620 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
11621
11622         * c-decl.c: Update commentary, adjust blank lines throughout.
11623         (struct c_scope): Fix indentation.  Reorder members so
11624         outer-context pointers come first, booleans last.
11625         (duplicate_decls, define_label): Use a 'locus' variable for
11626         diagnostic locations in a few more places.
11627         (warn_if_shadowing): Un-split a conditional that fits on one line.
11628         (c_init_decl_processing): No need to clear current_scope and
11629         current_function_scope.
11630         (start_decl): Merge if/else if statements with same action.
11631         (push_parm_decl): Rename old_immediate_size_expand to use
11632         save_foo convention; save/restore around entire function.
11633         (grokdeclarator): Remove unnecessary braces.
11634
11635 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
11636             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
11637
11638         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
11639         when warn_declaration_after_statement.  Call pedwarn_c90, not
11640         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
11641         * c-common.c (warn_declaration_after_statement): Define.
11642         * c-common.h (warn_declaration_after_statement): Declare.
11643         * c.opt (Wdeclaration-after-statement): New.
11644         * c-errors.c (pedwarn_c90): New function.
11645         * c-opts.c (c_common_handle_option) <case
11646         OPT_Wdeclaration_after_statement>: New.
11647         * c-tree.h (pedwarn_c90): Declare.
11648         * doc/invoke.texi (Option Summary): Document
11649         -Wdeclaration-after-statement.
11650         (Warning Options): Ditto.
11651
11652 2003-07-28  Jan Hubicka  <jh@suse.cz>
11653
11654         * i386.md (memory attribute) Avoid accessing uninitialized memory
11655         for ishift1 type instructions.
11656
11657 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
11658
11659         * configure.in (--enable-checking): Add fold category.
11660         (ENABLE_FOLD_CHECKING): Define if requested.
11661         * configure: Rebuilt.
11662         * config.in: Rebuilt.
11663         * doc/install.texi: Document it.
11664         * fold-const.c: Include md5.h.
11665         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
11666         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
11667         print_fold_checksum): New functions.
11668
11669         * fold-const.c (fold): Never modify argument passed to fold, instead
11670         change a copy and return it.
11671         * convert.c (convert_to_integer): Likewise.
11672
11673 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
11674
11675         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
11676         cleanup of junk after #else and #endif directives.  Collapse repeated
11677         clauses into for statment.
11678
11679         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
11680
11681 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
11682
11683         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
11684         (keep_next_if_subblocks): Rename next_is_function_body.
11685         (pushlevel): Adjust commentary.  Always set ->keep on the
11686         outermost level of a function.  Don't set ->keep_if_subblocks.
11687         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
11688         (store_parm_decls): Adjust to match.
11689         (finish_function): Adjust to match.
11690         Call poplevel with all three arguments zero.
11691
11692         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
11693         New functions split out of store_parm_decls.
11694         Avoid unnecessary work. Use local variables consistently.
11695         (store_parm_decls): Likewise.
11696
11697         (finish_function): No need to set functionbody flag on call to
11698         poplevel.
11699         (struct language_function): Remove scope field.
11700         (c_push_function_context, c_pop_function_context): No need to
11701         save and restore current_scope.
11702
11703 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
11704
11705         * doc/extend.texi (Deprecated Features): Implicit typename is
11706         gone. Default args on types is going.
11707
11708 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
11709
11710         * Makefile.in (ifcvt.o): Depend on target.h
11711         * ifcvt.c (target.h): Include.
11712         (if_convert): Don't call mark_loop_exit_edges if we can't
11713         modify jumps.
11714
11715 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11716
11717         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
11718
11719 2003-07-26  Richard Henderson  <rth@redhat.com>
11720
11721         PR inline-asm/11676
11722         * cse.c (count_reg_usage): Handle asm_operands properly.
11723
11724 2003-07-26  Roger Sayle  <roger@eyesopen.com>
11725
11726         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
11727         (DEF_EXT_FALLBACK_BUILTIN): Delete.
11728         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
11729         the regular DEF_EXT_LIB_BUILTIN macro.
11730         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
11731         the regular DEF_LIB_BUILTIN macro.
11732         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
11733         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
11734         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
11735         DEF_EXT_LIB_BUILTIN macro.
11736
11737         * c-decl.c (duplicate_decls): Remove code to handle builtin
11738         functions prototyped without an argument list.
11739
11740 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
11741
11742         * config/i386/winnt.c: Revert 2003-07-08 change.
11743         (i386_pe_section_type_flags): Remove error_with_decl here too.
11744
11745 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11746
11747         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
11748         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
11749         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
11750         (v850_handle_data_area_attribute): Likewise.
11751
11752 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
11753
11754         * varasm.c (output_constant_def_contents): Use
11755         ASM_DECLARE_CONSTANT_NAME if defined.
11756         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
11757         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
11758         objects get at least one byte to prevent assembler problems.
11759         (ASM_DECLARE_CONSTANT_NAME): New.
11760
11761         * Makefile.in (libbackend.o): Remove options_.h.
11762         (mostlyclean): Likewise.
11763
11764         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
11765         insert a label at the end of an function under Mach-O.
11766
11767         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
11768
11769 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
11770
11771         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
11772         equality.
11773         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
11774
11775         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
11776
11777 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11778
11779         * doc/passes.texi (Passes): Mention pretty-printing and
11780         diagnostic files.
11781
11782 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
11783
11784         * doc/extend.texi (Function Attributes): GNU C++ does now allow
11785         unused parameter decls.
11786         (Attribute Syntax): GNU C++ does not allow label attributes to be
11787         after the ':'.
11788
11789 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11790
11791         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
11792         (objc_declare_class): Likewise.
11793         (error_with_ivar): Likewise.
11794         (start_class): Likewise.
11795         (warn_with_method): Likewise.
11796
11797 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11798
11799         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
11800         from GCC.
11801         * calls.c (try_to_integrate): Don't use xxx_with_decl.
11802         (expand_call): Likewise.
11803         * dwarfout.c (output_reg_number): Likewise.
11804         * expr.c (expand_expr): Likewise.
11805         * function.c (assign_temp): Likewise.
11806         (uninitialized_vars_warning): Likewise.
11807         (setjmp_args_warning): Likewise.
11808         (expand_function_end): Likewise.
11809         * stmt.c (fixup_gotos): Likewise.
11810         (warn_about_unused_variables): Likewise.
11811         (expand_end_bindings): Likewise.
11812         * stor-layout.c (layout_decl): Likewise.
11813         (place_field): Likewise.
11814         * toplev.c (check_global_declarations): Likewise.
11815         (rest_of_handle_inlining): Likewise.
11816         (default_tree_printer): New function.
11817         (general_init): Initialize diagnostic machinery before routing
11818         signals to the ICE machinery.  Set default tree printer.
11819         * toplev.h (pedwarn_with_decl): Remove declaration.
11820         (warning_with_decl): Likewise.
11821         (error_with_decl): Likewise.
11822         (pedwarn): Remove attribute for the time being.
11823         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
11824         * varasm.c (named_section): Likewise.
11825         (make_decl_rtl): Likewise.
11826         (assemble_variable): Likewise.
11827         (merge_weak): Likewise.
11828         (declare_weak): Likewise.
11829
11830         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
11831         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
11832         (format_with_decl): Remove.
11833         (diagnostic_for_decl): Likewise.
11834         (pedwarn_with_decl): Likewise.
11835         (warning_with_decl): Likewise.
11836         (error_with_decl): Likewise.
11837         (diagnostic_initialize): Adjust.
11838         (diagnostic_count_diagnostic): Likewise.
11839         (announce_function): Likewise.
11840         (lhd_print_error_function): Likewise.
11841         (diagnostic_report_current_module): Likewise.
11842         (default_diagnostic_starter): Likewise.
11843         (diagnostic_report_diagnostic): Likewise.
11844         (default_diagnostic_finalizer): Likewise.
11845         (verbatim): Likewise.
11846         (error): Likewise.
11847         (warning): Likewise.
11848         * opts.c (common_handle_option): Likewise.
11849         * pretty-print.c: New file.
11850         * c-pretty-print.h (pp_base): Override.
11851         * c-pretty-print.c: Adjust use of macros throughout.
11852         (pp_buffer): New macro.
11853         (pp_newline): Likewise.
11854         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
11855         * Makefile.in (DIAGNOSTIC_H): New variable.
11856         (c-errors.o): Use it.
11857         (c-objc-common.o): Likewise.
11858         (c-common.o): Likewise.
11859         (c-opts.o): Likewise.
11860         (c-format.o): Likewise.
11861         (diagnostic.o): Likewise.
11862         (opts.o): Likewise.
11863         (toplev.o): Likewise.
11864         (rtl-error.o): Likewise.
11865         (dwarf2out.o): Likewise.
11866         (jump.o): Likewise.
11867         (pretty-print.o): New rule.
11868
11869 2003-07-24  Roger Sayle  <roger@eyesopen.com>
11870
11871         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
11872         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
11873         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
11874         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
11875         (DEF_FRONT_END_LIB_BUILTIN): Delete.
11876         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
11877         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
11878
11879         * builtins.c (build_string_literal): New function to construct
11880         a char* pointer to a string literal.
11881         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
11882         "rtx target" to be consistent with other expand_builtin_* functions.
11883         Change 3rd argument from "int unlocked" to "bool unlocked".
11884         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
11885         c-common.c to avoid front-end dependencies.  Optimize printf("")
11886         as a no-op when the result isn't required.  Handle embedded NULs
11887         in format string.
11888         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
11889         from c-common.c to avoid front-end dependencies.  Likewise, optimize
11890         fprintf(fp,"") as a no-op when the result isn't required, evaluating
11891         fp for side-effects.  Handle embedded NULs in format string.
11892         (expand_builtin_sprintf): Fix typo.
11893         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
11894         optimizing.  Adjust calls of expand_builtin_fputs to match the API
11895         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
11896         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
11897         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
11898
11899         * c-common.c (is_valid_printf_arglist): Delete.
11900         (c_expand_builtin): Delete.
11901         (c_expand_builtin_printf): Moved to builtins.c. Delete.
11902         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
11903         (c_expand_expr): No longer treat CALL_EXPRs specially.
11904         (CALLED_AS_BUILT_IN): Delete.
11905
11906 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11907
11908         PR optimization/11631
11909         * gcse.c (store_motion): Connect infinite loops to exit.
11910
11911 2003-07-24  Jason Merrill  <jason@redhat.com>
11912
11913         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
11914         (boolean_true_node, boolean_false_node): Likewise.
11915         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
11916         * tree.c (build_common_tree_nodes): Init boolean_type_node.
11917         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
11918         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
11919         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
11920         (truthvalue_true_node): Renamed from boolean_true_node.
11921         (truthvalue_false_node): Renamed from boolean_false_node.
11922         * c-decl.c: Just set truthvalue_* to integer_*.
11923         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
11924
11925 2003-07-24  Roger Sayle  <roger@eyesopen.com>
11926
11927         * c-decl.c (match_builtin_function_types): New subroutine of
11928         duplicate_decls to test whether a redeclaration of a builtin
11929         function is suitably close, i.e. the return type and all of
11930         the argument types have the same modes as the builtin expects.
11931         (duplicate_decls): Fuzzy type matching for builtin functions
11932         moved to match_builtin_function_types.
11933
11934 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11935
11936         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
11937         flag correctly.
11938
11939 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
11940
11941         * c-decl.c: Search-and-replace change 'binding level' to
11942         'scope' in commentary.
11943         (struct binding_level): Now struct c_scope.
11944         (current_binding_level): Now current_scope.
11945         (free_binding_level): Now scope_freelist.
11946         (current_function_level): Now current_function_scope.
11947         (global_binding_level): Now global_scope.
11948         (make_binding_level): Now make_scope.
11949         (pop_binding_level): Now pop_scope.
11950
11951 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11952
11953         * configure.in (libgcc_visibility): Add missing whitespace.
11954
11955 2003-07-24  Richard Henderson  <rth@redhat.com>
11956
11957         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
11958         __gcc_personality_v0.
11959
11960 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11961
11962         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
11963
11964 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
11965
11966         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
11967         documentation missed from my 2003-07-09 patch.
11968
11969 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
11970
11971         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
11972         it's not provided.
11973         * configure: Rebuild.
11974
11975 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
11976
11977         PR c/10602
11978         * c-typeck.c (type_lists_compatible_p): Do not compare
11979         arguments if one of them is an error_mark_node
11980
11981 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
11982
11983         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
11984         if current_function_calls_eh_return.
11985
11986 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
11987
11988         * doc/c-tree.texi (OFFSET_TYPE): Update description.
11989
11990 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
11991
11992         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
11993         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
11994         __umodsi3, __modsi3): Increase frame size to 32.
11995
11996 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
11997
11998         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
11999         prototype.
12000
12001 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
12002
12003         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
12004
12005         PR optimization/10679
12006         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
12007
12008 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12009
12010         PR target/11607 and PR target/11516
12011         * pa.md (extzv, extv, insv): Revert latter half of last patch.
12012
12013 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
12014
12015         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
12016         * varasam.c (output_constant): Likewise.
12017
12018 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12019
12020         * alias.c: Fix comment formatting.
12021         * c-common.c: Likewise.
12022         * c-decl.c: Likewise.
12023         * c-opts.c: Likewise.
12024         * combine.c: Likewise.
12025         * cpplib.c: Likewise.
12026         * diagnostic.c: Likewise.
12027         * dojump.c: Likewise.
12028         * final.c: Likewise.
12029         * fold-const.c: Likewise.
12030         * gcc.c: Likewise.
12031         * gcse.c: Likewise.
12032         * ggc-page.c: Likewise.
12033         * jump.c: Likewise.
12034         * loop.c: Likewise.
12035         * mips-tfile.c: Likewise.
12036         * recog.c: Likewise.
12037         * regclass.c: Likewise.
12038         * regmove.c: Likewise.
12039         * tree.c: Likewise.
12040         * tree.h: Likewise.
12041
12042 2003-07-22  Per Bothner  <pbothner@apple.com>
12043
12044         * line-map.c (add_line_map):  Handle invalid LEAVE request.
12045         Fixes PR preprocessor/11361.
12046
12047 2003-07-22  Per Bothner  <pbothner@apple.com>
12048
12049         * diagnostic.c.(diagnostic_report_current_module):  Update to match
12050         2003-06-05 changes to push_srcloc and pop_srcloc.
12051
12052 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
12053
12054         * doc/trouble.texi: Better document two-stage name lookup.
12055
12056 2003-07-22  Eric Christopher <echristo@redhat.com>
12057
12058         * config/s390.c (s390_valid_pointer_mode): New.
12059         (TARGET_VALID_POINTER_MODE): Use.
12060         (s390_emit_prologue): Add tpf profiling hooks.
12061         (s390_emit_epilogue): Ditto.
12062         * config/s390.h (MASK_TPF): New.
12063         (TARGET_TPF): Use.
12064         (POINTERS_EXTEND_UNSIGNED): Define.
12065         * config/s390.md (ptr_extend): New pattern.
12066
12067 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
12068
12069         * hashtable.c (approx_sqrt): Make static.
12070         * hashtable.h: Don't prototype approx_sqrt.
12071         * line-map.c (init_line_maps): Rename linemap_init.
12072         (free_line_maps): Rename linemap_free.
12073         (add_line_map): Rename linemap_add.
12074         (lookup_line): Rename linemap_lookup.
12075         (print_containing_files): Rename linemap_print_containing_files.
12076         * linemap.h: Update to match.
12077
12078         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
12079         linemap routines to use new names.
12080
12081 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
12082
12083         * c-common.c (handle_packed_attribute): Don't pack a struct via a
12084         typedef. Propagate packedness from a main variant.
12085
12086 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
12087
12088         * Makefile.in (install-common): Add dependency on installdirs.
12089
12090 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
12091
12092         * c-common.c (c_common_type_for_mode): Return integer types for
12093         pointer modes.
12094
12095 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
12096
12097         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
12098         (finish_decl): Call maybe_apply_pragma_weak here.
12099         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
12100         TREE_PUBLIC and TREE_STATIC are decided.
12101         (start_function): Move call to maybe_apply_pragma_weak.  Check that
12102         DECL_ASSEMBLER_NAME isn't set too early.
12103
12104         * cpplex.c (_cpp_process_line_notes): Mention option name in
12105         trigraphs warning.
12106
12107 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
12108
12109         * combine.c (if_then_else_cond): Simplify the comparison of
12110         rtx against -1, 0, and 1.
12111         * loop.c (check_dbra_loop): Likewise.
12112         * optabs.c (emit_conditional_move): Likewise.
12113         (emit_conditional_add): Likewise.
12114         * config/i386/i386.md (*movsi_or): Likewise.
12115         (*movdi_or_rex6): Likewise.
12116
12117 2003-07-22  Jan Hubicka  <jh@suse.cz>
12118
12119         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
12120
12121 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
12122
12123         * cppfiles.c (open_file_pch): Don't put unused entries in the
12124         splay tree.  Remove dead code.
12125
12126 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
12127
12128         * c-common.h (num_in_fnames): Declare.
12129         (c_static_assembler_name): Move from here...
12130         * c-tree.h (c_static_assembler_name): ... to here.
12131         * c-opts.c: Don't include langhooks-def.h.
12132         (c_static_assembler_name): Move to c-decl.c.
12133         (num_in_fnames): Make externally visible.
12134         * c-decl.c: Include langhooks-def.h.
12135         (c_static_assembler_name): Move from c-opts.c.
12136         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
12137         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
12138
12139         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
12140         when it's not needed.
12141
12142 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
12143
12144         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
12145         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
12146         (rs6000_emit_prologue): Save FPRs inline if set.
12147
12148 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
12149
12150         * config/ia64/ia64.md (prefetch): Support predicate.
12151
12152 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
12153
12154         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
12155         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
12156         table.
12157
12158 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12159
12160         PR optimization/11536
12161         * unroll.c (loop_iterations): Do not replace a register holding
12162         the final value by its equivalent before the loop if it is not
12163         invariant.
12164
12165 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
12166
12167         * doc/extend.texi: Fixes to spelling, grammar, and diction.
12168
12169 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
12170
12171         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
12172         (V850 Options): Spelling fixes.
12173
12174 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
12175
12176         * doc/invoke.texi: Fixes to style, grammar and diction.
12177
12178 2003-07-20  Roger Sayle  <roger@eyesopen.com>
12179
12180         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
12181         * system.h (SMALL_STACK): Poison obsolete target macro.
12182         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
12183
12184 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
12185
12186         * configure.in:  Cache the results of testing for cmp's capabilities.
12187         * configure:  Regenerate.
12188
12189 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
12190
12191         PR debug/11279
12192         * dwarf2out.c (gen_enumeration_type_die): Remember that
12193         enumerators can be unsigned.
12194
12195 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
12196
12197         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
12198         (push_label_level, pop_label_level): Kill.
12199         (struct binding_level): Rename level_chain to outer.
12200         Add outer_function field.  Change parm_flag, function_body,
12201         keep, keep_if_subblocks to 1-bit bitfields of type bool.
12202         (current_function_level): New variable.
12203         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
12204         (keep_next_level, declare_parm_level, warn_if_shadowing):
12205         Update to match.
12206         (struct language_function): Kill named_labels, shadowed_labels fields.
12207         (c_init_decl_processing, start_function, c_push__function_context)
12208         (c_pop_function_context): No need to muck with named_labels nor
12209         shadowed_labels.
12210
12211         (make_binding_level): No need to clear the structure here.
12212         (pop_binding_level): Always operate on current_binding_level.
12213         Update current_function_level if necessary.
12214         (pushlevel): Don't clear named_labels.  Update current_function_level
12215         if necessary.  Use "true" and "false" where appropriate.
12216         (poplevel): Diagnose labels defined but not used, or vice
12217         versa, and clear out label-meanings leaving scope, while
12218         walking down the decls list, for all binding levels.
12219         Handle LABEL_DECLs appearing in the shadowed list.
12220         pop_binding_level takes no arguments.
12221         (pushdecl_function_level): Use current_function_level.
12222
12223         (make_label, bind_label): New static functions.
12224         (declare_label): New exported function.
12225         (lookup_label, define_label): Rewritten for new data structure.
12226         (shadow_label): Kill.
12227
12228         * c-tree.h: Prototype declare_label; don't prototype
12229         push_label_level, pop_label_level, nor shadow_label.
12230         * c-parse.in: Remove all calls to push_label_level and
12231         pop_label_level.  Use declare_label for __label__ decls.
12232
12233         * doc/extend.texi: Clarify that __label__ can be used to
12234         declare labels with local scope in any nested block, not
12235         just statement expressions.  Cross-reference nested functions
12236         section from local labels section.
12237
12238 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12239
12240         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
12241
12242 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
12243
12244         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
12245
12246 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12247
12248         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
12249         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
12250
12251 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
12252
12253         * config/s390/s390.c (legitimize_pic_address): Access local symbols
12254         relative to the GOT instead of relative to the literal pool base.
12255         (s390_output_symbolic_const): Handle new GOT-relative accesses.
12256         * config/s390/s390.md ("call"): Access local functions and PLT stubs
12257         relative to the GOT instead of relative to the literal pool base.
12258         ("call_value"): Likewise.
12259         ("call_value_tls"): Likewise.
12260
12261         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
12262         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
12263         (s390_chunkify_finish): Likewise.
12264         (s390_chunkify_cancel): Likewise.
12265         (s390_reorg): Adapt caller.
12266         (find_base_register_in_addr,
12267         find_base_register_ref, replace_base_register_ref): Delete.
12268         (find_ltrel_base, replace_ltrel_base): New functions.
12269         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
12270         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
12271         base vs. index register usage.
12272         (struct constant_pool): Remove 'anchor'.
12273         (s390_add_anchor): Delete.
12274         (s390_dump_pool): Remove anchor handling.
12275         * config/s390/s390.md ("reload_anchor"): Remove.
12276
12277         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
12278         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
12279         (s390_emit_prologue): Use it.
12280         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
12281         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
12282         hard-code register 14.
12283         * config/s390/s390-protos.h (s390_load_got): Declare.
12284
12285         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
12286         Support TImode constants.
12287         * config/s390/s390.md ("consttable_ti"): New.
12288         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
12289
12290         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
12291         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
12292         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
12293         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
12294         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
12295         New symbolic constants.
12296         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
12297         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
12298         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
12299         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
12300         symbolic UNSPEC values.
12301         * config/s390/s390.c (larl_operand, s390_short_displacement,
12302         bras_sym_operand, s390_cannot_force_const_mem,
12303         s390_delegitimize_address, s390_decompose_address,
12304         legitimize_pic_address, s390_output_symbolic_const,
12305         s390_function_profiler): Use symbolic UNSPEC values.
12306
12307 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12308
12309         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12310         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12311         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12312         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12313         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12314         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12315         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12316         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12317         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12318         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12319         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12320         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12321         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12322         postreload.c prefix.c print-tree.c protoize.c ra-build.c
12323         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12324         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12325         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12326         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12327         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12328         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12329         casts.
12330
12331 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12332
12333         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12334         * toplev.h (warning): Remove attribute.
12335
12336 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12337
12338         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12339         (pop_label_level): Likewise.
12340         (duplicate_decls): Likewise.
12341         (implicitly_declare): Likewise.
12342         (shadow_label): Likewise.
12343         (start_decl): Likewise.
12344         (finish_decl): Likewise.
12345         (grokdeclarator): Likewise.
12346         (get_parm_info): Likewise.
12347         (detect_field_duplicates): Likewise.
12348         (finish_struct): Likewise.
12349         (start_function): Likewise.
12350         (store_parm_decls): Likewise.
12351         (finish_function): Likewise.
12352         (c_expand_body_1): Likewise.
12353         (check_for_loop_decls): Likewise.
12354         (merge_translation_unit_decls): Likewise.
12355
12356 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
12357
12358         * common.opt:  Document --param.
12359         * opts.c (columns, undocumented_msg): New.
12360         (print_help): Get number of columns from environment.  Print
12361         --param help.  Tweak newline handling.
12362         (print_param_help): New.
12363         (print_filtered_help): Better handling of duplicates.  Complain
12364         about undocumented switches.
12365         (print_switch): New.
12366         (wrap_help): Improve wrapping, use COLUMNS.
12367         * opts.sh: Ignore comments in records.
12368         * params.def: Fix typos and remove trailing periods.
12369         * toplev.c (display_help): Don't dump --param help.
12370         * doc/sourcebuild.texi: Update.
12371
12372 2003-07-18  Richard Henderson  <rth@redhat.com>
12373
12374         PR target/11556
12375         * optabs.c (prepare_operand): Fail gracefully instead of abort
12376         if the predicate doesn't satisfy.
12377         (gen_cond_trap): Allow prepare_operand to fail.
12378
12379 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12380
12381         * c-common.c: Don't undefine GCC_DIAG_STYLE.
12382         (fname_decl): Don't use xxx_with_decl.
12383         (c_add_case_label): Likewise.
12384         (handle_section_attribute): Likewise.
12385         (handle_alias_attribute): Likewise.
12386         (handle_no_instrument_function_attribute): Likewise.
12387         (handle_no_limit_stack_attribute): Likewise.
12388         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12389         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12390
12391 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12392
12393         * Makefile.in (ifcvt.o): Add cfgloop.h.
12394         * basic-block.h (EDGE_LOOP_EXIT): New flag.
12395         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12396         * ifcvt.c: Include cfgloop.h.
12397         (mark_loop_exit_edges): New static function.
12398         (if_convert): Call it.
12399         (find_if_header): Ignore branches out of loops.
12400
12401 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
12402
12403         * combine.c (simplify_comparison): Don't share rtx when converting
12404         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12405
12406 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
12407
12408         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12409         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12410         (MUST_PASS_IN_STACK): Define.
12411         (BLOCK_REG_PADDING): Define.
12412
12413 2003-07-18  Richard Henderson  <rth@redhat.com>
12414
12415         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12416         to skip the addr_vec.
12417
12418 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
12419
12420         * combine.c (combinable_i3pat): Don't forbid occurrences of
12421         i2dest or i1dest in inner_dest if inner_dest is a mem.
12422
12423 2003-07-18  Jan Hubicka  <jh@suse.cz>
12424
12425         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12426
12427 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
12428
12429         PR target/11087
12430         * loop.c (basic_induction_var): Check if convert_modes emitted any
12431         instructions. Remove them and return 0 if so.
12432
12433 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
12434
12435         PR optimization/11083
12436         * toplev.c (rest_of_handle_addresof): Rename into
12437         rest_of_handle_addressof.  Delete unreachable blocks
12438         if dead edges were purged after the addressof pass.
12439
12440 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
12441
12442         * Makefile.in, configure, configure.in: Remove handling of
12443         lang-options.h and options_.h.
12444         * toplev.c (struct lang_opt, documented_lang_options): Remove.
12445         (display_help): Don't use documented_lang_options.
12446
12447 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12448
12449         * c-decl.c (pushdecl_function_level): Make static, return nothing.
12450         (kept_level_p): Fold into poplevel.
12451         (undeclared_variable): Moved here from c-typeck.c.  Export.
12452         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12453         (undeclared_variable): Prototype here.  Don't prototype
12454         kept_level_p nor pushdecl_function_level.
12455         * c-parse.in: Change first argument to poplevel from
12456         "kept_level_p()" to "KEEP_MAYBE".
12457         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12458
12459 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12460
12461         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12462         commutative operands instead of modifying the RTL in-place.
12463
12464 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
12465
12466         PR optimization/11557
12467         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12468         unless we know which function is being called.
12469
12470 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12471
12472         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12473         whether to reorder the operands of a commutative binary operator.
12474
12475 2003-07-17  Roger Sayle  <roger@eyesopen.com>
12476
12477         * fold-const.c (const_binop): Avoid performing the FP operation at
12478         compile-time, if either operand is NaN and we honor signaling NaNs,
12479         or if we're dividing by zero and either flag_trapping_math is set
12480         or the desired mode doesn't support infinities.
12481         (fold_initializer): New function to fold an expression ignoring any
12482         potential run-time exceptions or traps.
12483         * tree.h (fold_initializer): Prototype here.
12484         * c-typeck.c (build_binary_op): Move to the end of the file so
12485         that intializer_stack is in scope.  If constructing an initializer,
12486         i.e. when initializer_stack is not NULL, use fold_initializer to
12487         fold expressions.
12488         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12489         performing FP operations at compile-time, if they would raise an
12490         exception at run-time.
12491
12492 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
12493
12494         PR 11498
12495         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12496         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12497         (GTFILES): Add langhooks.c.
12498         (gt-langhooks.h): New.
12499         * c-common.h (c_static_assembler_name): Prototype.
12500         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12501         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12502         * c-opts.c: Include langhooks-def.h.
12503         (c_static_assembler_name): New.
12504         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
12505         (var_labelno): New.
12506         (lhd_set_decl_assembler_name): Give static objects with context
12507         unique names.
12508         * varasm.c (var_labelno): Delete.
12509         (make_decl_rtl): Don't change the assembler name once it's set.
12510
12511         * c-opts.c (this_input_filename): New.
12512         (finish_options): Take new parameter, name of file being compiled.
12513         Update callers.  Set this_input_filename.
12514         (push_command_line_include): Use this_input_filename not
12515         main_input_filename.
12516
12517 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12518
12519         * Makefile.in: Depend .pot generation on options.c.
12520         * po/exgettext: Add an extra_files variable containing additional
12521         files to scan.
12522
12523 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
12524
12525         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12526         c_write_global_declarations.
12527
12528         * c-decl.c: Fix typos in several comments.  Remove all
12529         #if 0 blocks; reindent as needed.  Remove unused argument
12530         to declare_parm_level; all callers changed.
12531         * c-parse.in: Update calls to declare_parm_level.  Avoid
12532         issuing a double warning in some circumstances.
12533         * c-typeck.c: Update calls to declare_parm_level.
12534         * c-tree.h: Update prototype of declare_parm_level.
12535
12536         * c-pragma.c (apply_pragma_weak): Don't complain about a
12537         redundant #pragma weak.
12538
12539         * objc/objc-act.c (forward_declare_categories,
12540         build_selector_reference_decl, build_class_reference_decl,
12541         build_objc_string_decl, synth_forward_declarations,
12542         build_protocol_reference): Set TREE_PUBLIC on synthetic
12543         forward decl to 0, consistent with eventual definition.
12544         Correct comments to match.
12545
12546         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12547         in regexp that don't form a range expression.
12548         * fixinc/fixincl.def: Regenerate.
12549
12550 2003-07-17  Richard Henderson  <rth@redhat.com>
12551
12552         PR target/10907
12553         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12554         even with !TARGET_CONST_GP.
12555         (ia64_function_ok_for_sibcall): Reject non-local functions.
12556
12557 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
12558
12559         * c-common.c (c_estimate_num_insns_1): Don't handle
12560         METHOD_CALL_EXPR.
12561         * expr.c (safe_from_p): Likewise.
12562         * gengtype.c (adjust_field_tree_exp): Likewise.
12563         * stmt.c (warn_if_unused_value): Likewise
12564         * tree.c (first_rtl_op): Likewise.
12565         * tree.def: Don't define METHOD_CALL_EXPR.
12566         * java/lang.c (java_estimate_num_insns_1): Don't handle
12567         METHOD_CALL_EXPR.
12568
12569 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
12570
12571         PR other/11466
12572         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
12573         and its restrictions for the SPARC64 port.
12574         Move the entry of "-mimpure-text" before that of "-mv8".
12575
12576 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
12577             Phil Edwards <phil@jaj.com>
12578
12579         * doc/install.texi (*-*-solaris2*): Document the step-by-step
12580         procedure to bootstrap and install.
12581         Document the preference for the legacy Sun tools in /usr/bin
12582         over the POSIX tools in /usr/xpg4/bin for the build process.
12583
12584 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
12585
12586         * c.opt: Document Uncodumented; use it.  Document ObjC options.
12587         * opts.c (print_filtered_help): Skip undocumented switches.
12588         * opts.h (CL_UNDOCUMENTED): New.
12589         * opts.sh: Handle Undocumented.
12590         * toplev.c (documented_lang_options): Prevent its becoming empty.
12591 objc:
12592         * lang-options.h: Remove.
12593
12594 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
12595
12596         * loop.c (check_ext_dependent_givs): Pass const struct loop *
12597         instead of struct loop_info * as argument.  Accept BIVs with
12598         increment +/- 1 provided there is a friendly exit test against
12599         a loop-invariant value.
12600         (strength_reduce): Adapt call to check_ext_dependent_givs.
12601
12602 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
12603             Con Bradley <con.bradley@superh.com>
12604
12605         * sh-protos.h (sh_get_pr_initial_val): Declare.
12606         * sh.c (regno_reg_class): Make its elements type enum reg_class.
12607         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
12608         and live_regs_mask arguments.  Changed all callers.
12609         (save_schedule_s): New structure.
12610         (save_schedule): New typedef.
12611         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
12612         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
12613         In interrupts handlers, also save registers that are usually
12614         partially saved, and make sure there is at least one general purpose
12615         register saved if a target register needs saving.
12616         Add casts in comparisons to avoid warnings.
12617         (sh_media_register_for_return): return -1 for interrupt handlers.
12618         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
12619         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
12620         registers used are available.
12621         Set RTX_FRAME_RELATED_P where appropriate.
12622         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
12623         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
12624         (initial_elimination_offset): Likewise.
12625         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
12626         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
12627         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
12628         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
12629         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
12630         and for target registers.
12631         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
12632         (regno_reg_class): Make its elements type enum reg_class.
12633         (CONSTRAINT_LEN): Don't use isdigit.
12634         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
12635         (FUNCTION_ARG): Add parentheses to avoid warnings.
12636         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
12637         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
12638         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
12639         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
12640         * sh.md (xordi3+1): Remove unused variable regno.
12641         (return_media): Check that tr0 is available before using it.
12642
12643 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
12644
12645         * c.opt: Document more options.
12646
12647 2003-07-16  Roger Sayle  <roger@eyesopen.com>
12648
12649         * combine.c (subst): Also handle (subreg (const_double ...)) case
12650         if created by a substitution, by using the original inner mode.
12651
12652 2003-07-16  Roger Sayle  <roger@eyesopen.com>
12653
12654         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
12655         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
12656         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
12657
12658 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
12659
12660         * doc/install.texi (--without-headers): New.
12661
12662         Partial Fix PR/10129
12663         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
12664         (machopic_output_function_base_name): New; print the true pic label.
12665         (machopic_classify_ident): Pic Base is always a defined data.
12666         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
12667         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
12668
12669         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
12670         if they are not floating point registers.
12671
12672         PR c/10962
12673         * ggc.h: Add header guards.
12674         * c-decl.c (finish_struct): Sort fields if
12675         number greater than 15 and there are no
12676         anonymous structs/unions.
12677         * c-common.h: Include ggc.h.
12678         (sorted_fields_type): New struct.
12679         (field_decl_cmp): New prototype.
12680         (resort_sorted_fields): New prototype.
12681         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
12682         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
12683         as s, removing other fields.
12684         * c-typeck.c (lookup_field): Use s in lang_type.
12685         These were mostly moved from cp/class.c:
12686         * c-common.c (field_decl_cmp): New static function.
12687         (field_decl_cmp): New function.
12688         (resort_sorted_fields): New function.
12689
12690 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
12691
12692         * config/darwin.c (machopic_select_section): Use decl_readonly_section
12693         to do most of the work.
12694
12695 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
12696
12697         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
12698         * config/mmix/mmix.c: Convert functions to ISO C90.
12699         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
12700         formatting.
12701         (mmix_get_hard_reg_initial_val): Tweak section head comment.
12702
12703 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
12704
12705         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
12706
12707 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
12708
12709         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
12710         (uw_update_context_1): Use it.
12711         * config/rs6000/rs6000.c (insn_after_throw): Remove.
12712         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
12713         in parent frame if _Unwind_* called directly instead of through
12714         .plt.
12715         (rs6000_emit_eh_toc_restore): Remove.
12716         (rs6000_emit_prologue): Update stack pointer before doing any saving
12717         if current_function_calls_eh_return.  Generate unwind info for $r2.
12718         (rs6000_emit_epilogue): Restore stack pointer after doing all
12719         restoring if current_function_calls_eh_return.  Restore $r2.
12720         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
12721         * config/rs6000/rs6000.md (eh_return): Remove call to
12722         rs6000_emit_eh_toc_restore.
12723         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
12724         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
12725
12726 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
12727
12728         * expr.c (emit_block_move): Don't move anything if size is const 0.
12729         (clear_storage): Test against const0_rtx instead of comparing INTVAL
12730         against 0.
12731
12732 2003-07-15  David S. Miller  <davem@redhat.com>
12733
12734         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
12735         emit nop if the last real insn is CALL_INSN.
12736
12737 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
12738
12739         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
12740         as "nul".
12741         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
12742
12743 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
12744
12745         * config/i386/winnt.c (associated_type): Artificial methods are not
12746         affected by the import/export status of their class unless they are
12747         COMDAT.
12748         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
12749
12750         * config/i386/winnt.c: Fix GCC copyright comment.
12751
12752 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
12753
12754         PR c++/11531
12755         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
12756         not recursing on hard error.
12757         (diagnostic_for_decl): Likewise.
12758         * diagnostic.def: Rearrange.
12759
12760 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
12761
12762         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
12763         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
12764
12765 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
12766             Richard Henderson  <rth@redhat.com>
12767
12768         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
12769         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
12770         (_Unwind_SetGR): Likewise.
12771         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
12772         (Unwind_SpTmp): New typedef.
12773         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
12774         (uw_update_context): Use _Unwind_GetPtr.
12775         (init_dwarf_reg_size_table): Move above uw_init_context_1.
12776         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
12777         Use _Unwind_SetSpColumn.
12778         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
12779         Use _Unwind_GetPtr.
12780
12781 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
12782
12783         * c.opt: Document more options.
12784         * toplev.c (documented_lang_options): Remove all local help strings.
12785
12786 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
12787
12788         PR debug/11473
12789         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
12790         base classes.
12791
12792 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
12793
12794         PR target/10795
12795         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
12796         swap comparison operands if doing so would generate an
12797         unrecognizable insn.
12798
12799 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
12800
12801         PR optimization/11320
12802         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
12803         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
12804         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
12805         current_sched_info->compute_jump_reg_dependencies. Record which
12806         registers are used and which registers are set by the jump.
12807         Clear deps->reg_conditional_sets after a barrier.
12808         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
12809         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
12810         (init_deps): Initialize reg_conditional_sets.
12811         (free_deps): Clear reg_conditional_sets.
12812         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
12813         Mark registers live on entry of the fallthrough block and conditionally
12814         set as set by the jump. Mark registers live on entry of non-fallthrough
12815         blocks as used by the jump.
12816         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
12817         Mark new parameters as unused.
12818
12819 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
12820
12821         * doc/invoke.texi: Resync MIPS -march documentation.
12822
12823 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
12824
12825         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
12826         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
12827         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
12828         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
12829         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
12830         (mips_issue_rate): Handle PROCESSOR_R9000.
12831         (mips_use_dfa_pipeline_interface): Likewise.
12832         * config/mips/9000.md: New file.
12833         * config/mips/mips.md: Include it.
12834         (define_attr cpu): Add r9000.
12835         (mulsi3_mult3): Use "mul" for rm9000 code.
12836
12837 2003-07-15  Stan Cox  <scox@redhat.com>
12838
12839         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
12840         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
12841         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
12842         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
12843         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
12844         (mips_issue_rate): Handle PROCESSOR_R7000.
12845         (mips_use_dfa_pipeline_interface): Likewise.
12846         * config/mips/7000.md: New file.
12847         * config/mips/mips.md: Include it.
12848         (define_attr cpu): Add r7000.
12849         (mulsi3_mult3): Use "mul" for rm7000 code.
12850
12851 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
12852
12853         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
12854         the conditional move patterns.
12855         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
12856         Check for condmove type.
12857         (ir_vr54_arith): Add move type.
12858         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
12859         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
12860
12861 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
12862
12863         * c-opts.c (print_help): Remove.
12864         (c_common_handle_option): Don't handle --help.
12865         * c.opt: Document some options.
12866         (--help): Remove.
12867         * opts.c (print_filtered_help): New.
12868         (print_help): Use it.
12869
12870 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
12871
12872         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
12873         * tree.c: (build_common_tree_nodes_2): Likewise.
12874         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
12875         (V4DF_type_node): New.
12876
12877         * c-opts.c (push_command_line_include): Don't free deferred_opts,
12878         we'll need it.
12879         (finish_options): Reset init_cursor.
12880
12881 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
12882
12883         * expr.c (expand_assignment): Remove an unused argument
12884         SUGGEST_REG.
12885         * expr.h: Update the prototype.
12886         * function.c: Update the callers.
12887         * stmt.c: Likewise.
12888
12889 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
12890
12891         PR debug/11098
12892         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
12893         as DECL_ABSTRACT.
12894
12895 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
12896
12897         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
12898         with __cplusplus, not "we must use the C++ compiler's type"
12899         * fixinc/inclhack.def (void_null): Note that Interix needs this.
12900         * fixinc/fixincl.x: Regenerate.
12901
12902 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
12903
12904         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
12905         and unseen_objects from the global data before calling
12906         __deregister_frame_info_bases.
12907         (examine_objects): Insert objects into the seen_objects list,
12908         not unseen_objects.
12909         (_Unwind_Find_FDE): Always unlock the global object lists, even if
12910         we couldn't allocate a data structure to put in it.
12911
12912         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
12913         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
12914         (SET_TYPE_PROTOCOL_LIST): New.
12915         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
12916         (get_object_reference): Likewise.
12917
12918 2003-07-14  Jan Hubicka  <jh@suse.cz>
12919
12920         * cfglayout.c (locator_file): Break out from ....
12921         (insn_file): ... here.
12922         (locator_line): Break out from ....
12923         (insn_line): ... here.
12924         * rtl.h (locator_file, locator_line): Declare.
12925         (final_start_function): Set proper line/file info.
12926
12927 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12928
12929         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
12930         handled by pp_c_cast_expression.
12931
12932 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
12933
12934         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
12935         allocate 32768 bytes of stack.  Use addition rather than subtraction
12936         when a single insn is enough.
12937         * config/mips/mips.md: Remove insns and splitters for subtracting
12938         constants.
12939         (subsi3): Only accept register operands.
12940         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
12941         (subdi3_internal_3, subsi3_internal_2): Likewise.
12942         (casesi): Use expand_binop to subtract the lower bound.
12943
12944 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
12945
12946         * config/mips/mips.c (mips_in_small_data_p): Don't handle
12947         TARGET_MIPS16 specially.
12948
12949 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
12950
12951         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
12952         mips_output_aligned_bss.
12953         * config/mips/linux.h: Likewise.
12954         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
12955         * config/mips/mips.c (mips_output_aligned_bss): New function.
12956
12957         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
12958         * config/mips/elf64.h: Likewise.
12959
12960         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
12961         mips_declare_object_name.
12962         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
12963         * config/mips/elf64.h: As for elf.h.
12964         * config/mips/iris6.h: Likewise.
12965         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
12966         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
12967         do...while (0) block.
12968         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
12969         (mips_finish_declare_object): Declare.
12970         * config/mips/mips.c (mips_declare_object_name): New function.
12971         (mips_finish_declare_object): New function.
12972
12973         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
12974         * config/mips/linux.h: Likewise.
12975
12976         * config/mips/mips.c (inside_function): Delete.
12977         (file_in_function_warning, ignore_line_number): Delete.
12978         (mips_output_filename): Don't warn about changing filenames within
12979         a function.
12980         (mips_output_lineno): Update accordingly.
12981         (mips_output_function_prologue): Don't reset the deleted variables.
12982         * config/mips/mips.h (inside_function): Delete.
12983         (file_in_function_warning, ignore_line_number): Delete.
12984
12985         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
12986         * config/mips/elf64.h: Likewise.
12987         * config/mips/openbsd.h: Likewise.
12988         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
12989         * config/mips/linux.h: Likewise.
12990         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
12991         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
12992
12993         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
12994         to the list of include files when using gas.
12995         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
12996         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
12997         * config/mips/elf64.h: Likewise.
12998         * config/mips/iris5.h: Likewise.
12999         * config/mips/linux.h: Likewise.
13000         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
13001         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
13002         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
13003         * config/mips/sdb.h: ...this new file.
13004
13005 2003-07-14  Douglas Rupp  <rupp@gnat.com>
13006
13007         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
13008         argument to getcwd; use fixed buffer instead.
13009
13010 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13011
13012         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
13013         * fixinc/fixinc.wrap: Delete.
13014
13015 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13016
13017         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
13018         don't have 2.
13019
13020 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
13021
13022         * ggc-page.c (struct globals): Add new fields to keep track of the
13023         total allocated memory and overhead.
13024         (ggc_print_statistics): Print them.
13025         (ggc_alloc): Keep track of the total allocated memory and the
13026         overhead.
13027
13028         * tree.c (dump_tree_statistics): Increase spacing.
13029         (enum tree_node_kind): Move to ...
13030         * tree.h (enum tree_node_kind): ... here.
13031         (tree_node_counts, tree_node_sizes): Declare.
13032
13033 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
13034
13035         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
13036
13037 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13038
13039         PR optimization/11440
13040         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
13041         SIGN_EXTRACT SETs.
13042
13043 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
13044
13045         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
13046         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
13047         (emit_group_load, emit_group_store): Adjust declarations.
13048         Remove most occurrences of #ifdef TREE_CODE.
13049         * expr.c (emit_group_load): Add "type" param, and use
13050         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
13051         aligned accesses if !SLOW_UNALIGNED_ACCESS.
13052         (emit_group_store): Likewise.
13053         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
13054         emit_group_load and emit_group_store calls.
13055         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
13056         BLOCK_REG_PADDING to determine whether we need endian_correction.
13057         (load_register_parameters): Localize vars.  Handle shifting of
13058         small values to the correct end of regs.  Adjust emit_group_load
13059         call.
13060         (expand_call, emit_library_call_value_1): Adjust emit_group_load
13061         and emit_group_store calls.
13062         * function.c (assign_parms): Set mem alignment for stack slots.
13063         Adjust emit_group_store call.  Store values at the "wrong" end
13064         of regs to the stack.  Use BLOCK_REG_PADDING.
13065         (locate_and_pad_parm): Save where_pad.
13066         (expand_function_end): Adjust emit_group_load call.
13067         * stmt.c (expand_value_return): Adjust emit_group_load call.
13068         * Makefile.in (calls.o): Depend on $(OPTABS_H).
13069         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
13070         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
13071         (MUST_PASS_IN_STACK): Define.
13072         (BLOCK_REG_PADDING): Define.
13073         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
13074         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
13075         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
13076         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
13077         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
13078
13079 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
13080
13081         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
13082
13083 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13084
13085         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
13086         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
13087
13088 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13089
13090         PR other/11123
13091         * toplev.c: Don't cut off option names.
13092
13093 2003-07-13  Andreas Jaeger  <aj@suse.de>
13094
13095         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
13096         to integer of different size.
13097
13098 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
13099
13100         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
13101         to (eq (and X 1) 0).
13102
13103 2003-07-13  Andreas Jaeger  <aj@suse.de>
13104
13105         * config.gcc: Add pmmintrin.h for x86_64-*-*.
13106
13107 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13108
13109         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
13110         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
13111         list.  Move these all together down by cpplib.
13112
13113         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
13114         definition of CPPCHAR_SIGNED_T.
13115
13116         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
13117         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
13118         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
13119
13120         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
13121         * cppinit.c (cpp_create_reader): Likewise.
13122
13123         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
13124         * cpptrad.c: Likewise.  All callers changed.
13125         * cpplib.c: All callers changed.
13126         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
13127         * hashtable.h: Define GTY(x) to nothing here too.
13128
13129 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13130
13131         * stor-layout.c (compute_record_mode): Remove very obsolete test
13132         that forces BLKmode for records with fields crossing word boundary.
13133
13134 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
13135
13136         * Makefile.in: Remove orphan reference to acconfig.h.
13137
13138 2003-07-13  Andreas Jaeger  <aj@suse.de>
13139
13140         * cgraphunit.c: Convert prototypes to ISO C90.
13141
13142 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13143
13144         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
13145         (for OpenBSD).
13146         * fixinc/fixincl.x: Rebuild.
13147
13148 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13149
13150         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
13151         i?86-*-*.  Use correct name of cache variable.
13152         * configure: Regenerate.
13153
13154 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13155
13156         * config/alpha/alpha.c: Fix comment typos.
13157         * config/alpha/alpha.md: Likewise.
13158         * config/arm/arm.c: Likewise.
13159         * config/arm/arm.md: Likewise.
13160         * config/arm/lib1funcs.asm: Likewise.
13161         * config/avr/avr.md: Likewise.
13162         * config/arm/README-interworking: Fix typos.
13163
13164 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
13165
13166         * c-format.c: Fix comment formatting.
13167         * c-typeck.c: Likewise.
13168         * coverage.c: Likewise.
13169         * cppcharset.c: Likewise.
13170         * cpplib.c: Likewise.
13171         * dbxout.c: Likewise.
13172         * gcov-io.h: Likewise.
13173         * toplev.c: Likewise.
13174
13175 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13176
13177         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
13178         fix.
13179
13180 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
13181
13182         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
13183         uses three-argument AC_DEFINE so no acconfig.h entries are
13184         needed.
13185         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
13186         which contains the GAS version number as a scaled integer.
13187         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
13188         ability to check for ELF assembler.
13189         (gcc_GAS_CHECK_FEATURE): New macro.
13190         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
13191         assembler feature checks using gcc_GAS_CHECK_FEATURE.
13192         Use three-argument AC_DEFINE everywhere.
13193         * acconfig.h: Deleted.
13194         * config.in, configure: Regenerate.
13195
13196 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13197
13198         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
13199         (on OpenBSD).
13200         * fixinc/fixincl.x: Regenerate.
13201
13202         * fixinc/inclhack.def (gnu_types): Improve comment.
13203
13204 2003-07-12  Andreas Jaeger  <aj@suse.de>
13205
13206         * fp-test.c (main): Use ISO C90 prototype.
13207
13208         * version.c: Remove unneded include of ansidecl.h.
13209
13210         * cgraph.h: Convert prototypes to ISO C90.
13211         * cgraph.c: Likewise.
13212         * fix-header.c: Likewise.
13213         * ra.h: Likewise.
13214         * protoize.c: Likewise.
13215
13216 2003-07-12  Jan Hubicka  <jh@suse.cz>
13217
13218         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
13219         warning.
13220
13221 2003-07-12  Jan Hubicka  <jh@suse.cz>
13222                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13223
13224         * cgraph.c (cgraph_max_uid): New global variable.
13225         (cgraph_node): Set uid field.
13226         (create_edge): Keep inline flags consistent.
13227         (dump_cgraph): Dump more info.
13228         * cgraph.h (struct cgraph_local_info): Remove inline_many and
13229         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
13230         (struct cgraph_global_info): Add insns, calls, cloned_times,
13231         will_be_output.
13232         (struct cgraph_node): Add uid.
13233         (struct cgraph_edge): Add inline_call.
13234         (cgraph_max_uid, cgraph_inline_p): Declare.
13235         * cgraph.c: Include params.h and fibheap.h
13236         (cgraph_mark_functions_to_inline_once): Kill.
13237         (INSNS_PER_CALL): New constant.
13238         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
13239         static variables.
13240         (cgraph_finalize_function): Do not analyze inlining.
13241         (cgraph_finalize_compilation_unit): Set inlining attributes.
13242         (cgraph_mark_functions_to_output): More consistency checks.
13243         (cgraph_optimize_function): Set current_function_decl to NULL.
13244         (cgraph_expand_function): Use new inline flags.
13245         (cgraph_postorder): Expand from cgraph_expand_functions.
13246         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
13247         (cgraph_inlined_into, cgraph_inlined_callees,
13248         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
13249         cgraph_mark_inline, cgraph_check_inline_limits,
13250         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
13251         cgraph_decide_inlining, cgraph_inline_p): New functions.
13252         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
13253         PARAM_INLINE_UNIT_GROWTH): New parameters.
13254         * tree-inline.c (struct inline_data): New field current_decl.
13255         (expand_call_inline): Avoid forward declarations; use
13256         inlinable_function_p.
13257         (optimize_inline_calls): Set id.current_decl.
13258
13259 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
13260
13261         * configure.in: Remove wrongly added definition of
13262         local_prefix.
13263         * configure: Regenerate.
13264
13265 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
13266
13267         * rtl.def (NOTE): Do not use padding.
13268
13269 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
13270
13271         * doc/install.tex: Update required binutils for i?86-*-linux*
13272
13273 2003-07-11  Richard Henderson  <rth@redhat.com>
13274
13275         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
13276
13277 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
13278
13279         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
13280         TRANSLATION_UNIT_DECL as top_level.
13281
13282 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
13283
13284         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
13285         then fall back to cmpstrM.
13286         * builtins.c (expand_builtin_memcmp): Likewise.
13287         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
13288         (s390_expand_cmpmem): ... this.
13289         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
13290         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
13291         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
13292         to s390_expand_cmpmem.
13293         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
13294         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
13295         to cmpmem*.
13296         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
13297         cmpstr* patterns.
13298         * doc/md.texi (cmpstrM): Describe as String compare insn, not
13299         Block compare insn.
13300         (cmpmemM): Add.
13301
13302 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
13303
13304         * config/i386/freebsd.h (SET_ASM_OP): Remove.
13305         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
13306         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
13307          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13308
13309 2003-07-11  Richard Henderson  <rth@redhat.com>
13310
13311         * function.c (assign_parms): Don't recombine complex args if
13312         fnargs is unchanged from orig_fnargs.
13313         (split_complex_args): Return args without complex before copying.
13314         Re-layout the modified parameters.
13315
13316 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
13317
13318         * regclass.c (choose_hard_reg_mode): Add third argument.
13319         Changed all callers.
13320         * rtl.h (choose_hard_reg_mode): Update declaration.
13321         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13322         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13323
13324 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
13325
13326         * c-decl.c (finish_decl): Handle 'used' here...
13327         * cgraphunit.c (cgraph_finalize_function): ... and here ...
13328         * c-common.c: (handle_used_attribute): ... not here.
13329
13330         * configure.in (onstep): Support --enable-intermodule.
13331         * Makefile.in (OBJS-common): New.
13332         (OBJS-md): New.
13333         (OBJS-archive): New.
13334         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13335         (OBJS-onestep): New.
13336         (libbackend.a): Support @onestep@.
13337         (libbackend.o): New.
13338         * configure: Regenerate.
13339
13340         * c-common.h (c_reset_state): New prototype.
13341         (c_parse_file): New prototype.
13342         (finish_file): Move prototype from c-tree.h.
13343         * c-decl.c: Include <hashtab.h>.
13344         (builtin_decls): New.
13345         (current_file_decl): New.
13346         (duplicate_decls): Add extra parameter. Change all callers.  Don't
13347         output duplicate common symbols.
13348         (link_hash_hash): New.
13349         (link_hash_eq): New.
13350         (poplevel): Handle popping of the top level.
13351         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13352         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13353         (pushdecl_top_level): Likewise.
13354         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13355         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13356         (finish_decl): Handle TRANSLATION_UNIT_DECL.
13357         (merge_translation_unit_decls): New.
13358         (c_write_global_declarations): New.
13359         (c_reset_state): New.
13360         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13361         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13362         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13363         TRANSLATION_UNIT_DECL.
13364         (c_objc_common_finish_file): Call merge_translation_unit_decls.
13365         * c-opts.c (in_fnames): Rename from in_fname.
13366         (c_common_decode_option): Handle multiple input filenames.
13367         (c_common_post_options): Likewise.
13368         (c_common_parse_file): Likewise; also, call c_parse_file rather than
13369         yyparse.
13370         * c-parse.in: Move cleanup code to c_parse_file.
13371         (free_parser_stacks): Move contents to c_parse_file.
13372         (c_parse_file): New.
13373         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13374         for integer types.
13375         (C_DECL_FILE_SCOPE): New.
13376         (finish_file): Move prototype to c-common.h.
13377         (merge_translation_unit_decls): New prototype.
13378         (comptypes): Add extra parameter to prototype.
13379         (c_write_global_declarations): New prototype.
13380         * c-typeck.c (tagged_types_tu_compatible_p): New.
13381         (function_types_compatible_p): Add extra parameter, change all callers.
13382         (type_lists_compatible_p): Likewise.
13383         (comptypes): Likewise.
13384         (struct tagged_tu_seen): New.
13385         (tagged_tu_seen_base): New.
13386         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13387         (c_mark_addressable): Remove #if 0 code.
13388         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13389         comment explaining why it shouldn't have to.
13390         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13391         options.
13392         * cppinit.c (cpp_read_next_file): New.
13393         (cpp_read_main_file): Use it.
13394         * cpplib.c (undefine_macros): New.
13395         (cpp_undef_all): New.
13396         * cpplib.h (cpp_read_next_file): Prototype.
13397         (cpp_undef_all): Prototype.
13398         * langhooks-def.h (write_global_declarations): Remove prototype.
13399         * toplev.h (write_global_declarations): Add prototype.
13400         * tree.c (decl_type_context): Use switch statement, handle
13401         TRANSLATION_UNIT_DECL.
13402         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13403         (TRANSLATION_UNIT_DECL): New kind of tree.
13404         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13405         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13406         * doc/invoke.texi: Make attempt to document new functionality.
13407
13408         2003-05-19  Per Bothner <bothner@apple.com>
13409
13410         * gcc.c (combine_inputs): New.
13411         (process_command): Set combine_inputs.
13412         (do_spec_1): Handle combine_inputs.
13413         (main): Likewise.
13414
13415 2003-07-10  James E Wilson  <wilson@tuliptree.org>
13416
13417         PR optimization/9745
13418         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13419         loop_insn_emit_before.
13420         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13421
13422 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13423
13424         * cppcharset.c: Fix comment.
13425         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13426         (EILSEQ): #define to EINVAL if not already defined.
13427         (convert_using_iconv): #if out when !HAVE_ICONV.
13428         (init_iconv_desc): Handle !HAVE_ICONV here...
13429         (cpp_init_iconv): ...not here.
13430
13431 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
13432
13433         * common.opt: More --help messages.
13434         * opts.c (print_help): Use puts().
13435         * toplev.c (f_options): Remove help text.
13436         (display_help): Don't dump f_options.
13437
13438 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
13439
13440         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13441         Move i?86-*-interix* to the don't-fix list.
13442         * fixinc/fixinc.interix: Delete with extreme prejudice.
13443
13444 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
13445
13446         PR bootstrap/10758
13447         * doc/install.texi: Document requirements for ia64-*-hpux* target.
13448
13449 2003-07-10  Roger Sayle  <roger@eyesopen.com>
13450
13451         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13452
13453 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
13454
13455         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13456         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13457         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13458         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13459         convert_no_conversion, convert_using_iconv): New functions.
13460         (APPLY_CONVERSION): New macro.
13461         (struct conversion, conversion_tab): New data structure.
13462         (init_iconv_desc): Check conversion_tab for a custom conversion
13463         primitive before trying to use iconv.
13464         (convert_cset): Deleted.
13465         (cpp_init_iconv): Use UTF- terminology, not UCS-.
13466         (_cpp_destroy_iconv): Update to match.
13467         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13468         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13469         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13470         (_cpp_interpret_string_notranslate): New function, moved here
13471         from cpplib.c.
13472
13473         * cpphash.h (convert_f, struct cset_converter): New types.
13474         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13475         are now struct cset_converter, not bare iconv_t.
13476         Update prototypes.
13477         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13478         all callers changed.
13479
13480 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
13481
13482         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
13483         to opts.sh command line.
13484         * opts.sh: Write to temporary files with a move-if-change at the end.
13485
13486 2003-07-10  Denis Chertykov  <denisc@overta.ru>
13487             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13488
13489         * combine.c (gen_binary): Handle the CLOBBER rtx and
13490         don't build a binary operation with it.
13491
13492 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13493
13494         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13495         store_killed_after, store_killed_before): Keep track of the correct
13496         dependency function to use.
13497
13498 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
13499         * toplev.c (do_compile): Don't try to open dump files before
13500         lang_dependent_init initializes dump_base_name.
13501
13502 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13503
13504         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13505         Use ARRAY_SIZE.
13506         * config/frv/frv.c (frv_expand_builtin): Likewise.
13507         * config/sh/sh.c (sh_media_init_builtins): Likewise.
13508
13509 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
13510
13511         PR c++/10032
13512         * doc/invoke.texi (C++ Dialect Options): Change documentation of
13513         -fpermissive.
13514
13515 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
13516
13517         * tm.texi (RETURN_ADDR_OFFSET): Document.
13518
13519 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
13520
13521         * gcov-io.h: Update documentation.
13522         (GCOV_UNSIGNED2STRING): New.
13523         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13524         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13525         GCOV_TAG_SUMMARY_LENGTH): Adjust.
13526         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13527         GCOV_TAG_COUNTER_NUM): New.
13528         (GCOV_BLOCK_SIZE): Number of words.
13529         (gcov_var): Adjust buffer type.
13530         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13531         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13532         count, not byte count.
13533         (gcov_open): Adjust overread init.
13534         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13535         gcov_write_string, gcov_write_tag, gcov_write_length,
13536         gcov_write_tag_length): Adjust.
13537         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13538         (gcov_sync, gcov_seek): Adjust.
13539         * gcov-dump.c (print_usage): Show gcc version only.
13540         (dump_file): Use GCOV_UNSIGNED2STRING.
13541         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13542         * gcov.c (print_version): Show gcc version only.
13543         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13544         GCOV_TAG_*_NUM macros.
13545         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13546         GCOV_TAG_COUNTER_LENGTH.
13547         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13548         Use GCOV_TAG_COUNTER_NUM.
13549         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13550         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13551
13552 2003-07-10  Andreas Schwab  <schwab@suse.de>
13553
13554         * gcov-dump.c (dump_file): Fix missing address operator.
13555
13556 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13557
13558         PR c/11449
13559         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13560         of HOST_WIDE_INT.
13561         (fold_single_bit_test): If sign_bit_p() fails, assume that the
13562         bit being tested is not a sign bit.
13563
13564 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
13565
13566         * config/h8300/h8300.md (a peephole2): New.
13567
13568 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
13569
13570         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
13571         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
13572         from ld-linux.so.2 to ld.so.1.
13573         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
13574         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
13575         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
13576         nor -Wl,-rpath-link.
13577         (LIB_SPEC): Add -rpath-link if !static.
13578         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
13579         * config/mn10300/mn10300.c (mn10300_protect_label): New
13580         variable.
13581         * config/mn10300/linux.h (PRINT_OPERAND,
13582         PRINT_OPERAND_ADDRESS): Set it during their execution.
13583         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
13584         mn10300_protect_label is set.
13585         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
13586         -Wl,-rpath-link.
13587         (LIB_SPEC, STARTFILE_SPEC): Define.
13588         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
13589         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
13590         FLOAT_BIT_ORDER_MISMATCH.
13591         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
13592         * config.gcc (am33_2.0-*-linux*): Added.
13593         * config/mn10300/linux.h: New.
13594         * config/mn10300/t-linux: New.
13595
13596 2003-07-10  Andreas Jaeger  <aj@suse.de>
13597
13598         * fold-const.c: Properly wrap prototypes.
13599
13600 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
13601
13602         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
13603         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
13604         Moved from...
13605         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
13606         * config/mn10300/mn10300.h: GTY-declare it.
13607         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
13608         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
13609         prototype.  Use incoming RTL argument.
13610         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
13611         * config/mn10300/mn10300.md (int_label): Move C statements...
13612         (GOTaddr2picreg): ... here.
13613         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
13614         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
13615         * config/mn10300/mn10300.c (mn10300_encode_section_info):
13616         ... here.  New function.
13617         (TARGET_ENCODE_SECTION_INFO): Define to it.
13618         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
13619         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
13620         pattern name.
13621         (mn10300_loadPC): Define as insn splittable after reload.
13622         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
13623         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
13624         be defined in .rodata even in PIC, now that the assembler
13625         supports that.
13626         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
13627         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
13628         symbol take an underscore prefix.
13629         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
13630         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
13631         legitimize_pic_address): Declare.
13632         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
13633         the PIC register as fixed.
13634         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
13635         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
13636         PIC.
13637         (LEGITIMATE_PIC_OPERAND_P): Define.
13638         (PIC_OFFSET_TABLE_REGNUM): Define.
13639         (GOT_SYMBOL_NAME): Define.
13640         (SYMBOLIC_CONST_P): Define.
13641         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
13642         symbols.
13643         (MN10300_GLOBAL_P): Test it.
13644         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
13645         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
13646         * config/mn10300/mn10300.c (print_operand): Handle unspec.
13647         (expand_prologue): Set PIC register.
13648         (call_address_operand): Don't match SYMBOL_REFs in PIC.
13649         (legitimize_address): Call legitimize_pic_address.
13650         (legitimize_pic_address): New fn.
13651         (legitimate_pic_operand_p): New fn.
13652         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
13653         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
13654         UNSPEC_PLT): New constants.
13655         (pop_pic_reg): New insn.
13656         (movsi): Adjust non-PIC addresses.
13657         (builtin_setjmp_receiver): Restore the PIC register.
13658         (casesi): New insn.
13659         (call): Adjust non-PIC addresses.
13660         (int_label, GOTaddr2picreg): New expands.
13661         (am33_loadPC): New insn.
13662         (mn10300_loadPC): New expand.
13663         (call_next_insn): New insn.
13664         (add_GOT_to_pic_reg): New expand.
13665         (symGOT2reg, symGOT2reg_i): New expands.
13666         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
13667         (sym2PIC, sym2PLT): New expands.
13668
13669 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
13670
13671         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
13672         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
13673         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
13674         to flag_unsafe_math_optimizations.
13675         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
13676         * config/mn10300/mn10300.c (expand_prologue): Mark
13677         FP-register-saving insns as frame-related.
13678         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
13679         * config/mn10300/mn10300.c
13680         (mn10300_get_live_callee_saved_regs): Don't search past
13681         LAST_EXTENDED_REGNUM.
13682         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
13683         * config/mn10300/mn10300.md: Remove excessive line breaks from
13684         `@' output patterns that were accounted as additional
13685         alternatives.
13686         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
13687         Re-introduce changes accidentally removed in Richard Sandiford's
13688         2000-12-05's patch.
13689         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13690         Re-instate am33-2 lost in merge from net GCC.
13691         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
13692         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
13693         floating-point registers.
13694         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
13695         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
13696         pessimizations that had gone in on 2000-05-08.
13697         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
13698         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
13699         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
13700         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
13701         operand 0.
13702         * (movhi): Likewise.
13703         * (movsi): Likewise.
13704         * (movsf): Likewise.
13705         * (movdi): Likewise.
13706         * (movdf): Likewise.
13707         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
13708         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
13709         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
13710         (expand_prologue, expand_epilogue): Save and restore FP regs.
13711         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
13712         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
13713         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
13714         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
13715         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
13716         Do not clobber cc0.
13717         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
13718         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
13719         Discourage the two-argument, longer opcodes.
13720         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
13721         ones.
13722         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
13723         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
13724         * config/mn10300/mn10300.md (cmpsf): New pattern.
13725         (branch): Test mdep.fpCC and output fbCC.
13726         * config/mn10300/mn10300.c (print_operand): Output conditions.
13727         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
13728         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
13729         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
13730         mulsf3, divsf3): Use the `F' constraint for FP values.
13731         * config/mn10300/mn10300.c (const_1f_operand): New function.
13732         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
13733         * config/mn10300/mn10300.md (sqrtsf2): New expand.
13734         (rsqrtsf2): New insn.
13735         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
13736         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
13737         previous check-in.
13738         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
13739         * config/mn10300/mn10300.md (abssf2, negdf2): On
13740         TARGET_AM33_2, expand to...
13741         (abssf2_am33_2, negdf2_am33_2): New insns.
13742         (addsf3, subsf3, mulsf3, divsf3): Likewise.
13743         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
13744         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
13745         movdi, movdf): Added FP regs.
13746         * invoke.texi (-mam33-2, -mno-am33-2): Document.
13747         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
13748         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
13749         New macros.
13750         (REGNO_AM33_2_FP_P): Renamed to...
13751         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
13752         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
13753         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
13754         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
13755         regs from GENERAL_REGS.
13756         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
13757         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
13758         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
13759         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
13760         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
13761         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
13762         as FP_REGS.
13763         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
13764         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
13765         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
13766         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
13767         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
13768         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
13769         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
13770         AM33/2.0 floating-point registers.
13771         (CONDITIONAL_REGISTER_USAGE): Adjust.
13772         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
13773         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
13774         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
13775         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
13776         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
13777         (MULTILIB_DIRNAMES): Likewise.
13778         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
13779         `__AM33_2__' when `-mam33-2' is given.
13780         (TARGET_AM33_2): Define.
13781         (TARGET_SWITCHES): Adjust.
13782         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
13783         when appropriate.
13784
13785 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
13786
13787         * doc/install.texi: Add missing @.
13788
13789 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
13790
13791         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
13792
13793 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
13794
13795         PR/11144
13796         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
13797
13798 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
13799
13800         PR bootstrap/11043
13801         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
13802         "x-crtfini.o" with "crtinit.o", "crtfini.o".
13803
13804         * fixinc/inclhack.def (limits_ifndefs): Add select test.
13805         * fixinc/fixincl.x: Rebuild.
13806
13807         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
13808         * fixinc/fixincl.x: Rebuild.
13809
13810 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
13811
13812         * doc/install.texi (Configuration): Document the valgrind option
13813         to --enable-checking.
13814
13815 2003-07-09  Jan Hubicka  <jh@suse.cz>
13816
13817         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
13818
13819 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13820
13821         * c-lex.c (cb_ident): Cast cstr.text to const char *.
13822
13823 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
13824
13825         * gcov-io.h: Update documentation.
13826         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
13827         GCOV_NOTE_MAGIC.
13828         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
13829         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
13830         (struct gcov_var): Change buffer's type. Add endian flag.
13831         (gcov_open): Remove mode in libgcov.
13832         (gcov_magic): Prototype.
13833         * gcov-io.c (from_file): New.
13834         (gcov_open): Clear endian flag.
13835         (gcov_magic): New.
13836         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
13837         pointers.
13838         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
13839         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
13840         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
13841         * gcov-iov.c (main): Correct cast.
13842         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
13843         conversion.
13844         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
13845         (coverage_init): Use GCOV_NOTE_SUFFIX.
13846         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
13847         Rename to gcov_version, and return flag.
13848         (gcov_exit): Use gcov_version.
13849         (__gcov_init): Use gcov_version.
13850         * Makefile.in (coverageexts): Update.
13851         * gcov.c (print_version): Remove endianness conversion.
13852         (create_file_names): Use GCOV_NOTE_SUFFIX.
13853         (read_graph_file): Use gcov_magic.
13854         (read_count_file): Likewise.
13855         * gcov-dump.c (dump_file): Remove endianness conversion, use
13856         gcov_magic.
13857
13858 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
13859
13860         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
13861         coverage is on.
13862         * configure: Regenerated.
13863         * Makefile.in (ALL_CFLAGS): Correct its comment.
13864
13865 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
13866
13867         * fold-const.c (make_range): Do not access operand 1 for a
13868         zero-operand operator.
13869
13870 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
13871
13872         * toplev.c (warn_dummy, W_options): Die.
13873         (display_help): Don't print W_options.
13874         * common.opt: Add W_options help from toplev.c.
13875
13876 2003-07-09  Andreas Jaeger  <aj@suse.de>
13877
13878         * opts.c (wrap_help): Only pass int arguments as arguments to
13879         printf's '*' modifier.  Change argument of function.
13880
13881 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
13882
13883         * doc/invoke.texi: Fix misspelling of "@item".
13884
13885 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
13886
13887         * config/i386/i386.md: Remove an old comment about
13888         NOTICE_UPDATE_CC.
13889
13890 2003-07-09  Jan Hubicka  <jh@suse.cz>
13891
13892         * cgraph.c (cgraph_node_name): New function.
13893         (dump_cgraph): Use it.
13894         * cgraph.h (cgraph_dump_file): Declare.
13895         (cgraph_node_name): Declare.
13896         * cgraphunit.c: Include timevar.h
13897         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
13898         (cgraph_optimize_function): Use TV_INTEGRATION.
13899         (cgraph_mark_local_functions): reorganize dumps.
13900         (cgraph_mark_functions_to_inline_once): Likewise.
13901         (cgraph_optimize): Likewise; use timevar.
13902         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
13903         * toplev.c (dump_file_index): Add DFI_cgraph.
13904         (dump_file_info): Likewise.
13905         (cgraph_dump_file): New global variable.
13906         (do_compile): Open and close cgraph dump.
13907         * invoke.texi (-d): Document new flag; renumber.
13908
13909 2003-07-08  Roger Sayle  <roger@eyesopen.com>
13910
13911         PR c/11370
13912         * calls.c (emit_call_1): Don't bother popping the arguments off of
13913         the stack after a noreturn function call;  The adjustment is dead.
13914         (expand_call): Likewise.
13915
13916 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
13917
13918         * expr.c (MOVE_MAX_PIECES): Move from here...
13919         * defaults.h (MOVE_MAX_PIECES): ... to here.
13920
13921 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
13922
13923         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
13924
13925 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13926
13927         * genattr.c (internal_dfa_insn_code): Don't prototype.
13928         * genattrtab.c (attr_desc): Add `static_p' field.
13929         (expand_units): Make blockage range and ready cost functions
13930         static.
13931         (write_attr_get): Don't add extern prototypes in C file.  Mark
13932         static functions as appropriate.
13933         (find_attr, make_internal_attr): Initialize static_p.
13934         * genattrtab.h (ATTR_STATIC): New macro.
13935         * genautomata.c (output_internal_reset_func): Mark output function
13936         as inline.
13937         (make_internal_dfa_insn_code_attr): Mark output function as static.
13938
13939 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13940
13941         * genattrtab.h: Add new macros for attr `special' flags.
13942         * genattrtab.c (attr_desc): Reorder/resize fields better.
13943         Use attr `special' macros in all calls to make_internal_attr.
13944         * genautomata.c: Likewise.
13945
13946 2003-07-09  Jan Hubicka  <jh@suse.cz>
13947
13948         * c-common.c (c_estimate_num_insns_1): New static function.
13949         (c_estimate_num_insns): New global function.
13950         * c-common.h (DECL_NUM_STMTS): Rename to...
13951         (DECL_ESTIMATED_INSNS): ... this.
13952         (c_estimate_num_insns): Declare.
13953         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
13954         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
13955         * c-semantics.c (add_stmt): Do not account statements.
13956         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
13957         New.
13958         * langhooks.h (lang_hooks_for_tree_inlining): Add
13959         estimate_num_insns
13960         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
13961         to 100.
13962         (max-inline-insns): set to 300.
13963         (min-inline-insns): set to 10.
13964         * tree-inline.c (struct inline_data): Rename inlined_stmts to
13965         inlined-insns.
13966         (INSNS_PER_STMT): Kill.
13967         (inlinable_function_p): Compute and store body size.
13968         (expand_call_inline): Likewise.
13969         (optimize_inline_calls): Likewise.
13970
13971 2003-07-08  James E Wilson  <wilson@tuliptree.org>
13972
13973         PR target/10021
13974         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
13975         loop over new variable t2 instead of t.
13976
13977 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
13978
13979         PR bootstrap/11455
13980         * config/i386/winnt.c: Replace use of error(), warning() with
13981         error_with_decl(), warning_with_decl(),  throughout.
13982
13983 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
13984
13985         * opts.c (wrap_help): Use unsigned int, not size_t.
13986
13987 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
13988
13989         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
13990         as .file/.loc directives are incompatible with linker relaxation.
13991
13992 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
13993
13994         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
13995         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
13996         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
13997         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
13998         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
13999         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
14000         Escape { and } characters which are not part of range expressions.
14001         * fixinc/fixincl.x: Regenerate.
14002         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
14003
14004 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
14005
14006         PR c/1687
14007         * tree-inline.c (find_alloca_call): Use
14008         walk_tree_without_duplicates, instead of walk_tree.
14009         (find_builtin_longjmp_call): Likewise.
14010         * c-objc-common.c (c_cannot_inline_fn): Likewise.
14011         * c-semantics.c (find_reachable_label): Likewise.
14012
14013 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14014
14015         PR c/11420
14016         * config/i386/i386.c (ix86_check_movabs): New function.
14017         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
14018         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
14019         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
14020
14021 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
14022
14023         * Makefile.in (install-po): Cope with empty CATALOGS.
14024
14025 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
14026
14027         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14028         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
14029         (SECTION_FUNCTION_TEMPLATE): Delete.
14030         * config/mips/elf.h: As for elf64.h.
14031         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
14032         * config/mips/linux.h: As for elf.h
14033         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14034         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
14035         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
14036         of in_sdata from current_section_name and current_section_flags.
14037         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
14038         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
14039         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
14040         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
14041         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
14042         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
14043         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
14044         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
14045         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
14046         (override_options): Remove setting of MASK_GPOPT.
14047         (mips_output_external): Use mips_in_small_data_p to check whether a
14048         symbol needs an .extern directive.  Don't emit such directives for
14049         TARGET_EXPLICIT_RELOCS.
14050         (mips_declare_object): Update accordingly.
14051         (mips_select_rtx_section): Call named_section rather than
14052         SMALL_DATA_SECTION.
14053         (mips_select_section): Use default_elf_section_section for everything
14054         except .text string constants.
14055         (mips_in_small_data_p): New function.
14056         (mips_encode_section_info): Remove small data handling.
14057         (mips_unique_section): Delete.
14058         (iris6_section_type_flags): New function.
14059         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
14060
14061 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14062
14063         PR Target/11453
14064         * pa.md: Disparage all mtsar constraints.
14065         (extzv, extv, insv): Don't fail on length of {32|64}.
14066
14067 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
14068
14069         * system.h: Poison MAP_CHARACTER.
14070         * config/i370/i370-protos.h (mvs_map_char): Delete.
14071         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
14072         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
14073         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
14074
14075 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
14076
14077         * toplev.c (randomize): Correct call to time().
14078
14079 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
14080
14081         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
14082         REG_EQUIV notes as well.
14083
14084 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
14085
14086         * doc/md.texi: Fix the description of addmodecc.
14087
14088 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
14089
14090         * Makefile.in (top_builddir): Set to "..", not ".".
14091         (INTLLIBS, INTLDEPS): Delete.
14092         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
14093         (LIBDEPS): Add $(LIBICONV_DEP).
14094         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
14095         (INCLUDES): Replace -I../intl with @INCINTL@.
14096         ($(top_builddir)/intl/libintl.a): Delete rule.
14097         (stage2-start, stage3-start, stage4-start, stageprofile-start,
14098         stagefeedback-start): Use $$ for variable to be evaluated by
14099         shell, not make.
14100         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
14101         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
14102         * aclocal.m4: sinclude ../config/progtest.m4.  Add
14103         contents of lcmessage.m4 from gettext distro.
14104         * configure.in: Check for wchar.h and setlocale.  Set
14105         LIBICONV_DEP to the empty string and substitute it.
14106         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
14107         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
14108         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
14109         in $LIBINTL, to avoid linking it twice.
14110         * configure, config.in: Regenerate.
14111
14112 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
14113
14114         * fixinc/mkfixinc.sh: Remove winnt support.
14115         * fixinc/fixinc.winnt: Delete with extreme prejudice.
14116
14117 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
14118
14119         * Makefile.in: Update.
14120         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
14121         * c.opt: Update documentation.
14122         * common.opt: Add some help text.
14123         * opts.c: Include intl.h.
14124         (wrap_help, print_help): New.
14125         (find_opt, handle_option, common_handle_option): opt_text now
14126         contains the '-'.  Use print_help to output help.
14127         * opts.h (struct cl_option): New member "help".
14128         * opts.sh: Update to handle help text output and to prepend
14129         options with '-'.
14130         * toplev.c (display_help): Remove some help text.
14131
14132 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
14133             Fariborz Jahanian  <fjahanian@apple.com>
14134
14135         * configure.in: Test for PowerPC mfcr field support in assembler.
14136         * config.in, configure: Regenderated.
14137
14138         * config/rs6000/power4.md: Add mfcrf reservation.
14139         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
14140         * config/rs6000/rs6000.c (mfcr_operation): Define.
14141         (print_operand): Add 'Q' case for mfcrf.
14142         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
14143         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
14144         (movcc_internal1): Emit optional field operand for mfcr and set
14145         "type" attribute appropriately.
14146         (mfcr SCC): Likewise.
14147         (movesi_from_cr_one): New.
14148
14149 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14150
14151         * config/i386/i386.md: Correct check-in of incorrect version.
14152
14153 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14154
14155         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
14156         adjacent stdio calls.
14157         * c-decl.c (c_print_identifier): Likewise.
14158         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
14159         * print-rtl.c (print_rtx): Likewise.
14160         * print-tree.c (print_node_brief, print_node): Likewise.
14161         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
14162
14163         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
14164         * config.in, configure: Regenerated.
14165
14166 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14167
14168         PR target/10979
14169         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
14170         Changed to define_expand patterns that copy operand[1] to prevent
14171         it from being clobbered before emitting an atan2?f3_1 insn.
14172         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
14173         patterns that actually specify the behaviour of x87's FPATAN.
14174
14175 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
14176
14177         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
14178         clearing of SYMBOL_FLAG_LOCAL bit.
14179         If vcall_offset fits into signed 16-bit immediate, use
14180         one instruction for both addition and load.
14181
14182 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
14183
14184         * opts.c (common_handle_option): Correct handling of the
14185         -falign- switches that do and don't take an argument.
14186
14187 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14188
14189         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
14190         today.
14191         (pushhi1_h8300hs): Likewise.
14192
14193 2003-07-07  Andreas Jaeger  <aj@suse.de>
14194
14195         * genextract.c: Convert remaining prototypes to ISO C90.
14196
14197         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
14198         * fold-const.c (fold_single_bit_test): Likewise.
14199         * diagnostic.c (default_diagnostic_finalizer): Likewise.
14200         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
14201
14202         * gengtype.c (write_array): Generate ISO C90 prototypes.
14203
14204         * genflags.c (gen_proto): Generate ISO C90 prototypes.
14205
14206 2003-07-07  Roger Sayle  <roger@eyesopen.com>
14207
14208         PR optimization/11059
14209         * expr.c (can_store_by_pieces): Return true if length is zero.
14210         (store_by_pieces): If length is zero and endp is two, abort,
14211         othwerise, if length is zero and endp is not two, return "to".
14212         (clear_by_pieces): Do nothing if length is zero.
14213         (clear_storage): Do nothing if length is zero.
14214         (store_constructor): Simplify code when size is zero, or the
14215         target has already been cleared.  This avoids emitting a
14216         blockage instruction when initializing empty structures.
14217
14218 2003-07-07  Andreas Jaeger  <aj@suse.de>
14219
14220         * mips-tfile.c: Convert prototypes to ISO C90.
14221         * mips-tdump.c: Convert prototypes to ISO C90.
14222
14223 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14224
14225         * rtl.h (emit_line_note): Take a location_t.
14226         (emit_line_note_force): Remove.
14227         (set_file_and_line_for_statement): Take a location_t.
14228         * tree.g (emit_line_note): Take a location_t.
14229         * emit-rtl.c (emit_line_note): Take a location_t.
14230         (emit_line_note_force): Remove.
14231         * function.c (init_function_start): Adjust emit_line_note call.
14232         (expand_function_end): Use force_next_line_note, not
14233         emit_line_note_force.
14234         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
14235         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
14236         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
14237         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
14238         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
14239         genrtl_continue_stmt, genrtl_switch_stmt,
14240         genrtl_asm_stmt): Likewise.
14241         * expr.c (expand_expr): Likewise.
14242         * integrate.c (expand_inline_function): Likewise.
14243         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
14244         (expand_decl_init): Adjust emit_line_note call.
14245
14246 2003-07-07  Dale Johannesen  <dalej@apple.com>
14247
14248         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
14249
14250 2003-07-07  Andreas Jaeger  <aj@suse.de>
14251
14252         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
14253         * config/i386/i386.c: Likewise.
14254
14255 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14256
14257         * config/h8300/h8300.md: Use gen_int_mode instead of
14258         GEN_INT (trunc_int_for_mode (...)).
14259
14260 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
14261
14262         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
14263         2 bytes and then subtract 2 from the stack pointer.
14264         (pushhi1_h8300hs): Likewise.
14265
14266 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
14267
14268         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
14269         -frandom-seed.
14270         * configure: Regenerated.
14271         * Makefile.in: Remove extraneous comment.
14272         * toplev.c (randomize): Protect against potential multiple calls.
14273         * doc/invoke.texi (-frandom-seed): Document use for in coverage
14274         files.
14275
14276 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14277             Eric Botcazou  <ebotcazou@libertysurf.fr>
14278
14279         PR optimization/11198
14280         * alias.c (objects_must_conflict_p): Return 1 if the types have
14281         the same alias set, not if the alias sets only conflict.
14282
14283 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
14284
14285         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
14286         (convert_cset): Change inbuf to type ICONV_CONST char.
14287         * Makefile.in (LIBS): Add LIBICONV.
14288
14289         * doc/invoke.texi (-falign-functions): Document that
14290         when n is zero then a machine-dependent default is used.
14291         (-falign-labels): Document that when n is zero then a
14292         machine-dependent default is used and that -falign-labels =1
14293         is equivalent to -fno-align-labels.
14294         (-falign-loops): Likewise.
14295         (-falign-jumps): Likewise.
14296
14297 2003-07-06  Art Haas  <ahaas@airmail.net>
14298
14299         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
14300         initializer syntax.
14301
14302 2003-07-06  James E Wilson  <wilson@tuliptree.org>
14303
14304         PR optimization/9812
14305         * rtl.h (mem_for_const_double): Delete prototype.
14306         * varasm.c (mem_for_const_double): Delete function.
14307         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14308         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14309         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14310         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14311         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14312         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
14313         comment about confused support for XFmode constants.
14314
14315 2003-07-07  Jan Hubicka  <jh@suse.cz>
14316
14317         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14318
14319 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
14320
14321         * config/h8300/h8300.c: Fix comment typos.
14322         * config/h8300/h8300.md: Likewise.
14323         * config/i386/athlon.md: Likewise.
14324         * config/i386/i386.c: Likewise.
14325         * config/i386/pentium.md: Likewise.
14326         * config/ia64/ia64.c: Likewise.
14327         * config/ia64/itanium1.md: Likewise.
14328         * config/ia64/itanium2.md: Likewise.
14329         * config/m32r/m32r.md: Likewise.
14330         * config/m68hc11/m68hc11.c: Likewise.
14331         * config/mcore/mcore.c: Likewise.
14332         * config/mips/sr71k.md: Likewise.
14333         * config/mips/t-iris5-as: Likewise.
14334         * config/mmix/mmix.h: Likewise.
14335         * config/ns32k/ns32k.h: Likewise.
14336         * config/ns32k/NOTES: Fix a typo.
14337
14338 2003-07-06  Andreas Jaeger  <aj@suse.de>
14339
14340         * stmt.c: Convert remaining prototypes to ISO C90.
14341         * cfglayout.c: Likewise.
14342         * dbxout.c: Likewise.
14343         * gcc.c: Likewise.
14344         * genemit.c: Likewise.
14345
14346         * basic-block.h: Convert prototypes to ISO C90.
14347         * c-parse.in: Likewise.
14348         * c-pragma.h: Likewise.
14349         * c-typeck.c: Likewise.
14350         * cfghooks.h: Likewise.
14351         * cfgloopanal.c: Likewise.
14352         * dbxout.h: Likewise.
14353         * debug.h: Likewise.
14354         * dwarf2asm.h: Likewise.
14355         * gcov.c: Likewise.
14356         * gengtype-lex.l: Likewise.
14357         * sched-int.h: Likewise.
14358         * timevar.c: Likewise.
14359
14360 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14361
14362         * c-common.h (c_comon_handle_filename,
14363         c_common_missing_arguement): New.
14364         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14365         LANG_HOOKS_MISSING_ARGUMENT): New.
14366         * c-opts.c (missing_arg): Rename c_common_missing_argument,
14367         update to be an appropriate langhook.
14368         (c_common_handle_option): Don't handle filenames.
14369         (c_common_handle_filename): New.
14370         * hooks.c (hook_void_constcharptr,
14371         hook_bool_constcharptr_size_t_false): New.
14372         * hooks.h (hook_void_constcharptr,
14373         hook_bool_constcharptr_size_t_false): New.
14374         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14375         LANG_HOOKS_MISSING_ARGUMENT): New.
14376         (LANG_HOOKS_INITIALIZER): Update.
14377         * langhooks.h (struct lang_hooks): Add handle_filename and
14378         missing_argument.
14379         * opts.c (handle_option): Don't handle filenames here, but ...
14380         (handle_options): ... here.
14381         (common_handle_option): Don't handle missing arguments here.
14382         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14383         LANG_HOOKS_MISSING_ARGUMENT): New.
14384
14385 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
14386
14387         * Makfile.in: Remove traces of mbchar.
14388         * c-parse.in (MULTIBYTE_CHARS): Remove.
14389         * config.in (MULTIBYTE_CHARS): Remove.
14390         * configure: Remove --enable-mbchar.
14391         * configure.in: Remove --enable-mbchar.
14392         * mbchar.c, mbchar.h: Remove.
14393         * system.h: Poison MULTIBYTE_CHARS.
14394         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14395         * config/linux.h (MULTIBYTE_CHARS): Remove.
14396         * config/svr4.h (MULTIBYTE_CHARS): Remove.
14397         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14398
14399 2003-07-06  Andreas Jaeger  <aj@suse.de>
14400
14401         * varray.c (varray_check_failed): Fix typo.
14402
14403         * unroll.c: Convert prototypes to ISO C90.
14404         * varasm.c: Likewise.
14405         * varray.c: Likewise.
14406         * varray.h: Likewise.
14407         * vmsdbgout.c: Likewise.
14408         * xcoffout.c: Likewise.
14409         * xcoffout.h: Likewise.
14410
14411 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14412
14413         * gcov-io.h: Add a local time stamp.
14414         (struct gcov_info): Add stamp field.
14415         (gcov_truncate): New.
14416         * coverage.c (read_counts_file): Skip the stamp.
14417         (coverage_begin_output): Write the stamp.
14418         (build_gcov_info): Declare and init the stamp.
14419         (coverage_finish): Only unlink data file, if stamp is zero.
14420         * gcov-dump.c (dump_file): Dump the stamp.
14421         * gcov.c (bbg_stamp): New.
14422         (release_structures): Clear bbg_stamp.
14423         (read_graph_file): Read stamp.
14424         (read_count_file): Check stamp.
14425         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14426
14427 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14428
14429         * tree.h (default_flag_random_seed): Remove.
14430         * toplev.h (local_tick): Declare.
14431         * tree.c (flag_random_seed, default_flag_random_seed): Move to
14432         toplev.c.
14433         (append_random_chars): Don't call default_flag_random_seed.
14434         * toplev.c (flag_random_seed): Define here. Set local_tick.
14435         (local_tick): Define.
14436         (randomize): New, moved from tree.c.
14437         (print_switch_values): Adjust.
14438         (toplev_main): Call randomize.
14439
14440 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
14441
14442         * tree.h (crc32_string): Declare.
14443         * tree.c (append_random_chars): Remove.
14444         (crc32_string): New.
14445         (get_file_function_name_long): Use crc32_string here.
14446
14447 2003-07-06  Andreas Jaeger  <aj@suse.de>
14448
14449         * gcc.c: Convert prototypes to ISO C90.
14450         * gcc.h: Likewise.
14451         * gcov-dump.c: Likewise.
14452         * gcov-iov.c: Likewise.
14453         * gcse.c: Likewise.
14454         * genattrtab.h: Likewise.
14455         * ggc.h: Likewise.
14456         * global.c: Likewise.
14457         * graph.c: Likewise.
14458         * graph.h: Likewise.
14459         * hosthooks.h: Likewise.
14460         * hooks.h: Likewise.
14461         * hooks.c: Likewise.
14462         * hashtable.h: Likewise.
14463         * hashtable.c: Likewise.
14464         * haifa-sched.c: Likewise.
14465         * integrate.h: Likewise.
14466         * integrate.c: Likewise.
14467         * input.h: Likewise.
14468         * ifcvt.c: Likewise.
14469         * jump.c: Likewise.
14470         * langhooks-def.h: Likewise.  Add extern to prototypes.
14471         * langhooks.c: Likewise.
14472         * langhooks.h: Likewise.
14473         * lcm.c: Likewise.
14474         * local-alloc.c: Likewise.
14475         * loop-init.c: Likewise.
14476         * loop-unroll.c: Likewise.
14477         * loop-unswitch.c: Likewise.
14478         * loop.c: Likewise.
14479         * loop.h: Likewise. Add extern to prototypes.
14480         * machmode.h: Likewise.
14481         * main.c: Likewise.
14482         * mbchar.c: Likewise.
14483         * mbchar.h: Likewise.
14484         * mkdeps.c: Likewise.
14485         * mkdeps.h: Likewise.
14486         * optabs.c: Likewise.
14487         * optabs.h: Likewise.
14488         * output.h: Likewise.
14489         * gccspec.c: Likwise.
14490         * postreload.c: Likewise.
14491         * prefix.c: Likewise.
14492         * prefix.h: Likewise.
14493         * print-rtl.c: Likewise.
14494         * print-tree.c: Likewise.
14495         * profile.c: Likewise.
14496         * read-rtl.c: Likewise.
14497         * real.c: Likewise.
14498         * real.h: Likewise.
14499         * recog.c: Likewise.
14500         * recog.h: Likewise.
14501         * reg-stack.c: Likewise.
14502         * regclass.c: Likewise.
14503         * regmove.c: Likewise.
14504         * regrename.c: Likewise.
14505         * regs.h: Likewise.
14506         * reload.c: Likewise.
14507         * reload.h: Likewise.
14508         * reload1.c: Likewise.
14509         * reorg.c: Likewise.
14510         * resource.c: Likewise.
14511         * resource.h: Likewise.
14512         * rtl-error.c: Likewise.
14513         * rtl.c: Likewise.
14514         * rtl.h: Likewise.
14515         * rtlanal.c: Likewise.
14516         * sbitmap.c: Likewise.
14517         * sbitmap.h: Likewise.
14518         * scan-decls.c: Likewise.
14519         * scan.c: Likewise.
14520         * sched-deps.c: Likewise.
14521         * sched-ebb.c: Likewise.
14522         * sched-int.h: Likewise.
14523         * sched-rgn.c: Likewise.
14524         * sched-vis.c: Likewise.
14525         * sibcall.c: Likewise.
14526         * simplify-rtx.c: Likewise.
14527         * sreal.c: Likewise.
14528         * sreal.h: Likewise.
14529         * ssa-ccp.c: Likewise.
14530         * ssa-dce.c: Likewise.
14531         * ssa.c: Likewise.
14532         * ssa.h: Likewise.
14533         * stack.h: Likewise.
14534         * stmt.c: Likewise.
14535         * stor-layout.c: Likewise.
14536         * stringpool.c: Likewise.
14537         * target.h: Likewise.
14538         * timevar.c: Likewise.
14539         * timevar.h: Likewise.
14540         * tlink.c: Likewise.
14541         * tracer.c: Likewise.
14542         * tree-inline.c: Likewise.
14543         * tree-inline.h: Likewise.
14544         * tree.c: Likewise.
14545         * tree.h: Likewise.
14546
14547 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14548
14549         * combine.c (nonzero_bits1): Fix a warning.
14550
14551 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14552
14553         * config/h8300/h8300.c (compute_mov_length): Correct the
14554         length of loading CONST0_RTX (SFmode).
14555
14556 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
14557
14558         * toplev.c (output_clean_symbol_name): Remove.
14559         * toplev.h (output_clean_symbol_name): Remove.
14560         * config/alpha/alpha.c (unicosmk_output_module_name): Use
14561         lbasename & clean_symbol_name.
14562
14563 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14564
14565         * ggc.h: Follow spelling conventions.
14566         * config/i386/i386.c: Likewise.
14567         * config/i386/winnt.c: Likewise.
14568         * config/rs6000/rs6000.c: Likewise.
14569
14570 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
14571
14572         * bt-load.c: Fix comment typos.
14573         * c-incpath.c: Likewise.
14574         * cfg.c: Likewise.
14575         * cfgcleanup.c: Likewise.
14576         * cfgloop.h: Likewise.
14577         * cfgloopmanip.c: Likewise.
14578         * cfgrtl.c: Likewise.
14579         * diagnostic.h: Likewise.
14580         * dwarfout.c: Likewise.
14581         * emit-rtl.c: Likewise.
14582         * et-forest.c: Likewise.
14583         * et-forest.h: Likewise.
14584         * expr.c: Likewise.
14585         * gcse.c: Likewise.
14586         * genattr.c: Likewise.
14587         * jump.c: Likewise.
14588         * langhooks.h: Likewise.
14589         * local-alloc.c: Likewise.
14590         * loop-unroll.c: Likewise.
14591         * loop-unswitch.c: Likewise.
14592         * ra-build.c: Likewise.
14593         * regclass.c: Likewise.
14594         * regmove.c: Likewise.
14595         * rtl.def: Likewise.
14596         * rtlanal.c: Likewise.
14597         * sched-ebb.c: Likewise.
14598         * sched-rgn.c: Likewise.
14599         * simplify-rtx.c: Likewise.
14600         * ssa.c: Likewise.
14601         * tracer.c: Likewise.
14602         * tree.c: Likewise.
14603
14604 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
14605
14606         * cppcharset.c: Use the correct return type for the fallback iconv
14607         macro.
14608
14609 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14610
14611         Blame to Jan Hubicka  <jh@suse.cz>
14612         * cfglayout.c (record_effective_endpoints): Split insns before
14613         first basic block correctly.
14614
14615 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14616
14617         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
14618         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
14619         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
14620
14621 2003-07-05  Andreas Jaeger  <aj@suse.de>
14622
14623         * genattrtab.c (write_attr_get): Revert part of last patch to
14624         always write out a prototype.
14625
14626         * genemit.c (gen_split): Readd lost unused attributes in last
14627         patch.
14628
14629 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14630
14631         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
14632         different from header.
14633
14634 2003-07-05  Andreas Schwab  <schwab@suse.de>
14635
14636         * config/m68k/m68k.c: Remove code protected by CRDS.
14637         * config/m68k/m68k.md: Likewise.
14638
14639 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
14640
14641         PR driver/11417
14642         * c-opts.c (permit_fortran_options): New.
14643         (c_common_init_options): Accept fortran front end options if
14644         it looks like we might be preprocessing Fortran.
14645         (c_common_handle_option): Don't reject switch if permit_fotran_options.
14646
14647 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14648
14649         * genattr.c (internal_dfa_insn_code): Output prototype.
14650         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
14651         * genautomata.c: Likewise.
14652         * genconditions.c: Likewise.
14653         * genemit.c: Likewise.
14654         * genextract.c: Likewise.
14655         * gengenrtl.c: Likewise.
14656         * gengtype.c: Likewise.
14657         * genopinit.c: Likewise.
14658         * genoutput.c: Likewise.
14659         * genpeep.c: Likewise.
14660         * genrecog.c: Likewise.
14661
14662 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
14663
14664         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
14665         (struct cpp_options): Add narrow_charset, wide_charset,
14666         bytes_big_endian fields.  Remove EBCDIC field.
14667         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
14668
14669         * cpphash.h: Include <iconv.h> if we have it, otherwise
14670         provide a dummy definition of iconv_t.
14671         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
14672         (_cpp_valid_ucn): Update prototype.
14673         (_cpp_destroy_iconv): New prototype.
14674
14675         * doc/cpp.texi: Document character set handling.
14676         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
14677         * doc/extend.texi: Delete entire section on multiline strings.
14678         Rewrite section on __FUNCTION__ etc now that these are
14679         variables in C.
14680
14681         * cppucnid.tab, cppucnid.pl: New files.
14682         * cppucnid.h: New generated file.
14683         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
14684         (iconv_open, iconv, iconv_close): Provide dummy definitions
14685         if !HAVE_ICONV.
14686         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
14687         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
14688         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
14689         cpp_interpret_string, narrow_str_to_charconst,
14690         wide_str_to_charconst): New.
14691         (ucn_valid_in_identifier): Use a binary search through the
14692         ucnranges table defined in cppucnid.h, not a long chain of if
14693         statements.
14694         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
14695         character names are only valid in C++ and C99" to a warning.
14696         Issue the "meaning of \[uU] is different in traditional C"
14697         warning here.  Take care not to let iconv see an invalid UCS
14698         value if we get a malformed UCN.  Issue an error if we don't
14699         have iconv.
14700         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
14701         cpp_interpret_string to do the heavy lifting.
14702
14703         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
14704         narrow_charset, wide_charset fields of options structure.
14705         (cpp_destroy): Call _cpp_destroy_iconv.
14706         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
14707         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
14708         (cpp_interpret_charconst): Moved to cppcharset.c.
14709         * cpplib.c (dequote_string): Delete.
14710         (interpret_string_notranslate): New.
14711         (do_line, do_linemarker): Use interpret_string_notranslate.
14712
14713         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
14714
14715         * c-common.c (fname_string, combine_strings): Delete.
14716         * c-common.h (fname_string, combine_strings): Delete prototypes.
14717         * c-lex.c (ignore_escape_flag): Delete.
14718         (cb_ident): Use cpp_interpret_string, not lex_string.
14719         (get_nonpadding_token): New function.
14720         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
14721         Adjust calls to lex_string.  Don't write *value twice.
14722         (lex_string): Now handles string constant concatenation.
14723         Most of the work handed off to cpp_interpret_string.
14724         Call fix_string_type here.
14725         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
14726         FUNC_NAME, throughout.
14727         (OBJC_STRING): New token type.
14728         (primary:STRING): No need to call fix_string_type here.
14729         (primary:objc_string): Make that OBJC_STRING.
14730         (objc_string nonterminal): Delete.
14731         (yylexname): Delete code to handle fake string constants.
14732         (yylexstring): Delete entirely.
14733         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
14734         to handle CPP_ATSIGN.
14735
14736         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
14737         * c-opts.c (missing_arg, c_common_handle_option): Handle
14738         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
14739         (c_common_init): Set cpp_opts->bytes_big_endian, not
14740         cpp_opts->EBCDIC.  Call cpp_init_iconv.
14741         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
14742         (TARGET_EBCDIC): Delete default definition.
14743
14744         * objc/objc-act.c (build_objc_string_object): No need to
14745         handle string constant concatenation.
14746
14747 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
14748
14749         * doc/install.texi: Fix typos.
14750         * doc/invoke.texi: Likewise.
14751         * doc/tm.texi: Likewise.
14752
14753 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
14754
14755         * config/pa/fptr.c: Fix comment typos.
14756         * config/pa/pa-64.h: Likewise.
14757         * config/pa/pa.c: Likewise.
14758         * config/pa/pa.h: Likewise.
14759         * config/rs6000/603.md: Likewise.
14760         * config/rs6000/7xx.md: Likewise.
14761         * config/rs6000/darwin.h: Likewise.
14762         * config/rs6000/freebsd.h: Likewise.
14763         * config/rs6000/rs6000.c: Likewise.
14764         * config/rs6000/rs6000.md: Likewise.
14765         * config/rs6000/spe.h: Likewise.
14766
14767 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
14768
14769         * config/s390/2064.md: Change GNU CC to GCC.
14770         * config/s390/2084.md: Likewise.
14771         * config/s390/fixdfdi.h: Likewise.
14772         * config/s390/linux.h: Likewise.
14773         * config/s390/s390-modes.def: Likewise.
14774         * config/s390/s390-protos.h: Likewise.
14775         * config/s390/s390.c: Likewise.
14776         * config/s390/s390.h: Likewise.
14777         * config/s390/s390.md: Likewise.
14778         * config/s390/s390x.h: Likewise.
14779
14780 2003-07-04  Jeff Law  <law@redhat.com>
14781
14782         PR c/11428
14783         * expr.c (do_store_flag): Pass in the correct result type
14784         when calling fold_single_bit_test.
14785         * fold-const.c (fold_single_bit_test): Use result_type for the
14786         result when folding a sign bit test.
14787
14788 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
14789
14790         * opts.c (common_handle_options): Negate sense of -falign- switches.
14791
14792 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
14793
14794         * Makefile.in: Replace PWD with PWD_COMMAND.
14795
14796 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14797
14798         * cfgloopanal.c (count_strange_loop_iterations): New static function.
14799         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
14800         Handle strange loops.
14801
14802 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
14803
14804         * install.texi: Even the g77 manpage is derived from
14805         the full g77 manual.
14806
14807 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
14808
14809         * ABOUT-NLS: Delete.
14810         * intl: Delete entire directory.
14811         * aclocal.m4: Include ../config/gettext.m4.  Delete
14812         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
14813         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
14814         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
14815         Remove intl/Makefile from all_outputs.
14816         * configure, config.in: Regenerate.
14817         * Makefile.in: Expunge all references to intl subdirectory.
14818         Add -I../intl to INCLUDES.
14819         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
14820
14821 2003-07-04  Roger Sayle  <roger@eyesopen.com>
14822
14823         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
14824         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
14825
14826 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
14827
14828         PR c++/5287, PR c++/7910, PR c++/11021
14829         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
14830         dllimport attribute if function is defined at declaration, but
14831         report error instead. Likewise for dllimport'd variable
14832         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
14833         declared within functions, Report error if dllimport or dllexport
14834         symbol is not global.
14835         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
14836         if defined after declaration or if inlined. Don't allow definition
14837         of static data members of C++ classes. Don't dllimport virtual
14838         methods.
14839         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
14840         (i386_pe_mark_dllimport): Remove unnecessary checks.
14841         (i386_pe_encode_section_info): Warn if the dllimport attribute
14842         and symbol prefix have been instantiated and then overridden.
14843
14844         * doc/extend.texi: Document dllimport and dllexport attributes.
14845
14846         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
14847
14848 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
14849
14850         * config/kaos.h (CPP_PREDEFINES): Delete.
14851         (TARGET_OS_CPP_BUILTINS): New.
14852
14853 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14854
14855         * c-aux-info.c: Include toplev.h after c-tree.h.
14856         * c-common.c: Likewise.
14857         (GCC_DIAG_STYLE): Undef.
14858         * c-semantics.c (GCC_DIAG_STYLE): Define.
14859         * c-tree.h (GCC_DIAG_STYLE): Likewise.
14860         * diagnostic.h (inform): Move prototype to toplev.h.
14861         * jump.c: Include diagnostic.h before toplev.h.
14862         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
14863         (warning, error, fatal_error, pedwarn, sorry, inform,
14864         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
14865
14866 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14867
14868         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
14869         at all if edge is not specified.
14870         (can_copy_bbs_p, copy_bbs): New.
14871         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
14872         * cfgloop.c (get_loop_body): Comment more precisely.
14873         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
14874         (scale_bbs_frequencies): Fix comment typo.
14875         (can_duplicate_loop_p): Use can_copy_bbs_p.
14876         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
14877
14878 2003-07-03  Devang Patel <dpatel@apple.com>
14879
14880         * c-opts.c (c_common_parse_file): Remove extra
14881         debug_hooks->start_source_file call.
14882
14883 2003-07-03  Roger Sayle  <roger@eyesopen.com>
14884
14885         * real.c (real_trunc, real_floor, real_ceil): New functions
14886         to implement trunc, floor and ceil respectively.
14887         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
14888         * builtins.c (integer_valued_real_p): New function to test if
14889         a floating point expression has an integer valued result.
14890         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
14891         foo(x) where foo is an integer rounding function.  Similarly,
14892         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
14893         (double)(int)x when both foo and bar are integer rounding
14894         functions and we don't need to honor errno.
14895         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
14896         New functions to fold trunc, floor and ceil.
14897         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
14898         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
14899         to fold BUILT_IN_CEIL*.
14900         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
14901         the remaining integer rounding functions.
14902
14903 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
14904
14905         * config/sparc/sparc.c (function_arg_partial_nregs): Use
14906         SPARC_INT_ARG_MAX to determine where to split unnamed
14907         complex FP arguments.
14908
14909 2003-07-03  Jan Hubicka  <jh@suse.cz>
14910
14911         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
14912         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
14913         (merge_blocks_move_predecessor_nojumps,
14914          merge_blocks_move_successor_nojumps): Use merge_blocks.
14915         (try_optimize_cfg): Use merge_blocks_move.
14916         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
14917         (merge_blocks_nomove): Rename to rtl_merge_blocks.
14918         (cfg_layout_create_basic_block): New.
14919         (rtl_can_merge_blocks): New.
14920         (cfg_layout_split_block): Do not alloc aux by hand.
14921         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
14922         merge_blocks.
14923         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
14924         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
14925         * cfgloopmanip.c (loop_split_edge_with): Likewise.
14926         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
14927
14928         * basic-block.h (basic_block_def): Add field 'rbi'.
14929         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
14930         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
14931         * cfg.c (entry_exit_blocks): Add new field.
14932         * cfglayout.c: Include alloc-pool.h;
14933         (cfg_layout_pool): New.
14934         (record_effective_endpoints, fixup_reorder_chain,
14935         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
14936         of rbi.
14937         (cfg_layout_initialize_rbi): New function.
14938         (cfg_layout_initialize): Use it.
14939         (cfg_layout_finalize): Clear rbi fields.
14940         * cfglayout.h (RBI): Kill.
14941         (cfg_layout_initialize_rbi): Declare.
14942         * cfgloopmanip.c (copy_bbs): Use rbi.
14943         (record_exit_edges): Likewise.
14944         (duplicate_loop_to_header_edge): Likewise.
14945         * cfgrtl.c (cfg_layout_create_basic_block): Use
14946         cfg_layout_initialize_rbi.
14947         (cfg_layout_split_block): Use rbi.
14948         (cfg_layout_delete_block): Likewise.
14949         * loop-init.c (loop_optimizer_finalize): Likewise.
14950         * loop-unswitch.c (unswitch_loop): Likewise.
14951         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
14952
14953         * cfgrtl.c: Update comments.
14954         (try_redirect_by_replacing_jump): New argument.
14955         (redirect_branch_edge): Break out from ...
14956         (rtl_redirect_edge_and_branch): ... this one.
14957         (update_cfg_after_block_merging): Break out from ...
14958         (rtl_merge_blocks): ... this one.
14959         (cfg_layout_split_edge): New.
14960         (cfg_layout_merge_blocks): New.
14961         (cfg_layout_can_merge_blocks_p): New.
14962         (cfg_layout_redirect_edge_and_branch): Reorganize.
14963         (cfg_layout_rtl_cfg_hooks): Fill in.
14964         (cfg_layout_delete_block): Kill barriers.
14965         * cfganal.c (can_fallthru): Deal with exit blocks
14966         * cfglayout.c (cfg_layout_function_header): New function
14967         (record_effective_endpoints): Record function header.
14968         (fixup_reorder_chain): Fixup dead jumptables; place header
14969
14970         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
14971         * bb-reorder.c (cfg_layout_initialize): Update call.
14972         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
14973         edges in cfglayout mode.
14974         * cfglayout.c (cleanup_unconditional_jumps): Kill.
14975         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
14976         * cfglayout.h (cfg_layout_initialize): Update prototype.
14977         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
14978         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
14979         * flow.c (propagate_block): Do not crash when basic block ends
14980         by first insn in the chain.
14981         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
14982         do loop discovery.
14983         * tracer.c (tracer): Update call of cfg_layout_initialize.
14984
14985 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14986
14987         * Makefile.in: Use dependency variables in lieu of explicit
14988         files throughout.
14989
14990 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
14991
14992         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
14993         * tree.h: ...to here.
14994
14995 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
14996
14997         * config/s390/2064.md: Fix comment typos.
14998         * config/s390/2084.md: Likewise.
14999         * config/s390/s390.c: Likewise.
15000         * config/s390/s390.md: Likewise.
15001         * config/sh/sh.c: Likewise.
15002         * config/sh/sh.h: Likewise.
15003         * config/sh/sh.md: Likewise.
15004         * config/sparc/sparc.c: Likewise.
15005         * config/sparc/sparc.h: Likewise.
15006         * config/sparc/sparc.md: Likewise.
15007         * config/stormy16/stormy16.c: Likewise.
15008         * config/stormy16/stormy16.h: Likewise.
15009         * config/stormy16/stormy-abi: Fix a typo.
15010
15011 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
15012
15013         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
15014
15015 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15016
15017         * config/mips/mips.h (save_argv): Delete.
15018
15019 2003-07-03  Roger Sayle  <roger@eyesopen.com>
15020
15021         PR target/10700
15022         * fold-const.c (extract_muldiv_1): There's nothing that can be done
15023         if the expression is a SAVE_EXPR.
15024
15025 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
15026
15027         * config/m32r/m32r.c: Fix comment typos.
15028         * config/m68hc11/m68hc11.c: Likewise.
15029         * config/m68hc11/m68hc11.h: Likewise.
15030         * config/m68k/m68k.c: Likewise.
15031         * config/mcore/mcore.c: Likewise.
15032         * config/mcore/mcore.h: Likewise.
15033         * config/mcore/mcore.md: Likewise.
15034         * config/mips/mips.c: Likewise.
15035         * config/mips/mips.h: Likewise.
15036         * config/mips/mips.md: Likewise.
15037         * config/mips/netbsd.h: Likewise.
15038         * config/mn10300/mn10300.c: Likewise.
15039
15040 2003-07-03  Andreas Schwab  <schwab@suse.de>
15041
15042         * dbxout.c (pending_bincls): Move decl down inside
15043         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
15044
15045 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15046
15047         * rtl.h (NOTE_DATA): Refer to whole union.
15048         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
15049
15050 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
15051
15052         PR optimization/11381
15053         * simplify-rtx.c (simplify_relational_operation): Check that
15054         two equal operands have no side-effects before simplifying
15055         the comparison.
15056
15057 2003-07-02  Jeff Law  <law@redhat.com>
15058
15059         * expr.c (do_store_flag): Remove special case folding for
15060         single bit tests.  Instead call back into the commonized folder
15061         routine.
15062         * fold-const.c (fold_single_bit_test): New function, mostly
15063         extracted from do_store_flag, with an additional case extracted
15064         from fold.
15065         (fold): Call fold_single_bit_test appropriately.
15066         * tree.h (fold_single_bit_test): Prototype.
15067
15068 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
15069
15070         * system.h: Include filenames.h.
15071         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
15072         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
15073         define based on HAVE_DOS_BASED_FILE_SYSTEM.
15074         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
15075         * config/i386/xm-mingw32.h: Don't define
15076         HAVE_DOS_BASED_FILE_SYSTEM,
15077         DIR_SEPARATOR, or DIR_SEPARATOR_2.
15078         * doc/hostconfig.texi: Update to match.
15079
15080         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
15081         config/i386/cygwin.h:
15082         Use IS_ABSOLUTE_PATH throughout.
15083         * gcc.c (DIR_UP): Delete, unused.
15084         * protoize.c (IS_SAME_PATH): Define in terms of
15085         FILENAME_CMP.
15086         (is_abspath): Delete.
15087
15088 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15089
15090         * config/i386/emmintrin.h: Fix comment typos.
15091         * config/i386/i386.c: Likewise.
15092         * config/i386/i386.h: Likewise.
15093         * config/i386/sco5.h: Likewise.
15094         * config/ia64/ia64.c: Likewise.
15095         * config/ia64/itanium2.md: Likewise.
15096
15097 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
15098
15099         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
15100         DBX_USE_BINCL.
15101         (emit_bincl_stab): Same.
15102         (emit_pending_bincls): Same.
15103
15104 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
15105
15106         * config/h8300/h8300.c (compute_mov_length): Fix the length of
15107         loading CONST0_RTX (SFmode).
15108         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
15109         'G' to CONST0_RTX (SFmode).
15110         * config/h8300/h8300.md (movsf_h8300): Change the first
15111         constraint to 'G'.
15112         (movsf_h8300h): Likewise.
15113
15114 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
15115
15116         * c-common.h (c_common_init_options): New prototype.
15117         * c-opts.c (deferred_size): Remove.
15118         (defer_opt): Array is now pre-allocated.
15119         (c_common_init_options): Pre-allocate deferred_opts.  Make
15120         lang_flags unsigned.
15121         (push_command_line_options): Free deferred_opts.
15122         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
15123         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
15124         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
15125         * langhooks.h (struct lang_hooks): New prototype for init_options.
15126         * main.c (main): Cast argv.
15127         * opts.c (handle_option, handle_options): Update prototypes.
15128         (decode_options): save_argc, save_argv are not global.  Constify.
15129         * opts.h (decode_options): New prototype.
15130         * toplev.c (general_init): New protoype.
15131         (save_argv): Make static.
15132         (save_argc): Remove.
15133         (print_switch_values, general_init): Constify.
15134         (toplev_main): Save argv.
15135         * toplev.h (toplev_main): Update prototype.
15136         (save_argc, save_argv): Remove.
15137
15138 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
15139
15140         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
15141         (emit_bincl_stab): Same.
15142         (emit_pending_bincls): Same.
15143
15144 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
15145
15146         PR c++/11072
15147         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
15148
15149 2003-07-02  Andreas Schwab  <schwab@suse.de>
15150
15151         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
15152
15153 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
15154
15155         PR optimization/11210
15156         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
15157         about the behaviour with regard to bitfields.
15158         * fold-const (decode_field_reference): Record outermost type in
15159         case the expression is a NOP. Strip all NOPs. Set the signedness
15160         to that of the outermost type (if any) when the bitsize is equal
15161         to the size of the type.
15162
15163 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15164
15165         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
15166         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
15167         (adddi3_internal_3, addsi3_internal_2): Likewise.
15168
15169 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
15170
15171         * config/mips/mips.c (machine_function): Add new fields:
15172         ignore_hazard_length_p and all_noreorder_p.
15173         (mips_flag_delayed_branch): New variable.
15174         (override_options): Treat '/' as an operand punctuation character.
15175         Set up mips_flag_delayed_branch.
15176         (print_operand): Handle '/'.
15177         (mips_output_function_prologue): Put the whole function in
15178         .set noreorder and .set nomacro if all_noreorder_p is true.
15179         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
15180         (mips16_optimize_gp): Remove "first insn" parameter.
15181         (mips16_lay_out_constants): New function, split out from mips_reorg.
15182         (mips_avoid_hazard, mips_avoid_hazards): New functions.
15183         (mips_reorg): For mips16 code, call mips16_lay_out_constant
15184         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
15185         do delayed-branch scheduling followed by hazard detection.
15186         (mips_adjust_insn_length): Only account for hazards if
15187         !ignore_hazard_length_p.
15188         (mips_output_load_label): Add a nop to the o32 sequence if
15189         the target suffers from load delays.
15190         (mips_output_conditional_branch): Add %/ to the end of branches.
15191         (mips_output_division): Fill the branch delay slot with %#.
15192         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
15193         instructions.  End all other %* branches with %/.
15194         (ffssi2, ffsdi2): Fix lengths.
15195         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
15196         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
15197         (fix_truncsfsi2_macro): Likewise.
15198         (mov_lwl): Set hazard to "none".
15199         (ashldi3_internal): Fill the branch delay slot with %#.
15200         (ashrdi3_internal, lshrdi3_internal): Likewise.
15201         (exception_receiver): Explicitly set $28.
15202         (hazard_nop): New pattern.
15203
15204 2003-07-02  Jan Hubicka  <jh@suse.cz>
15205
15206         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
15207         before calling tree_inlinable_function_p.
15208
15209 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15210
15211         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
15212         <internal/stdio_core.h> too.
15213         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
15214         <internal/wchar_core.h> too.
15215         Substitute va_list uses in inline definition.
15216         * fixinc/fixincl.x: Regenerate.
15217
15218 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15219
15220         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
15221         Undef before redefinition.
15222         (LABEL_AFTER_LOC): Likewise.
15223         (DEFAULT_SIGNED_CHAR): Likewise.
15224         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
15225         Fix IRIX spelling.
15226
15227         * config/mips/iris3.h: Remove, unused.
15228         * config/mips/iris4.h: Likewise.
15229
15230         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
15231
15232         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
15233         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
15234         target_cpu_default.
15235
15236         * config/mips/iris5.h: Move explicit includes ...
15237         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
15238
15239         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
15240         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15241         tm_defines.
15242
15243         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
15244         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
15245         target_cpu_default.
15246
15247         * config/mips/iris6.h: Fix IRIX spelling.
15248         (MULTILIB_DEFAULTS): Undef before redefinition.
15249
15250         * config/mips/iris6.h: Move explicit includes ...
15251         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
15252
15253 2003-07-02  Jan Hubicka  <jh@suse.cz>
15254
15255         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
15256         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
15257         Use next_needed field instead of aux to maintain the queue.
15258         * cgraph.h (cgraph_node): Add next_needed.
15259         (cgraph_varpool_node): Add next_needed; remove aux.
15260         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
15261
15262 2003-07-02  Jan Hubicka  <jh@suse.cz>
15263
15264         * cgraphunit.c (cgraph_finalize_function): Set finalized.
15265         (cgraph_finalize_function): Do not examine inlinablility.
15266         (cgraph_finalize_compilation_unit): Do it here.
15267         * cgraph.h (cgraph_local_info): Add finalized field.
15268
15269 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15270
15271         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
15272         (gt_pch_restore): Likewise.
15273
15274 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15275
15276         * config/alpha/alpha.c: Fix comment typos.
15277         * config/alpha/elf.h: Likewise.
15278         * config/arm/arm.c: Likewise.
15279         * config/arm/arm.h: Likewise.
15280         * config/arm/arm.md: Likewise.
15281         * config/arm/t-arm-coff: Likewise.
15282         * config/arm/t-strongarm-pe: Likewise.
15283         * config/arm/xscale-elf.h: Likewise.
15284         * config/avr/avr.h: Likewise.
15285
15286 2003-07-01  Jeff Law  <law@redhat.com>
15287
15288         * stmt.c (any_pending_cleanups): Remove another redundant test.
15289
15290 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
15291             J"orn Rennecke <joern.rennecke@superh.com>
15292
15293         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
15294         for MEM case.
15295
15296 2003-07-01  Devang Patel  <dpatel@apple.com>
15297
15298         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
15299         (binclstatus): New.
15300         (struct dbx_file): New members - bincl_status, pending_bincl_name and
15301         prev.
15302         (pending_bincls): New.
15303         (dbxout_init): Initialize new dbx_file members.
15304         (dbxout_start_source_file): Same.
15305         (emit_bincl_stab): New function.
15306         (emit_pending_bincls): Same.
15307         (emit_pending_bincls_if_required): Same.
15308         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
15309         processed.
15310         (dbxout_begin_block): Emit pending BINCL stabs.
15311         (dbxout_end_block): Same.
15312         (dbxout_function_decl): Same.
15313         (dbxout_continue): Same.
15314         (dbxout_type): Same.
15315         (dbxout_class_name_qualifiers): Same.
15316         (dbxout_symbol): Same.
15317         (dbxout_symbol_location): Same.
15318         (dbxout_parms): Same.
15319
15320 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15321
15322         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15323         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15324
15325 2003-07-01  Andreas Jaeger  <aj@suse.de>
15326
15327         * fold-const.c: Convert prototypes to ISO C90.
15328         * function.c: Likewise.
15329         * function.h: Likewise.
15330
15331 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15332
15333         * doc/contrib.texi: Fix typos.
15334         * doc/invoke.texi: Likewise.
15335         * doc/passes.texi: Likewise.
15336         * doc/sourcebuild.texi: Likewise.
15337         * doc/tm.texi: Likewise.
15338
15339 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
15340
15341         * basic-block.h: Fix comment typos.
15342         * bb-reorder.c: Likewise.
15343         * c-format.c: Likewise.
15344         * cfgcleanup.c: Likewise.
15345         * cfghooks.h: Likewise.
15346         * cfgloop.c: Likewise.
15347         * cfgloopmanip.c: Likewise.
15348         * cfgrtl.c: Likewise.
15349         * cgraph.h: Likewise.
15350         * cgraphunit.c: Likewise.
15351         * combine.c: Likewise.
15352         * convert.c: Likewise.
15353         * dbxout.c: Likewise.
15354         * df.c: Likewise.
15355         * df.h: Likewise.
15356         * diagnostic.c: Likewise.
15357         * dwarf2out.c: Likewise.
15358         * et-forest.h: Likewise.
15359         * flow.c: Likewise.
15360         * fold-const.c: Likewise.
15361         * function.h: Likewise.
15362         * gcov-io.h: Likewise.
15363         * gcov.c: Likewise.
15364         * gcse.c: Likewise.
15365         * genautomata.c: Likewise.
15366         * ggc-common.c: Likewise.
15367         * ggc-page.c: Likewise.
15368         * loop-unroll.c: Likewise.
15369         * loop-unswitch.c: Likewise.
15370         * loop.c: Likewise.
15371         * mips-tfile.c: Likewise.
15372         * optabs.c: Likewise.
15373         * ra-build.c: Likewise.
15374         * ra-colorize.c: Likewise.
15375         * ra-rewrite.c: Likewise.
15376         * ra.h: Likewise.
15377         * regmove.c: Likewise.
15378         * reload.c: Likewise.
15379         * rtlanal.c: Likewise.
15380         * sched-ebb.c: Likewise.
15381         * sched-int.h: Likewise.
15382         * sched-vis.c: Likewise.
15383         * sreal.c: Likewise.
15384         * ssa-ccp.c: Likewise.
15385         * ssa.c: Likewise.
15386         * toplev.c: Likewise.
15387         * tree-inline.c: Likewise.
15388         * value-prof.c: Likewise.
15389         * value-prof.h: Likewise.
15390
15391 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15392
15393         * rtl.h (emit_line_note_after): Remove.
15394         (emit_note_copy_after, emit_note_copy): New.
15395         * emit-rtl.c (reorder_insns_with_line_notes): Replace
15396         emit_line_note_after with emit_note_copy_after.
15397         (emit_insn_after_with_line_notes): Likewise.
15398         (emit_line_note_after): Kill.
15399         (emit_note_copy_after): New.
15400         (emit_note_copy): New.
15401         * function.c (emit_return_into_block): Use emit_note_copy_after.
15402         (thread_prologue_and_epilogue_insns): Likewise.
15403         * integrate.c (expand_inline_function): Use emit_note_copy.
15404         (copy_insn_list): Likewise.
15405         * unroll.c (copy_loop_body): Likewise.
15406         * cfglayout.c (duplicate_insn_chain): Likewise.
15407
15408 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
15409
15410         * c-tree.h (define_label): Replace filename and lineno arguments
15411         with a location_t.
15412         * c-decl.c (poplevel): Adjust define_label call.
15413         (pop_label_level): Likewise.
15414         (define_label): Replace filename and lineno arguments with a
15415         location_t.
15416         (store_parm_decls): Use DECL_SOURCE_LOCATION.
15417         * c-parse.in (label): Adjust define_label call.
15418
15419 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
15420
15421         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15422         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15423         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15424         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15425         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15426
15427 2003-07-01  Andreas Jaeger  <aj@suse.de>
15428
15429         * final.c: Convert prototypes to ISO C90.
15430         * flow.c: Likewise.
15431         * flags.h: Likewise.
15432         * gcov-io.c: Likewise.
15433         * gcov-io.h: Likewise.
15434
15435 See ChangeLog.9 for earlier changes.