OSDN Git Service

* config/h8300/h8300.md: Don't use REGNO when its operand is
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/h8300/h8300.md: Don't use REGNO when its operand is
4         not guaranteed to be a REG.
5
6 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
7
8         * Makefile.in (expr.o): Depend on $(TARGET_H).
9         * target.h (return_in_msb): New target hook.
10         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
11         (TARGET_CALLS): Include it.
12         * calls.c (shift_returned_value): New function.
13         (expand_call): Use it.
14         * expr.c: Include target.h.
15         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
16         deciding what padding is needed.  Change the name of the local
17         padding variable from big_endian_correction to padding_correction.
18         * stmt.c (shift_return_value): New function.
19         (expand_return): Use it.  Adjust memory->register copy in the same
20         way as copy_blkmode_from_reg.  Only change the return register's
21         mode if it was originally BLKmode.
22         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
23         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
24         (mips_fpr_return_fields): New, split out from mips_function_value.
25         (mips_return_in_msb, mips_return_fpr_pair): New functions.
26         (mips_function_value): Rework to use the functions above.
27         * config/mips/irix6-libc-compat.c: Delete.
28         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
29
30 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
31
32         * doc/install.texi (--enable-checking): Update valgrind's URL.
33
34 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
35
36         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
37         with -2147483647 - 1.
38
39 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
40
41         Fix links in online manuals.
42         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
43         (Precompiled Headers): @pxref to cpp, not cpp.info.
44
45 2003-11-16  Jason Merrill  <jason@redhat.com>
46
47         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
48         files in each directory and TAGS files that include them for each
49         front end.
50
51 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
52
53         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
54         3 of S2L.
55         (modnorm): Likewise.
56         (exitdiv): Look at bit 3 of S2L only.
57
58 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
59
60         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
61         (DO_GLOBAL_DTORS_BODY): Likewise.
62
63 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
64
65         * doc/install.texi (Prerequisites): Refine documentation of
66         autoconf, automake and perl requirements.  Document required
67         gettext version.
68
69 2003-11-14  Jason Merrill  <jason@redhat.com>
70
71         * function.c (assign_parms): Use TREE_TYPE to determine the real
72         type of the argument object.
73
74 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
75
76         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
77         iteration.
78
79 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
80
81         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
82           New routine to save vararg registers on stack. Support for
83           -mpowerpc64 in mixed mode.
84
85 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
86
87         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
88         for MOTOROLA versus MIT syntax.  Improves readability and provides
89         better compile-time error checking for both code paths.
90
91 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
92
93         * config/frv/frv-protos.h: Update for C90.
94         * config/frv/frv.h: Likewise.
95         * config/frv/frvbegin.c: Likewise.
96         * config/frv/frv.c: Likewise. 
97         (frv_adjust_field_align): Delete unused variable.
98
99 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
100
101         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
102         to each place where TARGET_LONG_DOUBLE_128 is used with
103         DEFAULT_ABI == ABI_AIX.
104
105         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
106         message comply with GNU standards.
107
108 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
109
110         PR/6552
111         * function.c (struct epi_info): New field const_equiv.
112         (update_epilogue_consts): New function.
113         (keep_stack_depressed): Clear new field and verify scratch register
114         doesn't have it set.
115         Call new function via note_stores.
116         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
117         Allow PLUS where second operand is register known set to constant.
118         (emit_equiv_load): Write load using proper mode if source different.
119         * config/mips/mips.md (return_internal): Put (return) first.
120
121 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
122
123         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
124
125 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
126
127         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
128         registers.
129         (divsi3): Likewise.
130         (reti): Don't restore unused registers.
131
132 2003-11-14  Nick Clifton  <nickc@redhat.com>
133
134         * config/fr30/fr30.c: Include toplev.h
135
136 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
137
138         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
139
140 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
141
142         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C 
143         function definition syntax.
144
145 2003-11-14  Eric Christopher  <echristo@redhat.com>
146
147         * reload1.c (reload): Revert previous patch. Make
148         check for assignment into reg_equiv_address stricter.
149
150 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
151
152         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
153
154 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
155
156         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
157         section names.
158
159 2003-11-14  Jason Merrill  <jason@redhat.com>
160
161         PR middle-end/12526
162         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
163         * calls.c (call_expr_flags): New fn.
164         * tree.h: Declare it.
165
166 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
167
168         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
169         (divmodsi3): Change the name to ___udivsi3.
170         Update all callers.
171
172 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
173
174         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
175         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
176         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
177         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
178         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
179         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
180         Const-ify and/or initialize automatic variables at declaration.
181
182 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
183
184         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
185         of er4 with er3.  Adjust all callers.
186
187 2003-11-13  Andrew Pinski <apinski@apple.com>
188
189         * config/darwin.c (machopic_output_possible_stub_label):
190         Allow stub symbol be not defined when outputting possible
191         stub label.
192
193 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
194
195         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
196         instead of exitdiv.
197         (___umodsi3): Likewise.
198         (exitdiv): Do not restore any register.
199         (reti): Restore registers.
200
201 2003-11-13  Steven Bosscher  <stevenb@suse.de>
202
203         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
204
205 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
206
207         * config/h8300/lib1funcs.asm: Fix comment typos.
208
209 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
210
211         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
212         unused registers.  Don't jump to exitdiv.
213         (umodsi3): Likewise.
214
215 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
216             Kean Johnston <jkj@sco.com>
217
218         PR c/13029
219         * toplev.c (check_global_declarations): Do not warn about unused
220         static consts.
221
222 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
223             Kazu Hirata  <kazu@cs.umass.edu>
224
225         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
226         the approximate quotient method.
227
228 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
229
230         * combine.c (distribute_notes): When re-distributing the notes from
231         an insn we are about to delete, ensure we can't end up with a cyclic
232         list of notes.
233
234 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
235
236         PR optimization/12926
237         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
238         the UNCHANGING_RTX_P flag on memory references to read-only
239         components that are not addressable.
240
241 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
242
243         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
244         DenHighNonZero.
245
246 2003-11-13  Jan Hubicka  <jh@suse.cz>
247
248         PR opt/12275
249         * c-decl.c (finish_decl): Use change_decl_assembler_name.
250         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
251         * varasm.c (make_decl_rtl): Likewise.
252         * cgraph.c (change_decl_assembler_name): New function.
253         * tree.h (set_decl_assembler_name): Kill dead declaration.
254         (change_decl_assembler_name): Declare.
255
256         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
257         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
258
259 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
260
261         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
262         an unused register.
263
264 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
265
266         PR bootstrap/12752
267         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
268         (MULTILIB_OSDIRNAMES): Reorder accordingly.
269
270 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
271
272         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
273         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
274         (rs6000_emit_eh_reg_restore): Add
275         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
276         of vars_size and total_size to HOST_WIDE_INT.
277         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
278         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
279         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
280         values.
281         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
282         (rs6000_initial_elimination_offset): New, with code formerly in
283         INITIAL_ELIMINATION_OFFSET.
284         * rs6000.h (rs6000_stack_t): Remove.
285         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
286         rs6000_initial_elimination_offset.
287         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
288         rs6000_emit_eh_reg_restore.
289
290 2003-11-12  Mike Stump  <mrs@apple.com>
291
292         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
293         is the argumnt we are processing so that warnings and errors
294         will have that information.
295         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
296         * lang-hooks-def.h
297         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
298         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
299         * langhooks.h (convert_parm_for_inlining): Likewise.
300         * tree-inline.c (initialize_inlined_parameters): Compute and
301         pass argnum down.
302
303 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
304             Roger Sayle  <roger@eyesopen.com>
305
306         PR optimization/12953
307         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
308         before switch by FUNCTION_CODE.
309
310 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
311
312         * arm.md (storehi): Avoid use of explicit subreg.
313         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
314
315 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
316
317         * config/sh/sh.md (prefetch): New pattern.
318
319 2003-11-11  Eric Christopher  <echristo@redhat.com>
320
321         * reload1.c (reload): Verify that addresses for
322         reg_equiv_* are valid for the architecture.
323
324 2003-11-11  Eric Christopher  <echristo@redhat.com>
325
326         * function.c (purge_addressof_1): Add libcall check.
327         Remove test for cached replacements on fallback case.
328         Simplify mode comparisons. Add libcall test for
329         paradoxical subregs.
330
331 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
332
333         * config/h8300/t-h8300: Fix an obsolete comment.
334
335 2003-11-11  James E Wilson  <wilson@specifixinc.com>
336
337         * expmed.c (store_bit_field, extract_bit_field): Revert last two
338         changes.
339
340 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
341
342         * config/h8300/lib1funcs.asm: Replace DenHighZero with
343         DenHighNonZero.
344
345 2003-11-11  Jan Hubicka  <jh@suse.cz>
346
347         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
348         really_no_inline.
349
350 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
351
352         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
353         generating 64-bit code.
354
355 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
356
357         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
358         accidental commit in previous change.
359
360 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
361
362         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
363         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
364         address recognition.
365         (macho_lo_sum_memory_operand): Routine to recognize macho-style
366         address recognition.
367
368 2003-11-10  Richard Henderson  <rth@redhat.com>
369
370         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
371
372 2003-11-10  Matt Austern  <austern@apple.com>
373
374         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
375         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
376         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
377         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
378         darwin_assemble_visibility instead of default.
379
380 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
381
382         PR target/12865
383         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
384         __enable_execute_stack only after writing onto the stack.
385         (sparc64_initialize_trampoline): Likewise.
386
387 2003-11-09  Roger Sayle  <roger@eyesopen.com>
388
389         * loop.c (check_dbra_loop): Try swapping the comparison operands
390         of the loop condition to identify a suitable induction variable.
391         * unroll.c (loop_iterations): Likewise.
392
393 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
394
395         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
396         sparc64 #cpu and #machine assertions.
397
398 2003-11-09  Richard Henderson  <rth@redhat.com>
399
400         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
401
402 2003-11-09  Jan Hubicka  <jh@suse.cz>
403
404         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
405
406         * cgraphunit.c (cgraph_expand_function): Use
407         cgraph_possibly_inlined_p.
408         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
409
410         * opts.c (common_handle_option): Do not set max-inline-insns.
411         * params.def: Update comments.
412         (PARAM_MAX_INLINE_INSNS): Kill.
413         * invoke.texi (max-inline-insns): Kill.
414
415 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
416
417         PR c/3190
418         PR c/8714
419         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
420         * invoke.texi: Update.
421
422 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
423
424         PR optimization/12630
425         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
426         Handle length computation 64-bit moves.
427         (compute_clrstr_length, output_block_clear): Implement block clear.
428         (output_block_move): Handle 64-bit moves.
429         (pa_adjust_insn_length): Use compute_movstr_length and
430         compute_clrstr_length.
431         * pa.md (movstrsi): Revise operand order and comments.  Don't use
432         match_scratch.
433         (movstrsi_internal): Delete.
434         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
435         and peephole2 patterns to transform prereload to postreload form.
436         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
437         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
438         clrstrdi_postreload): New patterns for 64-bit block move, and block
439         clear.
440         * pa-protos.h (output_block_clear): New prototype.
441
442 2003-11-08  Andreas Schwab  <schwab@suse.de>
443
444         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
445         XCOFF_DEBUGGING_INFO.
446
447 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
448
449         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
450
451 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
452
453         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
454         redundant parens.
455
456         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
457         (find_file_in_dir): Likewise.
458         (_cpp_find_file): Print message if no header file is found
459         but an invalid PCH file was.
460
461 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
462
463         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
464         expressions as lvalues.
465         (internal_build_compound_expr): Remove special handling for
466         non-pedantic case.
467         * doc/extend.texi: Document that all extended lvalues are now
468         deprecated.
469
470 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
471
472         PR 11654
473         * dbxout.c (struct dbx_file): Do not save for PCH.
474         (current_file): Likewise.
475         (dbxout_init): Don't allocate struct dbx_file using GC.
476         (dbxout_start_source_file): Likewise.
477
478 2003-11-07  Falk Hueffner  <falk@debian.org>
479
480         * config/alpha/elf.h, config/alpha/unicosmk.h,
481         config/alpha/vms.h: Convert to ISO C90.
482
483 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
484
485         * config/arm/pe.h: Convert to ISO C90.
486
487 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
488
489         * sh-protos.h (sh_pch_valid_p): Declare.
490         * sh.c ("intl.h"): Include.
491         (TARGET_PCH_VALID_P): Override.
492         (sh_target_switches): New variable.
493         (target_switches): Define.
494         (sh_pch_valid_p): New function.
495
496         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
497
498 2003-11-07  Jan Hubicka  <jh@suse.cz>
499
500         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
501         (x86_64_zero_extended_value):  likewise.
502
503 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
504
505         * config/mips/mips.md (loadgp): Take $25 as a second operand.
506         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
507
508 2003-11-06  Matt Austern <austern@apple.com>
509
510         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
511         field instead of hanging an attribute object off the decl.
512         * tree.h (DECL_VISIBLITY): New accessor macro for
513         symbol_visibility field in struct tree_decl.
514         (enum symbol_visibility): Move definition to before tree_decl.
515         (struct tree_decl): Define new two-bit field, symbol_visibility.
516         (decl_visibility): Remove declaration.
517         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
518         instead of decl_visibility.
519         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
520         decl_visibility.
521         (decl_visibility): Remove.
522
523 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
524
525         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
526         where register 14 will be saved.
527
528 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
529
530         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
531         (USE_ALTIVEC_FOR_ARG_P): Likewise.
532         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
533         Take a pointer as the CUM parameter.  Update callers.
534         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
535         32-bit ABIs.
536         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
537         of vector parameters as named arguments of stdarg function.
538         (function_arg): Likewise.
539
540         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
541         -maltivec is specified, not the non-existent -faltivec.
542
543 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
544
545         * config/s390/s390-protos.h (s390_function_value): Declare.
546         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
547         (s390_return_in_memory): New function.
548         (s390_function_value): New function.
549         (s390_function_arg_float): Return false for all arguments larger
550         than 8 bytes.
551         (s390_function_arg_pass_by_reference): Likewise.  Return true for
552         all vector arguments.
553         (s390_function_arg_integer): New function.
554         (s390_function_arg_advance): Call it.  Add sanity checks.
555         (s390_function_arg): Likewise.
556         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
557         (LIBCALL_VALUE): Likewise.
558         (RET_REG): Remove.
559         (RETURN_IN_MEMORY): Remove.
560
561 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
562
563         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
564         return type to HOST_WIDE_INT.
565         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
566         Make initialized a bool.  Make register masks unsigned ints.
567         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
568         where appropriate.
569         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
570         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
571
572 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
573
574         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
575         negation.
576
577 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
578
579         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
580
581 2003-11-06  Momchil Velikov  <velco@fadata.bg>
582
583         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
584         for VR4111 too.
585
586 2003-11-06  Jan Hubicka  <jh@suse.cz>
587
588         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
589         missing casts.
590
591 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
592
593         * genmodes.c: Change the word "bitsize" to "precision" throughout.
594         * machmode.def: Likewise.
595         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
596         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
597         (GET_MODE_PRECISION): New macro.
598         (mode_bitsize): Renamed mode_precision.
599         * stor-layout.c (mode_for_size, smallest_mode_for_size):
600         Use GET_MODE_PRECISION; clarify comments.
601
602 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
603
604         * doc/install-old.texi: Remove old documentation of building
605         cross-compilers.
606         * doc/install.texi: Move some of it to here.
607
608 2003-11-05  Per Bothner  <pbothner@apple.com>
609
610         PR preprocessor/12891
611         * c-opts.c (finish_options):  Set include_cursor to disable premature
612         calls to push_command_line_include from cpp_scan_nooutput.
613         Fixes bug reported by DJ Delorie.
614
615 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
616
617         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
618         code supporting old-style varargs.
619
620         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
621         an intermediate register for better optimisation.
622
623 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
624
625         PR optimization/10080
626         * cfgloopanal.c (variable_initial_value, variable_initial_values,
627         simple_loop_exit_p): Record the fact that initial value is extended
628         from inner mode.
629         (count_strange_loop_iterations, count_loop_iterations): Handle
630         ivs that iterate in a narrower mode. Fix handling of overflows.
631         Improve handling of NE conditions.
632         (inverse, fits_in_mode_p): New static functions.
633         (simple_increment): Detect variables that iterate in a narrower mode.
634         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
635
636 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
637
638         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
639         error.
640
641         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
642         needs VRSAVE.
643
644 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
645
646         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
647         conditional expressions as lvalues.
648
649 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
650
651         * tsystem.h: Add the prototype of strlen.
652         * unwind-pe.h (read_encoded_value_with_base): Add an
653         appropriate cast to handle a case where the pointer size is
654         smaller than sizeof (int).
655
656 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
657
658         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
659         (mips_delegitimize_address): Delete.
660         (mips_gotoff_global, mips_load_got_page): Declare.
661         (mips_load_got_global, mips_rewrite_small_data): Declare.
662
663         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
664         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
665         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
666         small_data_pattern.  Remove CONST from const_arith_operand's entry.
667
668         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
669         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
670         (mips_constant_type): Delete.
671         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
672         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
673         (NUM_SYMBOL_TYPES): New macro.
674         (mips_address_type): Remove ADDRESS_INVALID.
675         (machine_function): Add has_gp_insn_p.
676         (mips_constant_info): Delete.
677         (mips_address_info): Add the address type as an extra field.  Replace
678         the c field with symbol_type.
679         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
680         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
681         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
682         (mips_split_const, mips_symbolic_constant_p): New functions.
683         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
684         (mips_classify_address): Return true if the address is valid, storing
685         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
686         to test whether a LO_SUM address is allowed.
687         (mips_symbol_insns): Return 0 for general mips16 symbols.
688         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
689         Handle the new SYMBOL_GOTOFF_*s.
690         (mips_address_insns): Update call to mips_classify_address.
691         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
692         of mips_classify_constant.  Be more accurate about CONSTs.
693         (mips_global_pic_constant_p): Delete.
694         (const_arith_operand): Only accept CONST_INTs.
695         (call_insn_operand): Remove call to mips_classify_constant.
696         Let mips_symbolic_constant_p check for invalid offsets.
697         (move_operand): Check for general_operands first.  Only accept symbolic
698         constants if they satisfy mips_symbolic_constant_p and cannot be split.
699         (symbolic_constant): Use mips_symbolic_constant_p.
700         (global_got_operand, local_got_operand): New predicates.
701         (stack_operand): Update call to mips_classify_address.
702         (mips_legitimate_address_p): Likewise.
703         (mips_reloc, mips_lui_reloc): Delete.
704         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
705         Use emit_move_insn.
706         (mips_split_symbol, mips_unspec_address): New functions.
707         (mips_unspec_offset_high): New function.
708         (mips_load_got): Replace reloc argument with a symbol_type.
709         Use mips_unspec_address to create the address and put it in a
710         LO_SUM with the base register.
711         (mips_load_got16, mips_load_got32): Delete.
712         (mips_emit_high, mips_legitimize_symbol): Delete.
713         (mips_gotoff_global): New function.
714         (mips_load_got_page, mips_load_got_global): New functions.
715         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
716         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
717         Inline code to handle constants plus invalid offsets.  Use
718         mips_split_symbol to legitimize constant pool addresses.
719         (mips_delegitimize_address): Delete.
720         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
721         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
722         (mips_subword): Pass memrefs through mips_rewrite_small_data.
723         (mips_output_move): Remove use of mips_classify_constant.
724         (mips_expand_call): Use mips_unspec_offset_high to calculate the
725         high part of the GOT address for calls to global functions.
726         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
727         and mips_hi_relocs[].
728         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
729         Remove use of mips_classify_constant.
730         (mips_reloc_string): Delete.
731         (print_operand_reloc): New function.
732         (print_operand_address): Update call to mips_classify_address.
733         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
734         (small_data_pattern): New predicate.
735         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
736         (mips_function_has_gp_insn): New function.
737         (mips_global_pointer): Use it.
738         (mips_gp_insn): Delete.
739         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
740         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
741         from the start of the current function.
742         (mips16_gp_pseudo_reg): Revert last patch.
743
744         * config/mips/mips.md (RELOC_*): Delete.
745         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
746         (got): New insn attribute.
747         (type): Set to "load" if got == load.
748         (length): Set to 4 if got == load, 8 if got == xgot_high.
749         (lui[sd]i): Delete.
750         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
751         (*got_disp[sd]i, *got_page[sd]i): Likewise.
752         (*low[sd]i): Change constraints to "d".  Add a new define_split to
753         rewrite small data constants into LO_SUMs.
754         (loadgp): New insns.
755
756 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
757
758         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
759
760 2003-11-04  DJ Delorie  <dj@redhat.com>
761
762         * config/v850/v850.md (mulhisi3): Expand the const_int case
763         separately to avoid trying to sign extend the const.
764
765 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
766
767         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
768         addresses to be shared.
769         (force_const_mem): Return a copy of the pool entry.
770
771 2003-11-03  Andreas Jaeger  <aj@suse.de>
772
773         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
774
775 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
776
777         * Makefile.in (cpp.dvi): New target split from cpp.info.
778         (gcc.dvi):  New target split from gcc.info.
779         (gccint.dvi): New target split from gccint.info.
780         (cppinternals.dvi): New target split from cppinternals.info
781         (gccinstall.info): New specific rule.
782         (gccinstall.dvi): Likewise.
783         (dvi): Move targets to $(docobjdir).
784         ($(docobjdir)/%.dvi): New implicit rule.
785
786 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
787
788         * doc/gty.texi (tag, desc): Say more about role of desc values in
789         selecting between tags.
790
791 2003-11-03  Alexander Kabaev  <ak03@gte.com>
792
793         * real.c (encode_ieee_single): Ensure proper promotion.
794
795 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
796
797         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
798         and Andrew Pinski.
799
800 2003-11-03  Syd Polk  <spolk@apple.com>
801
802         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
803         marketing names to the list of supported processors.
804         * config/rs6000/rs6000.h: Ditto.
805         * doc/invoke.texi: Ditto.
806         * config.gcc: Ditto.
807
808 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
809
810         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
811         Merge two substitutions.
812         * fixinc/fixincl.x: Regenerate.
813         Fixes PR bootstrap/12666.
814
815 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
816
817         * doc/install-old.texi: Remove VMS documentation.
818
819 2003-11-03  Jan Hubicka  <jh@suse.cz>
820
821         * i386.c (override_options):  Remove hack enabling 128bit long double
822         commited by accident.
823
824 2003-11-02  Per Bothner  <per@bothner.com>
825
826         * c-opts.c (needValue):  Do cpp_find_main_file before processing
827         any imacros flags, so pfile->main_file is set for the latter.
828
829 2003-11-03  Andreas Jaeger  <aj@suse.de>
830             Zack Weinberg  <zack@codesourcery.com>
831
832         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
833         (SYSCALLS.c.X-warn): Suppress warnings.
834
835 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
836
837         PR optimization/12845
838         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
839
840 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
841
842         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
843         * config/i386/i386.c (print_reg): Abort on a virtual register
844         if code != -1; not if file == asm_out_file.
845         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
846         (DEBUG_PRINT_REG): Delete, unused.
847
848 2003-11-02  Andreas Schwab  <schwab@suse.de>
849
850         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
851         empty to avoid conflict with the definition from configure.
852
853 2003-11-02  Roger Sayle  <roger@eyesopen.com>
854
855         PR optimization/10817
856         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
857         (noce_try_move): New function to optimize an if-the-else into an
858         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
859         (noce_process_if_block): Attempt simplification with noce_try_move.
860
861         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
862         and improvements to the optimizations of IF_THEN_ELSE expressions.
863         (simplify_subreg): Silence signed/unsigned comparison warning.
864
865 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
866
867         * Makefile.in (targhooks.o, reload.o): Update dependencies.
868         (GTFILES): Add targhooks.c.
869         (gt-targhooks.h): New rule; depend on s-gtype.
870         * target.h (direct_pool_load_p): New hook.
871         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
872         (TARGET_INITIALIZER): Include it.
873         * targhooks.h (default_direct_pool_load_p): Declare.
874         (hook_bool_machine_mode_true): Declare.
875         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
876         gt-targhooks.h.
877         (pool_symbol): New variable.
878         (default_direct_pool_load_p): New function.
879         (hook_bool_machine_mode_true): New function.
880         * reload.c: Include target.h.
881         (find_reloads): If an alternative will force a constant into memory,
882         count an extra reload if constant pool symbols are not valid
883         addresses.  If an alternative uses memory to move values between
884         registers, count the move as two reloads rather than one.
885         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
886         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
887
888 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
889
890         PR optimization/12799
891         * postreload.c (reload_cse_move2add): Generate the add2
892         patterns manually.
893
894 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
895
896         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
897         Return 0 for all complex modes whose size is lesser or equal to
898         a word.  Add a ??? comment for the condition used with 16-byte
899         aligned modes.
900
901 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
902
903         * .cvsignore: Remove c-parse* and tradcif.c.
904         * objc/.cvsignore: Delete.
905
906 2003-11-01  Roger Sayle  <roger@eyesopen.com>
907
908         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
909         of NULL.
910
911 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
912
913         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
914
915         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
916
917         * collect2.c (scan_libraries): Fix typos.
918
919         PR preprocessor/12847
920         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
921         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
922         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
923         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
924         "CPP_".
925
926 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
927
928         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
929         no_units calculation.
930
931 2003-11-01  Andreas Jaeger  <aj@suse.de>
932
933         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
934         enumeration list.
935
936 2003-11-01  Andreas Schwab  <schwab@suse.de>
937
938         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
939         prototypes.
940         (SBSS_SECTION_FUNCTION): Likewise.
941
942 2003-11-01  Andreas Jaeger  <aj@suse.de>
943
944         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
945
946 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
947
948         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
949         prototypes.
950
951 2003-11-01  Andreas Jaeger  <aj@suse.de>
952
953         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
954         (uw_frame_state_for): Constify variables.
955         (extract_cie_info): Constify first argument.
956
957         * unwind-dw2-fde-darwin.c: Adjust prototype of
958         _Unwind_Find_registered_FDE for recent changes.
959         (examine_objects): Constify return value and local variable result.
960         (_Unwind_Find_FDE): Constify return value and local variable ret.
961
962 2003-10-31  Per Bothner  <pbothner@apple.com>
963
964         * c-opts.c (finish_options):  Change to returns boolean - false iff
965         the call to cpp_find_main_file fails.
966         (c_common_init):  Skip preprocess_file if finish_options failed.
967         (c_common_parse_file):  Break if finish_options failed.
968         Fixes PR preprocessor/12545.
969
970 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
971
972         * aclocal.m4: Blacklist ultrix* for mmap file.
973         * configure: Rebuilt.
974
975         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
976         reg_parm_stack_space.
977         * toplev.c (default_get_pch_validity): Fix warning.
978
979         * vax.c: Include toplev.h.
980         (vax_init_libfuncs): Fix typo (umod).
981         * vax.h (ASM_COMMENT_START): Define.
982         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
983
984 2003-10-31  Roger Sayle  <roger@eyesopen.com>
985
986         PR middle-end/11968
987         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
988         confusing comment; distributivity isn't handled in expand_expr.
989         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
990         in distributivity, if wrap-around semantics are specified with
991         -fwrapv.
992
993 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
994
995         PR 12315
996         * final.c (profile_function): Allow for NULL svrtx.
997
998 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
999
1000         * pa.c (pa_select_section): Use new style declaration.
1001         * som.h (readonly_data): Likewise.
1002
1003 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1004
1005         * config/rs6000/rs6000.c: Update to C90 prototypes.
1006
1007 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1008
1009         PR target/7513
1010         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1011         code.
1012
1013 2003-10-31  Andreas Jaeger  <aj@suse.de>,
1014             Zack Weinberg  <zack@codesourcery.com>
1015
1016
1017         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1018         (__deregister_frame_info, __deregister_frame_info_bases):
1019         Constify void * argument.
1020         * unwind-dw2-fde.h (struct fde_vector):
1021         Constify 'orig_data' and 'array' fields.
1022         (__register_frame_info, __register_frame_info_bases)
1023         (__deregister_frame_info, __deregister_frame_info_bases):
1024         Constify void * argument.
1025         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1026         return values, and casts of type fde *, struct dwarf_fde *,
1027         and struct dwarf_cie *.
1028         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1029         (__deregister_frame_info, __deregister_frame_info_bases):
1030         Constify void * argument.
1031         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1032         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1033         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1034         fde_split, SWAP, frame_downheap, frame_heapsort)
1035         (classify_object_over_fdes, add_fdes, linear_search_fdes,
1036         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1037         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1038         Constify arguments, local variables, return values, and casts
1039         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1040         Use const pointer types in sizeof expressions, for clarity.
1041         * unwind-dw2-fde-glibc.c
1042         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1043         (struct unw_eh_callback_data): Constify 'ret' field.
1044
1045 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
1046             David Edelsohn  <edelsohn@gnu.org>
1047
1048         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1049         (function_arg): Call it.
1050         (rs6000_function_value): Widen integral return value to mode based
1051         on TARGET_32BIT, not word_mode.
1052         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1053         (UNITS_PER_ARG): New.
1054         (RS6000_ARG_SIZE): Use it.
1055
1056 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
1057
1058         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1059         and gengtype-yacc.h.
1060
1061 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1062
1063         PR optimization/8896
1064         * postreload.c (reload_combine): Check that REGY doesn't die in an
1065         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1066
1067 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1068
1069         PR/10239
1070         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1071
1072 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1073
1074         PR/11640
1075         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1076         immediatelly before BARRIER.
1077
1078 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1079
1080         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1081
1082 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1083
1084         PR target/11271
1085         * reload.c (find_reloads_address): Handle any register in
1086         (PLUS (PLUS (REG) (REG)) (CONST_INT).
1087
1088 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1089
1090         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1091         ENABLE_GC_CHECKING not in GGC_POISON.
1092
1093 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1094
1095         PR bootstrap/9863
1096         * configure.in: Bail out if awk is missing.
1097         * configure: Regenerate.
1098
1099         PR ada/12761
1100         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1101         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1102
1103 2003-10-30  Richard Henderson  <rth@redhat.com>
1104
1105         * c-objc-common.c (c_tree_printer): Handle types correctly.
1106         Factor code a bit.
1107
1108 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1109
1110         * value-prof.c, web.c: Update to C90.
1111
1112 2003-10-30  Eric Christopher  <echristo@redhat.com>
1113
1114         * function.c (purge_addressof_1): Add case for REG_RETVAL
1115         notes when modes are unequal.
1116
1117 2003-10-31  Jan Hubicka  <jh@suse.cz>
1118
1119         * i386-modes.def: Add XFmode format adjustment.
1120
1121 2003-10-30  Jan Hubicka  <jh@suse.cz>
1122
1123         * real.c (encode_ieee_extended): Back out previous patch.
1124
1125 2003-10-30  Jan Hubicka  <jh@suse.cz>
1126
1127         * real.c (encode_ieee_extended): Initialize whole array.
1128         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1129         * i386-modes.def: Change definitions of TFmode and XFmode.
1130         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1131         code.
1132         (construct_container): Allow constructing of TFmode integer containers.
1133         (ix86_return_in_memory):  XFmode is not returned in memory.
1134         (init_ext_80387_constants): Always use XFmode.
1135         (print_operand): Likewise.
1136         (ix86_prepare_fp_compare_regs): Likewise.
1137         (split_to_parts): Deal with TFmode.
1138         (split_long_move): Simplify.
1139         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1140         (ix86_memory_move_cost): Do not confuse TFmode.
1141         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1142         (IS_STACK_MODE): TFmode is not stack mode.
1143         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1144         (VALID_SSE_REG_MODE): Allow TFmode.
1145         (VALID_FP_MODE_P): Disallow TFmode.
1146         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1147         * i386.md (TFmode patterns): Kill.
1148         (movtf, motf_rex64): New patterns.
1149
1150 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1151
1152         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1153
1154 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1155
1156         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1157         (mov_lwr, mov_swl, mov_swr): Likewise.
1158         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1159
1160 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1161
1162         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1163
1164 2003-10-30  Richard Henderson  <rth@redhat.com>
1165
1166         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1167         test for irix6 rather than preprocessor test.
1168
1169 2003-10-30  Richard Henderson  <rth@redhat.com>
1170
1171         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1172
1173 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
1174
1175         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1176         as a general flag that the return address register needs to be saved,
1177         not necessarily because of __builtin_return_addr (0).
1178         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1179         remove special handling of zSeries machines.
1180         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
1181         register as a regular register on zSeries machines.
1182         (s390_reorg): Adjust calls to s390_split_branches and
1183         s390_optimize_prolog.
1184         (s390_frame_info): On zSeries machines, do not assume the return
1185         register is always used.  Update regs_ever_live with current data
1186         for the special registers.
1187         (s390_emit_epilogue): Use save_return_addr_p to determine whether
1188         the return register was saved.
1189         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1190         RETURN_REGNUM fixed on zSeries machines.
1191         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1192         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1193         via ahi-jgne pair on zSeries machines.
1194         ("*doloop_di"): Likewise.
1195         ("*doloop_di_long"): Remove.
1196
1197 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
1198
1199         * arm.c (arm_override_options): Revert change of arm_constant_limit
1200         when optimizing for size.
1201
1202 2003-10-29  Richard Henderson  <rth@redhat.com>
1203
1204         * fold-const.c (fold_single_bit_test): Convert the input to the
1205         operational intermediate type.
1206
1207 2003-10-29  Richard Henderson  <rth@redhat.com>
1208
1209         * builtins.c (std_build_builtin_va_list): New.
1210         * expr.h (std_build_builtin_va_list): Declare.
1211         * defaults.h (BUILD_VA_LIST_TYPE): New.
1212         * system.h (BUILD_VA_LIST_TYPE): Poison.
1213         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1214         * target.h (struct gcc_target): Add build_builtin_va_list.
1215         * tree.c (build_common_tree_nodes_2): Use it.
1216
1217         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
1218         config/alpha/alpha.h, config/alpha/unicosmk.h,
1219         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1220         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1221         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1222         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1223         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
1224         config/mips/mips.h, config/rs6000/rs6000-protos.h,
1225         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1226         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1227         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1228         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1229         config/xtensa/xtensa.h: Rename foo_build_va_list to
1230         foo_build_builtin_va_list; make it static.  Define
1231         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
1232         Update protos.
1233
1234         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1235         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1236
1237 2003-10-29  James E Wilson  <wilson@specifixinc.com>
1238
1239         * recog.c (asm_operand_ok): Add missing break after case 'X'.
1240         Change if statements to else if statements in default case.
1241         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1242         in comment.
1243         (constrain_operands_cached): Likewise.
1244         (constrain_operands): Change if statements to else if statements in
1245         default case.
1246         * reload.c (find_reloads): Likewise.
1247
1248 2003-10-29  Richard Henderson  <rth@redhat.com>
1249
1250         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1251         shifts and rotates.
1252
1253 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
1254
1255         * config/rs6000/rs6000.md: Remove duplicate pattern.
1256
1257 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
1258
1259         * real.c (do_divide): Initialize result with a 0.
1260
1261         * configure.in <enable-checking for valgrind>: Look for
1262         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1263         if it exists.
1264         * configure, config.in: Regenerate.
1265         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1266         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
1267         #elif for other alternatives.
1268         * ggc-page.c: Ditto.
1269         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1270         include structure from ggc-common.c.
1271
1272 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1273
1274         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1275         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1276         * pa.c (pa_adjust_insn_length): Check for btable branches using
1277         attribute TYPE_BTABLE_BRANCH.
1278         (pa_reorg): Simplify.
1279         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1280         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1281         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1282         * pa.md (btable_branch): New instruction type.
1283         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1284         btable branches.
1285         (define_delay): Add btable branches to insn types that may have an
1286         insn in the delay position.
1287         (Z2, Z3): Add btable branch to list.
1288         Simplify unamed pattern set copy pic_label_operand to register.  Add
1289         PA 2.0 variant.
1290         (short_jump): New jump for use in branch tables.
1291         (casesi, casesi0): Revise for new branch table formats.
1292         (casesi32, casesi32p, casesi64p): New casesi patterns.
1293         (indirect_jump): Move.
1294
1295 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
1296
1297         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1298         !TARGET_POWERPC64.
1299         (UNITS_PER_GPR_WORD): Delete.
1300         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1301         (HARD_REGNO_MODE_OK): Same.
1302         (CLASS_MAX_NREGS): Same.
1303
1304 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1305
1306         * pa.h (ASM_COMMENT_START): Define.
1307
1308 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
1309
1310         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1311         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1312         component, not zero.
1313
1314 2003-10-29  Andreas Schwab  <schwab@suse.de>
1315
1316         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1317
1318 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
1319
1320         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1321         Never return 1 for complex integral modes whose size is lesser or
1322         equal to a word.
1323         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1324         in the comment.
1325         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1326         modes.
1327         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1328         greater than 16 bytes by reference.
1329
1330 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1331
1332         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1333         not TARGET_ILP32.
1334         (ia64_initialize_trampoline): Use globalize_label target call.
1335
1336 2003-10-29  Andreas Schwab  <schwab@suse.de>
1337
1338         * doc/install.texi (Building): Add a sentence about building Ada
1339         for a canadian cross.
1340
1341 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1342
1343         * config/ia64/ia64.c (cmptf_libfunc): New static.
1344         (ia64_expand_compare): Add logic to open-code calls to
1345         _U_Qfcmp for TFmode comparisons.
1346         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1347         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1348         never be generated anymore.
1349         * config/ia64/ia64.md (cmptf): New expander.
1350
1351 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1352
1353         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1354         (*sqrt_approx): New instruction pattern for approximate square roots.
1355         (*setf_exp_xf): New instruction pattern for exponentiation.
1356         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1357         (sqrtsf2_internal_thr): New define_and_split implementing
1358         throughput-optimized inline calculation of SFmode square root.
1359         (sqrtdf2_internal_thr): Likewise for DFmode.
1360         (sqrtxf2_internal_thr): Likewise for XFmode.
1361         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1362         latency- and throughput-optimized square root algorithms.
1363         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1364         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1365         New macros.
1366         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1367         -minline-sqrt-max-throughput.
1368         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1369         and -minline-sqrt-max-throughput are given, notify the user
1370         that both options cannot be used simultaneously.
1371         If -minline-sqrt-min-latency is given, notify the user that
1372         this mode is not yet implemented.
1373         (rtx_needs_barrier): Reformat initial comment to obey
1374         72-character width limit.  Support UNSPEC_SETF_EXP and
1375         UNSPEC_FR_SQRT_RECIP_APPROX.
1376
1377 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
1378
1379         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1380         moves.
1381
1382 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1383
1384         PR target/11598
1385         PR libgcj/10610
1386         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1387
1388 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
1389
1390         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
1391         an extra stack adjustment insn if the stack pointer is already
1392         pointing at the right place.
1393         (use_return_insn): Allow a return insn to be used when we have a
1394         frame pointer if the stack pointer is in the right place.
1395         (output_return_instruction): Handle it.
1396
1397 2003-10-28  Andreas Jaeger  <aj@suse.de>
1398
1399         * ggc-zone.c (check_cookies): Add missing variable.
1400         Add void to prototypes.
1401
1402 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1403
1404         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1405         * crtstuff.c (__do_global_ctors_1): Move prototype.
1406         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1407         appropriate.
1408         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1409         Mark parameter with __attribute__((unused)).
1410
1411 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
1412
1413         * c-decl.c (pushdecl): Clarify comment.
1414
1415 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
1416
1417         * doc/install.texi: Update instructions for Ada cross builds
1418
1419         PR ada/5909:
1420         * doc/sourcebuild.texi: Document Ada test suite.
1421
1422 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
1423
1424         * config/m68hc11/m68hc11.c: Convert to ISO C90.
1425         * config/m68hc11/m68hc11-protos.h: Likewise.
1426
1427 2003-10-27  Jan Hubicka  <jh@suse.cz>
1428             Eric Botcazou  <ebotcazou@libertysurf.fr>
1429
1430         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
1431         webizer pass dump.
1432
1433 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
1434             Jan Hubicka  <jh@suse.cz>
1435
1436         * reload1.c (struct elim_table): Change offset, initial_offset and
1437         previous_offset fields to HOST_WIDE_INT.
1438         (offsets_at): Change from int to HOST_WIDE_INT.
1439         (reload): Adjust offsets_at initialization.
1440         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1441         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1442         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1443         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
1444         if TARGET_64BIT.
1445         (pro_epilogue_adjust_stack): New function.
1446         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1447         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1448         (pro_epilogue_adjust_stack_1): Remove * in front of name.
1449         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1450         (pro_epilogue_adjust_stack_rex64_2): New insn.
1451
1452         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1453
1454         * config/i386/i386.c (ix86_expand_call): Replace 40 with
1455         FIRST_REX_INT_REG + 3 /* R11 */.
1456
1457 2003-10-26  Richard Henderson  <rth@redhat.com>
1458
1459         * config/alpha/alpha.md (attr cannot_copy): New.
1460         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1461         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1462         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1463
1464 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
1465
1466         * ggc-zone.c:  New file, zone allocating collector.
1467         * configure: Accept zone option for --with-gc
1468         * configure.in: Ditto.
1469         * ggc.h (ggc_pch_count_object): Pass bool indicating
1470         stringiness. Update all callers.
1471         (ggc_pch_alloc_object): Ditto.
1472         (ggc_pch_write_object): Ditto.
1473         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
1474         type.
1475         (ggc_alloc_rtvec): Ditto.
1476         (ggc_alloc_tree): Use zone allocation, since some things using this macro
1477         aren't a single typecode.
1478         * ggc-none.c (ggc_alloc_typed): New function.
1479         (ggc_alloc_zone): Ditto.
1480         * ggc-page.c: Ditto on both functions.
1481
1482 2003-10-26  Gunther Nikl  <gni@gecko.de>
1483
1484         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
1485         frame information is always valid.
1486         (m68k_output_function_prologue): Remove superfluous TARGET_68881
1487         test; fix formatting.
1488
1489 2003-10-26  Gunther Nikl  <gni@gecko.de>
1490
1491         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
1492         reg_rev_mask computation.
1493         (m68k_output_function_prologue): Fix usage of current_frame (one typo
1494         and one missing); use reg_rev_mask not reg_mask.
1495         (m68k_output_function_epilogue): Fix usage of current_frame;
1496         use fpu_rev_mask not fpu_mask.
1497
1498 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
1499
1500         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
1501         num_saved_regs, use current_frame.reg_no instead.
1502
1503 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
1504             Paul Dale  <pauli@snapgear.com>
1505
1506         * doc/extend.texi (interrupt_handler): Add m68k to the
1507         list of processors implementing it.
1508         * doc/invoke.texi (-msep-data): Document new m68k option.
1509         (-mno-sep-data): Likewise.
1510         (-mid-shared-library): Likewise.
1511         (-mno-id-shared-library): Likewise.
1512         (-mshared-library-id): Likewise.
1513
1514 2003-10-26  Andreas Jaeger  <aj@suse.de>
1515
1516         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
1517         comparison.
1518         (_Unwind_SetGR): Likewise.
1519
1520 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
1521
1522         PR target/12690
1523         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
1524
1525 2003-10-26  Gunther Nikl  <gni@gecko.de>
1526
1527         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
1528         comment from here to...
1529         (m68k_save_reg): ...here. Fix comment formatting.
1530         (m68k_output_function_prologue): Fix comment formatting.
1531         (m68k_output_function_epilogue): Likewise.
1532         (const_method): Likewise.
1533
1534 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1535
1536         * toplev.c (default_get_pch_validity): Guard the use of
1537         target_options with #ifdef TARGET_OPTIONS.
1538         (default_pch_valid_p): Likewise.
1539
1540 2003-10-26  Andreas Jaeger  <aj@suse.de>
1541             Zack Weinberg  <zack@codesourcery.com>
1542             Andreas Tobler <toa@pop.agri.ch>
1543
1544         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
1545         (output_die): Likewise.
1546         (print_die): Likewise.
1547
1548 2003-10-26  Andreas Jaeger  <aj@suse.de>
1549
1550         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
1551         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
1552         dwarf2out.c change.
1553
1554         * toplev.c (default_pch_valid_p): Fix warning.
1555
1556 2003-10-25  Roger Sayle  <roger@eyesopen.com>
1557
1558         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
1559         RTL nodes.  If an operator's operands are unchanged, return the
1560         original argument unchanged.
1561
1562 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
1563
1564         Fix bootstrap failure.
1565         * expmed.c (store_bit_field): Don't compare bitsize against
1566         modes with zero bit-size.
1567
1568         (extract_bit_field): Likewise
1569
1570 2003-10-25  Jan Hubicka  <jh@suse.cz>
1571
1572         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
1573         (cfa_loc): Likewise.
1574         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
1575         HOST_WIDE_INT.
1576         (args_size, old_args_size): change type to HOST_WIDE_INT.
1577         (dwarf2out_def_cfa, dwarf2out_args_size,
1578         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
1579         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
1580         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
1581         AT_offset): Use HOST_WIDE_INT.
1582         (based_loc_descr): offset is HOST_WIDE_INT.
1583         (add_data_member): Likewise.
1584         (add_const_value_attribute): Simplify.
1585
1586 2003-10-25  Richard Henderson  <rth@redhat.com>
1587
1588         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
1589         (ix86_expand_prologue): Save and restore eax around stack probe
1590         if it's live.
1591
1592 2003-10-25  Jan Hubicka  <jh@suse.cz>
1593
1594         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
1595
1596 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1597
1598         PR target/12712
1599         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
1600         if the block has no predecessors.
1601         (convert_regs_2): Document the problem with successors whose
1602         only predecessor is the block to be processed.
1603         (convert_regs): Don't create the arbitrary input stack here.
1604
1605 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
1606
1607         * genmodes.c (struct mode_data): Add contained and next_cont
1608         fields.
1609         (complete_mode): Maintain linked list of modes that have a
1610         given component.
1611         (emit_mode_unit_size): Delete.
1612         (emit_mode_nunits): New.
1613         (emit_insn_modes_c): Update to match.
1614         (emit_mode_adjustments): Propagate size and alignment
1615         adjustments from component modes to their containers.
1616         * machmode.h (mode_unit_size): Delete.
1617         (mode_nunits): New.
1618         (GET_MODE_NUNITS): Just return the value in the table.
1619         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
1620         GET_MODE_SIZE.
1621         * expmed.c (store_bit_field, extract_bit_field): Can use a
1622         plain move instruction if bitsize >= GET_MODE_BITSIZE of
1623         destination/source mode, respectively.
1624         * varasm.c (assemble_real): Write out the full size of the
1625         constant, not just its bitsize.
1626         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
1627
1628         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
1629         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
1630         alignment of XF and TF modes in compliance with ia64 ABIs.
1631         Can now hardwire the format of both modes.
1632         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
1633         (general_tfmode_operand, destination_tfmode_operand)
1634         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
1635         general_xfmode_operand, destination_xfmode_operand,
1636         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
1637         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
1638         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
1639         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
1640         __float128.
1641         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
1642         Change TFmode to XFmode wherever appropriate.  Remove all
1643         references to INTEL_EXTENDED_IEEE_FORMAT.
1644         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
1645         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
1646         (PREDICATE_CODES): Update to match function renames.
1647         * config/ia64/ia64.md: Change TF to XF throughout; rename all
1648         patterns to match.  Remove all references to
1649         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
1650         function renames.
1651         * config/ia64/ia64-protos.c: Update all prototypes to match
1652         renamed functions.
1653         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
1654         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
1655         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
1656         __divtf3; keep old name for backward compatibility.
1657         (L__compat): New section providing forwarding stubs for
1658         __fixtfti, __fixunstfti, __floattitf.
1659         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
1660
1661 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
1662
1663         PR 10757
1664         * c-pch.c: Include target.h.  Improve comments.
1665         (struct c_pch_validity): Add target_data_length.
1666         (pch_init): Add target's validity data.
1667         (c_common_valid_pch): Check target's validity data.
1668         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
1669         (TARGET_PCH_VALID_P): New.
1670         (TARGET_INITIALIZER): Add new fields.
1671         * target.h: Include tm.h.
1672         (struct gcc_target): Add get_pch_validity, pch_valid_p.
1673         * toplev.h (default_get_pch_validity): New prototype.
1674         (default_pch_valid_p): New prototype.
1675         * toplev.c (default_get_pch_validity): New routine.
1676         (default_pch_valid_p): New routine.
1677         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
1678         target.h with $(TARGET_H).
1679         (c-pch.o): Add TARGET_H.
1680         * doc/tm.texi (PCH Target): New node.
1681         (TARGET_GET_PCH_VALIDITY): Document.
1682         (TARGET_PCH_VALID_P): Document.
1683
1684 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
1685
1686         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
1687         and $(docdir)/include from any *.texi dependencies.
1688         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
1689         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
1690         ($(docobjdir)/%.7): Likewise.
1691         (%.pod): New implicit rule.
1692         (cpp.pod): New dependency only rule.
1693         (gcc.pod): New intermediate rule with dependencies and commands.
1694         (gfdl.pod): Likewise.
1695         (fsf-funding.pod): Likewise.
1696
1697 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1698
1699         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
1700         related code.
1701         * fixinc/fixinc.ptx: Remove.
1702         * fixinc/fixinc.svr4: Remove.
1703
1704 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
1705
1706         * config/s390/s390.c (load_multiple_operation): Allow both SImode
1707         and DImode if word_mode is DImode.
1708         (store_multiple_operation): Likewise.
1709         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
1710         ("*load_multiple_di"): Allow only if word_mode == DImode.
1711         ("movqi"): Use LLGC whenever TARGET_ZARCH.
1712         ("fix_truncdfsi2"): Fix incorrect temporary size.
1713         ("fix_truncsfsi2"): Likewise.
1714         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
1715         string for function return value operand.
1716         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
1717
1718 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1719
1720         * c-parse.in (array_declarator): Use expr_no_commas.
1721         Fixes PR c/11943.
1722
1723 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
1724
1725         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
1726         associated includes in #ifndef inhibit_libc.
1727
1728 2003-10-24  Roger Sayle  <roger@eyesopen.com>
1729
1730         * doc/libgcc.texi: Document some more of the libgcc API.
1731
1732 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
1733
1734         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
1735         comparing a constant with small negative numbers and add costing
1736         for constants in conjunction with AND.
1737         (note_invalid_constants): Tidy previous change.
1738         (thumb_cmp_operand): Tidy.
1739         (thumb_cmpneg_operand): New function.
1740         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
1741         for size.
1742         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
1743         (PREDICATE_CODES): Add thumb_cmpneg_operand.
1744         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
1745         with a negative constant.
1746         (cbranchsi4_insn): Matcher for cbranchsi4.
1747         (cbranchsi4_scratch): Similar, but a scratch is available for
1748         handling negative constants.
1749         (movsi_cbranchsi4): New pattern.
1750         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
1751         and use the TST instruction.
1752         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
1753         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
1754         cannot see high regs or memory alternatives.
1755         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
1756
1757 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
1758
1759         * arm.c (note_invalid_constants): Try to extract the constant
1760         pool value using avoid_constant_pool_reference; only use
1761         get_pool_constant if that returns the original reference.
1762
1763 2003-10-24  Jan Hubicka  <jh@suse.cz>
1764
1765         PR c++/12624
1766         * varasm.c (notice_global_symbol): Disqualify global registers.
1767
1768 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1769
1770         PR middle-end/11414
1771         * loop.c (load_mems): Use redirect_jump to forward jumps from
1772         the original loop end label to the new "loop sink" block's label.
1773
1774 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1775
1776         PR middle-end/12705
1777         * optabs.c (expand_binop): When expanding complex operations
1778         inline, always calculate result into a new temporary register.
1779         Minor code clean-ups.
1780
1781 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1782
1783         * objc/lang-specs.h: Handle -print-objc-runtime-info.
1784         * doc/invoke.texi (Objective-C Dialect Options): Document it.
1785
1786 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
1787
1788         * config/i386/cygwin.asm. Add copyright notice. Add comment
1789         on why this code is needed.
1790
1791 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
1792
1793         * config/h8300/clzhi2.c: Fix warnings.
1794         * config/h8300/ctzhi2.c: Likewise.
1795         * config/h8300/fixunssfsi.c: Likewise.
1796         * config/h8300/parityhi2.c: Likewise.
1797         * config/h8300/popcounthi2.c: Likewise.
1798
1799 2003-10-23  James E Wilson  <wilson@specifixinc.com>
1800
1801         * gcc.c (option_map): Delete --target and --use-version.
1802
1803 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
1804             David Edelsohn  <edelsohn@gnu.org>
1805
1806         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
1807         TARGET_POWREPC64.
1808         (UNITS_PER_GPR_WORD): Define.
1809         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
1810         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1811         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
1812         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
1813         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
1814         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
1815         (rs6000_emit_prologue): Select reg_mode and reg_size using
1816         TARGET_32BIT, not TARGET_POWERPC64.
1817         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
1818         ABI / 64-bit computation mode
1819
1820 2003-10-22  Andrew Haley  <aph@redhat.com>
1821
1822         * toplev.c (output_file_directive): Allow for null input_name.
1823
1824 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1825
1826         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
1827
1828 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
1829
1830         * configure.in: In --enable-generated-files-in-srcdir option
1831         handling, fix default case handling.
1832         * configure: Regenerate.
1833
1834 2003-10-22  Phil Edwards  <phil@codesourcery.com>
1835
1836         * config.gcc:  Update *-*-vxworks* generic hook and comments.
1837         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
1838         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
1839         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
1840         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
1841         * config/windiss.h:  New file.
1842         * config/arm/t-vxworks:  New file.
1843         * config/arm/vxworks.h:  New file.
1844         * config/i386/t-vxworks:  New file.
1845         * config/i386/vxworks.h:  New file.
1846         * config/mips/t-vxworks:  New file.
1847         * config/mips/vxworks.h:  New file.
1848         * config/mips/windiss.h:  New file.
1849         * config/sh/t-vxworks:  New file.
1850         * config/sh/vxworks.h:  New file.
1851
1852 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1853
1854         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
1855         (h8300_saveall_function_p): New.
1856         (h8300_insert_attributes): Insert the saveall attribute if
1857         #pragma saveall is specified.
1858         (h8300_attribute_table): Add saveall.
1859         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1860         * doc/extend.texi: Mention the saveall attribute.
1861
1862 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
1863
1864         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
1865         deprecation of casts as lvalues.
1866         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
1867         * fixinc/fixincl.x: Regenerate.
1868         * fixinc/tests/base/obstack.h: New test.
1869
1870 2003-10-22  Andreas Schwab  <schwab@suse.de>
1871
1872         PR target/12676
1873         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
1874         LP64 platforms.
1875
1876 2003-10-22  Jan Hubicka  <jh@suse.cz>
1877
1878         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
1879         presence of DW_AT_inline.
1880         (gen_subprogram_die): Likewise; do not abort instead of emitting
1881         DW_AT_not_inline.
1882
1883 2003-10-22  Jan Hubicka  <jh@suse.cz>
1884
1885         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
1886         global info is not ready.
1887
1888 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1889
1890         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
1891
1892 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
1893
1894         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
1895         ("*movstr_short"): ... into this insn pattern.
1896         ("movstr_short"): New expander.
1897         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
1898         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
1899         ("movstr_long"): New expander.
1900         ("clrstr_short_64", "clrstr_short_31"): Merge ...
1901         ("*clrstr_short"): ... into this insn pattern.
1902         ("clrstr_short"): New expander.
1903         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
1904         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
1905         ("clrstr_long"): New expander.
1906         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
1907         ("*cmpmem_short"): ... into this insn pattern.
1908         ("cmpmem_short"): New expander.
1909         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
1910         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
1911         ("cmpmem_long"): New expander.
1912         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
1913         (s390_expand_clrstr): Likewise.
1914         (s390_expand_cmpmem): Likewise.
1915
1916 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
1917
1918         * c-pch.c (struct c_pch_validity): Add pch_init field.
1919         (pch_init): Set it.
1920         (c_common_valid_pch): Check it.
1921
1922 2003-10-22  David Taylor <dtaylor@emc.com>
1923
1924         PR debug/12500
1925         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
1926
1927 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1928
1929         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
1930         alpha_return_in_memory if no VALTYPE specified.
1931
1932 2003-10-22  Jan Hubicka  <jh@suse.cz>
1933
1934         PR debug/12389
1935         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
1936         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
1937         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
1938         (cgraph_global_info): Add flag inlined
1939         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
1940         cgraph_function_possibly_inded_p
1941         * cgraphunit.c (mark_inline): Set inlined flag.
1942         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
1943         only for possibly inlined functions.
1944         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
1945         body of function.
1946
1947 2003-10-22  Andrew Haley  <aph@redhat.com>
1948
1949         * varasm.c (output_constructor): Make constructor annotation
1950         conditional on ASM_COMMENT_START.
1951
1952 2003-10-21  Jason Merrill  <jason@redhat.com>
1953
1954         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
1955         (get_narrower): Likewise.
1956
1957         * stor-layout.c (layout_decl): Do packed field alignment for
1958         bit-fields, too.
1959
1960 2003-10-21  Eric Christopher  <echristo@redhat.com>
1961
1962         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
1963
1964 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
1965
1966         * c-pch.c: Add comments in various places.
1967         (struct c_pch_validity): Add the lengths of various strings.
1968         (host_machine): New static.
1969         (target_machine): New static.
1970         (get_ident): Bump version number.
1971         (pch_init): Write out version, host, target validity data.
1972         (c_common_valid_pch): Check version, host, target.
1973         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
1974         TARGET_MACHINE.
1975
1976 2003-10-21  Jason Merrill  <jason@redhat.com>
1977
1978         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
1979         (EXPR_P): New macro.
1980
1981 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
1982
1983         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
1984         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
1985         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
1986         DImode.   Use convert_move to load ar.ccv.
1987         (ia64_expand_compare_and_swap): Likewise.
1988         If expand_expr doesn't put 'old' and 'new' in the proper
1989         modes, run them through convert_to_mode.
1990
1991 2003-10-21  Eric Christopher  <echristo@redhat.com>
1992
1993         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
1994         for too large bitfields.
1995
1996 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
1997
1998         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
1999
2000 2003-10-21  Andrew Haley  <aph@redhat.com>
2001
2002         * varasm.c (output_constructor): Annotate constructor.
2003
2004 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2005
2006         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2007         on existence of destination file.
2008
2009 2003-10-21  Jan Hubicka  <jh@suse.cz>
2010
2011         * haifa-sched.c (choose_ready): Initialize index.
2012
2013 2003-10-21  Jason Merrill  <jason@redhat.com>
2014
2015         * tree.c (build1): Fix off-by-one error.
2016
2017 2003-10-21  Robert Millan  <robertmh@gnu.org>
2018
2019         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2020         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2021         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2022         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2023
2024 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2025
2026         * web.c: Fix various comments.
2027
2028 2003-10-20  Nicolas Pitre <nico@cam.org>
2029
2030         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2031         to 2 instead of 1 when optimize_size is true.  Gather code based on
2032         optimize_size together.  Add comment about XScale load latency.
2033
2034 2003-10-21  Gunther Nikl  <gni@gecko.de>
2035
2036         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2037         obsolete comments.
2038
2039 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2040
2041         * Makefile.in: Get parsedir and docobjdir from configure.
2042         * configure.in: Recogonize --enable-generated-files-in-srcdir.
2043         Pass along parsedir and docobjdir.
2044         * configure: Regenerate.
2045         * doc/install.texi: Document --enable-generated-files-in-srcdir.
2046
2047 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2048
2049         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2050         included.
2051
2052 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2053
2054         * c-common.c (expand_tree_builtin): Ensure creal and cimag
2055         functions do not return lvalues.
2056
2057 2003-10-20  Jason Merrill  <jason@redhat.com>
2058
2059         PR c/12553
2060         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2061         appropriately.
2062
2063         PR c/11446
2064         * stor-layout.c (layout_decl): Fix alignment handling.
2065
2066 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2067
2068         * doc/extend.texi: Deprecate casts as lvalues.
2069
2070 2003-10-20  Jan Hubicka  <jh@suse.cz>
2071
2072         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2073
2074         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
2075         with functions implicitly made inline.
2076
2077         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
2078         (cgraph_finalize_function): Use it.
2079         (cgraph_mark_inline): Allow incrmental decisions
2080         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2081         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2082         * tree-inline.c (limits_allow_inlining): Kill.
2083         (expand_call_inline): Always use unit-at-a-time path.
2084
2085 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2086
2087         * fixinc/inclhack.def (hpux11_snprintf): New edit.
2088         * fixinc/fixincl.x: Regenerate.
2089         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2090
2091 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
2092
2093         * Makefile.in (install-info): Simplify.
2094         ($(DESTDIR)$(infodir)/%.info): New rule.
2095         * configure.in (target_list): Remove install-info.
2096         * doc/.cvsignore (gcc.info*): Remove.
2097         (gccint.info*): Likewise.
2098         (gccinstall.info*): Likewise.
2099         (cpp.info*): Likewise.
2100         (cppinternals.info*): Likewise.
2101         (*.info*): Add it.
2102         * doc/sourcebuild.texi: Update description of install-info.
2103         * objc/Make-lang.in (objc.install-info): Remove.
2104
2105 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2106
2107         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2108         Use it in _MIPS_SIM definition.
2109         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2110
2111 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2112
2113         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2114         virtual register, but only if file == asm_out_file.
2115         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2116         for ARG_POINTER_REGNUM.
2117
2118 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2119
2120         * c-common.c (registered_builtin_types): New static.
2121         (c_common_type_for_mode): Consult registered_builtin_types.
2122         (c_register_builtin_type): Add type to registered_builtin_types.
2123         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2124         all MODE_FLOAT modes, not just the ones corresponding to
2125         float_type_node, double_type_node, and long_double_type_node.
2126
2127 2003-10-20  Richard Henderson  <rth@redhat.com>
2128
2129         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2130         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2131
2132 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
2133
2134         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
2135         support new flag -minsert-sched-nops.
2136         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
2137         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2138         support new flag -minsert-sched-nops.
2139         (is_cracked_insn, is_microcoded_insn): New functions.
2140         (rs6000_sched_finish): New function.
2141         (rs6000_issue_rate): Return 5 for power4.
2142         (get_next_active_insn, insn_terminates_group_p): New
2143         functions.
2144         (is_costly_group, force_new_group): New functions.
2145         (redefine_groups, pad_groups): New functions.
2146         (rs6000_variable_issue): Use new functions.
2147         * doc/invoke.texi (-minsert-sched-nops): Document new
2148         option.
2149
2150 2003-10-20  David S. Miller  <davem@redhat.com>
2151
2152         * config/sparc/sparc.md (type attribute): Add new insn types
2153         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2154         (patterns emitting VIS insns): Use them.
2155         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2156         * config/sparc/ultra3.md: Likewise.
2157
2158 2003-10-20  Falk Hueffner  <falk@debian.org>
2159
2160         PR target/12654
2161         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2162         comparison against constant by adjusting the argument except for
2163         EQ and NE.
2164
2165 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
2166
2167         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2168         arm1136jfs, and armv6j.
2169         * config/arm/arm.c (FL_ARCH6J): New macro.
2170         (FL_VFPV2): Likewise.
2171         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2172         and arm1136jfs.
2173         (all_architectures): Add entry for armv6j.
2174         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2175         arm1136js, and arm1136jfs.
2176         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2177         (TARGET_CPU_arm1026ej_s): Likewise.
2178         (TARGET_CPU_arm1136j_s): Likewise.
2179         (TARGET_CPU_arm1136jf_s): Likewise.
2180         * doc/invoke.texi: Document new ARM cores and architecture
2181         variants.
2182
2183 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2184
2185         * Makefile.in (toplev.o): Add value-prof.h dependency.
2186         (value-prof.o): Add REGS_H dependency.
2187         * common.opt (fprofile-values, fvpt): New.
2188         * flags.h (flag_value_profile_transformations): Declare.
2189         * opts.c (common_handle_option): Handle -fprofile_values and
2190         -fvpt.
2191         * profile.c (branch_prob): Don't remove death notes here.
2192         * timevar.def (TV_VPT): New.
2193         * value-prof.c: Include regs.h.
2194         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2195         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2196         mod_subtract_transform, value_profile_transformations): New.
2197         (insn_values_to_profile): Call insn_divmod_values_to_profile.
2198         (find_values_to_profile): Add dumps.
2199         * value-prof.h (value_profile_transformations): Declare.
2200         * toplev.c: Include value-prof.h.
2201         (rest_of_handle_value_profile_transformations): New.
2202         (enum dump_file_index): Add DFI_vpt.
2203         (dump_file): Add vpt dump.
2204         (flag_value_profile_transformations): New.
2205         (lang_independent_options): Add flag_profile_values and
2206         flag_value_profile_transformations.
2207         (rest_of_compilation): Call
2208         rest_of_handle_value_profile_transformations.
2209         (process_options): Let -fvpt imply -fprofile-values.
2210         * doc/invoke.texi (-fvpt): Document.
2211
2212 2003-10-19  Jan Hubicka  <jh@suse.cz>
2213
2214         * i386.c (print_reg): Do not abort on certain registers.
2215
2216         PR optimization/12612
2217         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
2218         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2219         match_scratch; avoid bogus paralles.
2220
2221         PR target/12674
2222         * i386.c (ix86_function_regparm): Disable implicit register passing
2223         conventions when profiling.
2224
2225 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2226             Richard Henderson  <rth@redhat.com>
2227
2228         PR optimization/8178
2229         * config/i386/i386.md (*movsi_zero): Delete.
2230         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2231
2232 2003-10-19  Richard Henderson  <rth@redhat.com>
2233
2234         * config/alpha/alpha.c (fix_operator): New.
2235         (divmod_operator): Tidy.
2236         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2237         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2238         (PREDICATE_CODES): Update.
2239         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2240         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2241         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2242         (fix_truncsfdi_ieee): Likewise.
2243         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2244         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2245         * config/alpha/alpha-protos.h: Update.
2246
2247 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
2248
2249         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2250         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2251         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
2252         constant operands.
2253
2254 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2255
2256         * doc/extend.texi: Fix typos.
2257         * doc/invoke.texi: Likewise.
2258
2259 2003-10-18  Nicolas Pitre <nico@cam.org>
2260
2261         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2262         XScale optimizations not arm_arch_xscale.
2263         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2264
2265 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
2266
2267         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2268         * config/s390/s390.c (shift_count_operand): New function.
2269         (s390_extra_constraint): Use it to implement 'Y' constraint.
2270         (print_shift_count_operand): New function.
2271         (print_operand): Use it to implement '%Y'.
2272         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2273         (PREDICATE_CODES): Add shift_count_operand.
2274         * config/s390/s390.md ("rotldi3"): Merge alternatives,
2275         using "shift_count_operand" predicate and "Y" constraint,
2276         and "%Y" to output the combined shift count.
2277         ("rotlsi3"): Likewise.
2278         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
2279         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
2280         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2281         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2282         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2283         ("lshrsi3"): Likewise.
2284
2285 2003-10-18  Gunther Nikl  <gni@gecko.de>
2286
2287         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2288         argument to asm_fprintf statement.
2289
2290 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
2291
2292         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2293         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2294         a "long long" argument.
2295
2296 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
2297
2298         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2299         as well.
2300
2301 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
2302
2303         * rtl.h (rtl_size): Declare.
2304         (rtunion): Remove rtwint.
2305         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2306         (RTX_HDR_SIZE, RTX_SIZE): New macros.
2307         (RTL_CHECK1): Adjust for new rtx_def layout.
2308         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2309         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
2310         (X0WINT): Remove.
2311         (X0ANY): New macro.
2312         * rtl.def: Adjust comments for new rtx_def layout.
2313         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2314         number of slots.
2315         * rtl.c (rtx_size): New array.
2316         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
2317         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2318         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
2319         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2320         * emit-rtl.c (copy_most_rtx): Likewise.
2321         (copy_rtx_if_shared): Use RTX_SIZE.
2322         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2323         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
2324         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2325         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2326         an array.  Adjust output for new rtx_def layout.
2327         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2328         * reload1.c (eliminate_regs): Use RTX_SIZE.
2329         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2330         * gdbinit.in (pi): Likewise.
2331
2332 2003-10-18  Jan Hubicka  <jh@suse.cz>
2333
2334         * integrate.c (copy_decl_for_inlining): Revert previous patch.
2335
2336 2003-10-18  Jan Hubicka  <jh@suse.cz>
2337
2338         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2339
2340 2003-10-18  Roger Sayle  <roger@eyesopen.com>
2341
2342         * libgcc.texi: Group multi-word types, such as "long double" and
2343         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2344         Document __unord?f2 as returning a non-zero value, not just one.
2345
2346 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
2347
2348         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2349         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2350
2351 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2352
2353         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2354         match_operand.
2355
2356 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2357
2358         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2359         parameter packed_p.  Search for a DECL_PACKED field only if
2360         packed_p is false.  Pass packed_p recursively.
2361         (function_arg_record_value_2): Likewise.
2362         (function_arg_record_value): Update calls to
2363         function_arg_record_value_1 and function_arg_record_value_2.
2364
2365 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2366
2367         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2368         was successfully forced to memory before using the result.
2369
2370 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2371
2372         PR optimization/8178
2373         * config/i386/i386.md (*movsi_zero): New insn to set
2374         a register to zero on TARGET_USE_MOV0 targets.
2375
2376 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2377
2378         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2379         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2380
2381 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
2382
2383         * doc/invoke.texi (gcse-las): Fix typo.
2384
2385 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2386
2387         * doc/install.texi: Remove first part of the sentence for
2388         zsh not working.  Change gcc to GCC.
2389
2390         PR bootstrap/12546
2391         * doc/install.texi: Document that zsh does not work when
2392         configuring gcc.
2393
2394 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
2395
2396         * config/ptx4.h: Switch to DWARF 2; update comments.
2397
2398 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
2399             Hartmut Penner  <hpenner@de.ibm.com>
2400
2401         PR 10404, partial 11591, partial 11601
2402         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2403         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2404         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2405         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2406         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2407         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2408         (altivec_expand_stv_builtin): Adjust for the memory_operand.
2409         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2410         (altivec_init_builtins): Use `long int' for memory offsets.
2411
2412 2003-10-17  Jan Hubicka  <jh@suse.cz>
2413
2414         * opts.c  (common_handle_option): Handle OPT_fweb
2415         * invoke.texi (-fweb): Add missing parts of documentation.
2416
2417 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2418
2419         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2420         before redefinition.
2421
2422 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
2423
2424         * common.opt: Add description of the new -fgcse-las flag.
2425         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2426         * gcse.c (hash_scan_set): Handle the case of store expression and
2427         insert the memory expression to the hash table, this way we make it
2428         possible to discover redundant loads after stores and remove them.
2429         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2430         to pre_insert_copies, it is not the correct place to call it after
2431         adding stores to be in the available expression hash table.
2432         (pre_insert_copies): Added the call to update_ld_motion_stores when
2433         one or more copies were inserted.
2434         * opts.c (common_handle_option): Handle the -fgcse-las flag.
2435         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2436
2437         * doc/invoke.tex: Document new -fgcse-las flag.
2438
2439 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
2440
2441         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2442         for posterity, then remove it.
2443
2444 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
2445             Nathan Sidwell  <nathan@codesourcery.com>
2446
2447         * config/arm/arm.c (use_return_insn): Not a single instruction, if
2448         there's a frame pointer.
2449         (arm_output_epilogue): Protect stack pointer from being corrupted
2450         on interrupt.
2451
2452 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2453
2454         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2455
2456 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2457
2458         * combine.c (simplify_set): Do not clear out undobuf.other_insn
2459         already set elsewhere.
2460
2461 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
2462
2463         * config/i386/i386.c (ix86_expand_prologue):  Use
2464         gen_allocate_stack_worker.
2465
2466 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2467
2468         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
2469         without gas.
2470         (mips-sgi-irix6*): Likewise.
2471
2472         * config/mips/iris6gas.h: New file.
2473         * gcc/config.gcc (mips-sgi-irix6*): Use it.
2474
2475         * config/mips/mips.h (TARGET_IRIX): Provide default.
2476         (TARGET_IRIX5): Likewise.
2477         (TARGET_SGI_O32_AS): Likewise.
2478         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
2479         (TARGET_IRIX5): Likewise.
2480         * config/mips/iris6.h (TARGET_IRIX6): Remove.
2481         (TARGET_IRIX5): Redefine as 0.
2482
2483         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
2484         linker workaround with TARGET_IRIX and mips_abi instead of
2485         ASM_OUTPUT_UNDEF_FUNCTION.
2486         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
2487         testing TARGET_IRIX and mips_abi explicitly.
2488         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
2489         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
2490
2491         * config/mips/mips.c (irix_output_external_libcall): Renamed from
2492         mips_output_external_libcall.
2493         Use new TARGET_IRIX in guard.
2494         * config/mips/mips-protos.h (irix_output_external_libcall): Match
2495         this.
2496         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
2497
2498         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
2499         Define as 0.
2500
2501         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
2502         depending on mips_abi.
2503         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
2504         * config/mips/mips.c (mips_output_function_prologue): Test
2505         FUNCTION_NAME_ALREADY_DECLARED at runtime.
2506         (mips_output_function_epilogue): Likewise.
2507         (build_mips16_function_stub): Likewise.
2508         (build_mips16_call_stub): Likewise.
2509         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
2510         default.
2511
2512         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
2513         IRIX 6 O32 assembler.
2514         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
2515         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
2516         _MIPS_SIM for O32 ABI.
2517         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
2518         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
2519         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
2520         Integrate O32 version.
2521         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
2522         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
2523         O32 ABI.
2524         (BSS_SECTION_ASM_OP_32): Define.
2525         (BSS_SECTION_ASM_OP_64): Likewise.
2526         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
2527         using them.
2528         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
2529         Move up to allow override for O32 ABI without GNU as.
2530         (EH_FRAME_SECTION_NAME): Define explicitly.
2531         (MUST_USE_SJLJ_EXCEPTIONS): Define.
2532         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
2533         DTORS_SECTION_ASM_OP): Dummy definitions.
2534         (TARGET_ASM_NAMED_SECTION): Undef statically.
2535         (EH_FRAME_SECTION_NAME): Likewise.
2536         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
2537         (LINK_SPEC): Only use default options -call_shared -no_unresolved
2538         without -r.
2539         Don't pass -init, -fini with -mabi=32.
2540         (COLLECT_PARSE_FLAG): Define.
2541
2542         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
2543         TARGET_IRIX.
2544         Renamed to use irix_ prefix.
2545         (iris6_asm_named_section): Likewise.
2546         (iris_section_align_entry_eq): Likewise.
2547         (iris_section_align_entry_hash): Likewise.
2548         (iris6_file_start): Likewise.
2549         (iris6_section_align_1): Likewise.
2550         (iris6_file_end): Likewise.
2551         (iris6_section_type_flags): Likewise.
2552         (iris_section_align_htab): Likewise.
2553         (iris_orig_asm_out_file): Likewise.
2554         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
2555         (TARGET_ASM_FILE_END): Likewise.
2556         (TARGET_SECTION_TYPE_FLAGS): Likewise.
2557
2558         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
2559         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
2560         override_options instead.
2561         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
2562         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
2563         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
2564         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
2565         assemblers.
2566         Likewise for constructor/destructor handling.
2567         (override_options): Handle IRIX O32 assembler quirks.
2568         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
2569         without gas.
2570         (mips_file_start): Use new TARGET_IRIX.
2571         (mips_declare_object_name): No special processing for IRIX O32
2572         assembler.
2573         (mips_finish_declare_object): Likewise.
2574         (irix_asm_output_align): Renamed from iris6_asm_output_align.
2575         Don't record alignment for O32 ABI.
2576         (irix_file_start): Renamed from iris6_file_start.
2577         Return early for O32 ABI.
2578         (irix_file_end): Renamed from iris6_file_end.
2579         Don't emit .section directives for O32 ABI.
2580         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
2581         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
2582
2583         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
2584         (MULTILIB_OSDIRNAMES): Likewise.
2585
2586 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2587
2588         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
2589         (main): Use it.
2590         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
2591
2592 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
2593
2594         * arm-modes.def (CC_Nmode): New condition code mode.
2595         * arm.c (thumb_condition_code): Delete.
2596         (arm_select_cc_mode): Handle single-bit test for Thumb.
2597         (arm_print_operand, cases 'd' and 'D'): Don't special case the
2598         condition code logic for Thumb.
2599         (get_arm_condition_code): Handle CC_Nmode.
2600         (thumb_cbrch_target_operand): New function.
2601         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
2602         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
2603         * arm.md: Add Thumb split patterns for zero_extract and
2604         sign_extract.
2605         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
2606         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
2607         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
2608         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
2609         (cbranchne_decr1): Re-work to use CC_Nmode.
2610
2611         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
2612         by the return instruction.  Add a use of the link register if it
2613         wasn't stored.
2614
2615 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
2616
2617         * flow.c (init_propagate_block_info): Don't abort if a conditional
2618         jump is not a comparison of a register.  Instead, just don't record
2619         conditional life information.
2620
2621 2003-10-16  Jan Hubicka  <jh@suse.cz>
2622
2623         PR optimization/12630
2624         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
2625         for operands 7 and 8.
2626
2627 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
2628
2629         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
2630
2631 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
2632
2633         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2634
2635         * config/i386/winnt.c (gen_stdcall_suffix): Make static
2636         (gen_fastcall_suffix): Likewise.
2637         (i386_pe_dllexport_p): Likewise.
2638         (i386_pe_dllimport_p): Likewise.
2639         (i386_pe_mark_dllexport): Likewise.
2640         (i386_pe_mark_dllimport): Likewise.
2641         (i386_pe_asm_named_section): Fix formatting.
2642
2643 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
2644
2645         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
2646         * system.h: Declare snprintf if necessary.
2647         * configure, config.in: Regenerate.
2648
2649 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
2650
2651         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
2652         arguments if TARGET_ALTIVEC_ABI.
2653
2654 2003-10-15  Roger Sayle  <roger@eyesopen.com>
2655
2656         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
2657         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
2658         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
2659         New functions.
2660         (expand_builtin_memcpy): Use integer_zerop instead of testing
2661         host_integerp and tree_low_cst directly.  Move misapplied hunk
2662         for optimization wher SRC and DEST point to the same location.
2663         (expand_builtin_mempcpy): From here.
2664         (expand_builtin_memmove): Use integer_zerop instead of testing
2665         host_integerp and tree_low_cst_directly.
2666         (expand_builtin_memset): Likewise.
2667         (expand_builtin_memcmp): Likewise (and for integer_onep).
2668         (expand_builtin_strncmp): Likewise.
2669         (fold_builtin): Call the appropriate fold_builtin_foo functions
2670         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
2671         strcmp and strncmp.
2672
2673 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
2674
2675         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
2676         prototype.  Clean up some whitespace.
2677         * config/darwin.c: Use gen_rtx_FOO (...) rather than
2678         gen_rtx (FOO, ...).
2679         (machopic_non_lazy_ptr_name): Make static.
2680         (name_needs_quotes): Allow '.' and '$' unquoted.
2681         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
2682         case.
2683
2684 2003-10-15  Gábor Lóki  <alga@rgai.hu>
2685
2686         * fold-const.c (tree_swap_operands_p): Disable some features
2687         when optimizing for size.
2688
2689 2003-10-15  David Daney  <ddaney@avtrex.com>
2690
2691         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
2692         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
2693         from leaf functions.
2694         (DWARF_FRAME_RETURN_COLUMN): Ditto.
2695         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
2696         by MD_FALLBACK_FRAME_STATE_FOR.
2697         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
2698
2699 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
2700
2701         * genmodes.c: Include hashtab.h.
2702         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
2703         (adj_bytesize, adj_alignment, adj_format, new_adjust)
2704         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
2705         (print_maybe_const_decl, emit_mode_adjustments): New.
2706         (known_modes): Rename to modes.
2707         (find_mode): Kill class argument; look up in hash table.
2708         (new_mode): Insert into hash table also.
2709         (new_adjust): New.
2710         (reset_float_format, make_partial_integer_mode)
2711         (make_vector_mode): Tweak error reporting.
2712         (reset_float_format): Correct type of fourth argument.
2713         (emit_insn_modes_h): Add #defines to help make mode_size,
2714         mode_base_align, and real_format_for_mode conditionally const.
2715         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
2716         (emit_real_format_for_mode): Likewise, but temporarily disabled.
2717         (emit_insn_modes_c): Call emit_mode_adjustments.
2718         (main): Initialize modes_by_name.
2719         * Makefile.in: Update dependencies.
2720         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
2721         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
2722         declarations of mode_size and mode_base_align.  Declare
2723         init_adjust_machine_modes.
2724         * toplev.c (backend_init): Call init_adjust_machine_modes.
2725
2726 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
2727
2728         * genmodes.c (calc_wider_mode): Allocate enough room for all the
2729         entries we'll possibly assign in the sort buffer.
2730
2731 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
2732
2733         * config.gcc (s390x-ibm-tpf*): New target.
2734         * doc/install.texi: Document it.
2735         * config/s390/t-tpf: New file.
2736         * config/s390/tpf.h: New file.
2737
2738 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
2739
2740         PR target/12598
2741         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
2742         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
2743         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
2744         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
2745         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
2746         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
2747         replace_equiv_address, not gen_rtx_MEM.
2748         * config/cris/cris.c (cris_mem_op): New match_operator function.
2749         (cris_notice_update_cc): Use replace_equiv_address, not
2750         gen_rtx_MEM.
2751         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
2752
2753 2003-10-15  Bernardo Innocenti <bernie@develer.com>
2754
2755         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
2756         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
2757         definitions after the other flags.
2758
2759 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
2760
2761         * c-parse.in (methoddef, methodproto): Call objc_add_method()
2762         instead of add_method().
2763         * objc/objc-act.c (objc_check_decl): Do not check for
2764         constant_string_type.
2765         (add_method): Rename to objc_add_method().
2766         (really_start_method): Call objc_add_method() instead of
2767         add_method().
2768         * objc/objc-act.h (add_method): Rename to objc_add_method().
2769
2770 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2771
2772         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
2773         (s390_slb_comparison): Likewise.
2774         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
2775         New functions.
2776         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
2777         and s390_slb_comparison.
2778         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
2779         zSeries machines.
2780         ("*adddi3_31z", "*subdi3_31z"): New insns.
2781         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
2782         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
2783         New insns.
2784
2785 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2786
2787         * configure.in: Clean up some feedback echoes.
2788         * configure: Regenerate.
2789
2790         * aclocal.m4: Properly quote names of macros being defined.
2791
2792         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
2793
2794 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
2795
2796         * config/ia64/ia64.c (ia64_expand_call): Force function address
2797         to DImode.
2798         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
2799
2800 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2801
2802         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
2803         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
2804         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
2805         "*divsf3_ibm"): Likewise.
2806
2807 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2808
2809         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
2810         target_alias with target_noncanonical.
2811
2812 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
2813
2814         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
2815         and add case for machines where outgoing register parameters
2816         get stack space.
2817
2818         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
2819         register when generating indirect address.
2820
2821 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
2822
2823         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
2824         * arm.md (cbranchne_decr1): Fix bootstrap warning.
2825
2826 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2827
2828         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
2829         * fixinc/fixincl.x: Regenerate.
2830         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
2831         testcase.
2832         Fixes PR bootstrap/9330.
2833
2834 2003-10-13  Eric Christopher  <echristo@redhat.com>
2835
2836         * config/frv/frv.c (frv_adjust_field_align): Redo check for
2837         too wide bitfields.
2838         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
2839         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
2840         (SBSS_SECTION_ASM_OP): Remove.
2841         (EXTRA_SECTIONS): Remove in_sbss.
2842         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
2843         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
2844         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
2845         named_section.
2846
2847 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2848
2849         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
2850         uses of ${target_alias} for directory names (and other places which
2851         won't like the empty string) with ${target_noncanonical}.  Introduce
2852         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
2853         available.
2854         * configure: Regenerate.
2855
2856 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
2857
2858         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
2859         * config/arm/arm.md: For splits which rely on conditional moves,
2860         remove ! TARGET_IWMMXT condition.
2861
2862 2003-10-13  David S. Miller  <davem@redhat.com>
2863
2864         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
2865         (find_cond_trap): Always increment if we emit a conditional
2866         trap insn.
2867
2868 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2869
2870         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
2871         with min-insn-modes.o.
2872         (STAGESTUFF): Add min-insn-modes.c.
2873         (genobjs): Add genmodes.o.
2874         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
2875         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
2876         (min-insn-modes.c, min-insn-modes.o): New rules.
2877         (s-modes): Also generate min-insn-modes.c.
2878         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
2879         * genmodes.c (struct mode_data): Add format field.
2880         (blank_mode, validate_mode, complete_mode): Update to match.
2881         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
2882         (_SCALAR_MODE): Kill.
2883         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
2884         (emit_insn_modes_c_header): Adjust.
2885         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
2886         (emit_min_insn_modes_c): New functions.
2887         (emit_insn_modes_c): Call emit_real_format_for_mode.
2888         (main): Add -m option to generate min-insn-modes.c.
2889         * machmode.h: Update documentation.  Add format argument to
2890         all uses of FLOAT_MODE.
2891         * real.c: Don't define real_format_for_mode here.
2892
2893         * dwarfout.c: Move default definition of PRINT_REG...
2894         * defaults.h: ...here.
2895         * print-rtl.c: Include tm_p.h.
2896         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
2897         Kill.
2898         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
2899         this entire block with #ifndef GENERATOR_FILE.
2900         * regclass.c: Unconditionally define reg_names.
2901         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
2902         Don't define DEBUG_REGISTER_NAMES.
2903         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
2904         redefinition of REGISTER_NAMES.
2905         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
2906
2907         * combine.c: Change all preprocessor conditionals on
2908         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
2909         for clarity.
2910         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
2911         * configure.in: Don't define EXTRA_CC_MODES.
2912         * configure, config.in: Regenerate.
2913         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
2914
2915         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
2916         May assume that GET_MODE_CLASS is accurate for extra CC modes
2917         at all times.
2918
2919         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
2920         number of arguments to aggregate_value_p.
2921
2922         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
2923         * machmode.def: Explain ARCH-modes.def.  Document
2924         RESET_FLOAT_FORMAT.  Improve commentary on various mode
2925         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
2926         XF, or TF modes here.  Remove backward-compatibility
2927         definition of CC.
2928
2929         * config/alpha/alpha-modes.def: New file; define TF mode.
2930         * config/arc/arm-modes.def: Define XF mode.
2931         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
2932         float format for SF and DF modes.
2933         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
2934         * config/i386/i386-modes.def: Define XF and TF modes.
2935         * config/i960/i960-modes.def: Define TF mode.
2936         * config/ia64/ia64-modes.def: Define TF and OI modes.
2937         * config/m68k/m68k-modes.def: New file; define XF mode.
2938         * config/mips/mips-modes.def: New file; define TF mode, reset
2939         formats for SF and DF modes.
2940         * config/pa/pa-modes.def: Define TF mode.
2941         * config/rs6000/rs6000.c: Define TF and PSI modes.
2942         * config/s390/s390-modes.def: Define OI mode.
2943         * config/sh/sh-modes.def: New file; define PSI mode.
2944         * config/sparc/sparc-modes.def: Define TF mode.
2945         * config/vax/vax-modes.def: New file; reset formats for SF and
2946         DF modes.
2947
2948         * config/c4x/c4x.c (c4x_override_options): No need to mess
2949         with real_format_for_mode or set REAL_MODE_FORMATs.
2950         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
2951         variable.
2952         * config/i386/i386.c (override_options): No need to set
2953         REAL_MODE_FORMATs here.
2954         * config/i960/i960.c (i960_initialize): Likewise.
2955         * config/m68k/m68k.c (m68k_override_options): Likewise.
2956         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
2957         for TFmode only if not the default.
2958         * config/mips/mips.c (override_options): Likewise.
2959         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
2960         DFmode only if not the default.
2961
2962         * config/i370/i370.h (RET_REG): Don't consider TFmode.
2963         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
2964         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
2965         of modes that don't appear anywhere in the machine description.
2966
2967         * config/arc/arc-modes.def, config/arm/arm-modes.def
2968         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
2969         * config/i386/i386-modes.def, config/i960/i960-modes.def
2970         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
2971         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
2972         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
2973         * config/sparc/sparc-modes.def: Convert to new style for
2974         declaring extra CC modes.
2975
2976 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2977
2978         * cpplex.c (_cpp_clean_line): In the common case of a line
2979         with no trigraphs and no \-newline, avoid writing to memory.
2980         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
2981         of the buffer member.  Make c an uchar to avoid unnecessary
2982         sign extensions.
2983
2984 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2985
2986         * configure.in: Remove unnecessary test.
2987         * configure: Regenerate.
2988
2989         * configure.in: Fix grammatical error.  Move UWIN host error to...
2990         * config.host: Here.
2991         * configure: Regenerate.
2992
2993 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2994
2995         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
2996         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
2997         of flag_unsafe_math_optimizations.
2998         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
2999         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
3000         fused-madd and no-fused-madd.
3001         * doc/invoke.texi: Documented the new options fused-madd and
3002         no-fused-madd for S/390.
3003
3004 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
3005
3006         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
3007         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
3008         assign DEFAULT_ABI.
3009         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
3010         * config/rs6000/rs6000.c: Formatting.
3011         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
3012         when rs6000_alignment_string given.
3013
3014 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3015
3016         PR target/12538
3017         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
3018         (sparc_flat_must_save_register_p): New function to decide whether
3019         a register must be saved/restored in the function prologue/epilogue.
3020         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
3021
3022 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3023
3024         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
3025         ISO C90 function declarations and definitions.
3026         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
3027
3028 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3029
3030         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
3031         config files which do the same thing.
3032         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
3033         config/freebsd6.h: Remove now unnecessary files.
3034
3035 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3036
3037         * c-common.c (c_common_truthvalue_conversion): Warn if the
3038         address of a non-weak function is used as a truth value.
3039
3040 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
3041
3042         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
3043         a literal.
3044         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
3045         instead of a literal.
3046
3047 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
3048
3049         * doc/extend.texi (Function Attributes): Mention the exceptional
3050         path for noreturn-marked functions.
3051
3052 2003-10-12  Jan Hubicka  <jh@suse.cz>
3053
3054         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
3055         warning.
3056
3057 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
3058
3059         * config/i386/i386.c (x86_this_parameter): Fix typo.
3060
3061 2003-10-11  Jan Hubicka  <jh@suse.cz>
3062
3063         * Makefile.in (web.o): New.
3064         * web.c: New file.
3065         * rtl.h (web_main): Declare.
3066         * timervar.def (TV_WEB): New.
3067         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
3068         (rest_of_hanle_web): New.
3069         (flag_web): New static variable.
3070         (lang_independent_options): Add "web".
3071         (rest_of_compilation): Call rest_of_handle_web.
3072         * invoke.texi (-fweb): Document.
3073         * common.opt (fweb): New.
3074         * flags.h (flag_web): New.
3075         * opts.c (decode_options): Set flag_web at -O3.
3076
3077         * passes.texi (web construction):  Document.
3078         * invoke.texi (-O3): Document that -fweb is enabled.
3079
3080         * regrename.c (regrename_optimize): Deal better with situation when
3081         replacement failed.
3082
3083         * sched-ebb.c: Include params.h and profile.h
3084         (schedule_ebbs):  Use tracer parameters to discover superblocks
3085         * Makefile.in (sched-ebb.o):  Add dependencies.
3086
3087 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3088
3089         * fold-const.c (negate_mathfn_p): New function to determine whether
3090         a built-in mathematical function is sign preserving, f(-x) == -f(x).
3091         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
3092         (tree_swap_operands_p): Change API to take an additional argument
3093         indicating that the swapped operands evaluate in reverse order.
3094         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
3095         operand side-effects or we don't care about flag_evaluation_order.
3096         (reorder_operands_p): New function to check whether its safe to
3097         evaluate the given operands in reverse order.
3098         (negate_expr_p):  We can always negate integer constants unless
3099         we honor -ftrapv and the signed type would overflow.  Only allow
3100         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
3101         negation of COMPLEX_CST if both real and imaginary parts can be
3102         negated.  Allow negation through floating point extensions and
3103         sign-preserving built-in functions.
3104         (negate_expr):  Move the code to negate integers from "fold" to
3105         here.  Always negate integer constants unless we honor -ftrapv
3106         and the signed type would overflow.  Always negate real constants
3107         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
3108         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
3109         Optimize negation through floating point extensions and
3110         sign-preserving built-in functions (as defined by negate_mathfn_p).
3111         (fold): Adjust calls to tree_swap_operands_p.
3112         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
3113         to negate_expr_p/negate_expr.
3114         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
3115         allowed to convert (-A) - B into (-B) - A.
3116
3117 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3118
3119         * builtins.c (expand_builtin_strcmp): Defend against the possibility
3120         that gen_cmpstrsi may fail: Stabilize the argument list against
3121         re-evaluation and expand the library call directly using this saved
3122         argument list if a cmpstrsi sequence can't be generated.
3123         (expand_builtin_strncmp): Likewise.
3124
3125         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
3126
3127 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3128
3129         PR optimization/12260
3130         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
3131         operations through CONST nodes.  Optimize (neg (plus X C)) as
3132         (minus -C X) for constant values C.
3133         (simplify_binary_operation): Optimize (minus (neg X) C) as
3134         (minus -C X) for constant values C.
3135         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
3136         instead create (minus -C X).
3137
3138 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3139
3140         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
3141         safe_from_p for us, once it chooses an evaluation order.
3142         (expand_expr <MULT_EXPR>): Likewise.
3143         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
3144         places the second operand in "target", swap the operands.
3145         (do_store_flag): Let expand_operands call safe_from_p for us.
3146
3147 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
3148
3149         PR optimization/12544
3150         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
3151         for DECL_NONLOCAL decls.
3152
3153 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * expr.c: Follow spelling conventions.
3156         * final.c: Likewise.
3157         * optabs.c: Likewise.
3158         * sched-deps.c: Likewise.
3159         * sdbout.c: Likewise.
3160
3161 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
3162
3163         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
3164         re-computing of variable.
3165
3166 2003-10-11  Richard Henderson  <rth@redhat.com>
3167
3168         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
3169         return_in_memory, make static, change signature to match target hook.
3170         (alpha_setup_incoming_varargs): Make static, change signature to
3171         match target hook, add code for vms and unicos.
3172         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
3173         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
3174         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
3175         TARGET_STRICT_ARGUMENT_NAMING,
3176         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
3177         * config/alpha/alpha-protos.h: Update.
3178         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
3179         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
3180         SETUP_INCOMING_VARARGS): Remove.
3181         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
3182         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
3183
3184 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
3185
3186         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
3187
3188 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3189
3190         * config/m68k/lb1sf68.asm: Follow spelling conventions.
3191         * config/m68k/m68k.c: Likewise.
3192         * config/m68k/m68k.h: Likewise.
3193         * config/m68k/m68k.md: Likewise.
3194
3195 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3196
3197         * builtins.c (expand_builtin_memcpy): Optimize case when the two
3198         pointer arguments are the equal, non-volatile and side-effect free.
3199         (expand_builtin_mempcpy): Likewise.
3200         (expand_builtin_memmove): Likewise.
3201         (expand_builtin_strcpy): Likewise.
3202         (expand_builtin_memcmp): Likewise.
3203         (expand_builtin_strcmp): Likewise.
3204         (expand_builtin_strncmp): Likewise.
3205
3206 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3207
3208         * combine.c (apply_distributive_law): Enable "distributive" floating
3209         point optimizations with -funsafe-math-optimizations.
3210
3211 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
3212
3213         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
3214
3215 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3216
3217         * config/m68k/m68k-protos.h: Remove the prototype for
3218         finalize_pic.
3219
3220 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3221
3222         * config/m68k/m68k.c: Fix comment typos.
3223
3224 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3225
3226         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
3227         int to bool.
3228         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
3229         (current_frame): New global var.
3230         (m68k_compute_frame_layout): Cache computations in current_frame.
3231         (m68k_initial_elimination_offset): Use values from current_frame
3232         instead of recomputing them.
3233         (use_return_insn): Likewise.
3234         (m68k_output_function_prologue): Likewise.
3235         (m68k_output_function_epilogue): Likewise.
3236         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
3237         inside the block for __pic__.
3238
3239 2003-10-11  Peter Barada <peter@baradas.org>
3240             Bernardo Innocenti  <bernie@develer.com>
3241
3242         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
3243         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
3244         (m68k_interrupt_function_p): New function.
3245         (m68k_handle_fndecl_attribute): Ditto.
3246         (m68k_compute_frame_layout): Ditto.
3247         (m68k_attribute_table): Define back-end specific attributes.
3248         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
3249         functions.
3250
3251 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3252
3253         * config/m68k/t-uclinux: New target Makefile fragment.
3254         * config/m68k/uclinux.h: New target macro file.
3255         * config.gcc (m68k-*-uclinux): New target definition.
3256
3257 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3258
3259         * builtins.c (builtin_mathfn_code): Generalize to check whether
3260         the call is to any built-in function by comparing the call's
3261         argument list against the builtin decl's function type.
3262
3263 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3264
3265         * cse.c (constant_pool_entries_regcost): New global variable to
3266         hold the register cost component of constant_pool_entries_cost.
3267         (fold_rtx): Calculate constant_pool_entries_regcost at the same
3268         time as constant_pool_entries_cost.
3269         (cse_insn): Set both src_folded_cost and src_folded_regcost from
3270         constant_pool_entries_cost and constant_pool_entries_regcost.
3271         (cse_main): Initialize constant_pool_entries_regcost to zero.
3272
3273         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
3274         the semantics of the sequence of bit operations used to negate
3275         a floating-point value.
3276         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
3277         the semantics of the bit operations used to abs a floating point
3278         value.
3279
3280 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3281             Paul Dale  <pauli@snapgear.com>
3282
3283         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
3284         support.
3285         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
3286         -fpic, -fPIC, -msep-data and -mid-shared-library.
3287         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
3288         (override_options): Add -msep-data and -mshared-library-id support.
3289         (m68k_output_function_prologue): Generate code to load A5 for
3290         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
3291         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
3292         (m68k_output_pic_call): New function.
3293         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
3294         (TARGET_ID_SHARED_LIBRARY): Ditto.
3295         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
3296         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
3297         (call_value): Likewise.
3298
3299 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3300
3301         * gengenrtl.c (find_formats, genheader): Make i an unsigned
3302         int, remove cast of NUM_RTX_CODE.
3303         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
3304         entire file.  Remove the #ifs on GET_MODE_MASK etc and
3305         GET_MODE_WIDER_MODE etc.
3306
3307 2003-10-10  Eric Christopher  <echristo@redhat.com>
3308
3309         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
3310         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
3311         that set mode.
3312         * config/sh/sh.h (MODE_ENTRY): New macro.
3313         (MODE_EXIT): Ditto.
3314         (MODE_AFTER): Ditto.
3315         * config/sh/sh.md: Change for MODE_AFTER. Add
3316         fp_set attribute.
3317         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
3318
3319 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3320
3321         * genmodes.c, mode-classes.def: New files.
3322         * machmode.def: Rewritten to genmodes.c interface.
3323         * Makefile.in (extra_modes_file): New substitution variable.
3324         (MACHMODE_H): No longer includes machmode.def or
3325         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
3326         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
3327         (OBJS-common): Add insn-modes.o.
3328         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
3329         genmodes$(build_exeext).
3330         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
3331         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
3332         (s-genrtl): Don't depend on $(RTL_BASE_H).
3333         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
3334         or $(RTL_BASE_H); just rtl.def.
3335         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
3336         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
3337         substitute definition of NUM_RTX_CODE.  Add casts to avoid
3338         warnings.
3339         * machmode.h: Include insn-modes.h, not machmode.def.  Include
3340         mode-classes.def to define enum mode_class.  Tweak definitions
3341         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
3342         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
3343         (inner_mode_array): Renamed mode_inner.
3344         (mode_base_align): New.
3345         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
3346         mode_unit_size, mode_wider_mode, mode_mask_array,
3347         inner_mode_array, class_narrowest_mode): Delete definitions.
3348         * stor-layout.c (get_mode_alignment): Use mode_base_align.
3349         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
3350         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
3351
3352         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
3353         No need to define BITS_PER_UNIT.
3354
3355 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3356
3357         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
3358         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
3359         (ia64_initialize_trampoline): If not using GAS, declare trampoline
3360         as global.
3361         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
3362         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
3363
3364         * stor-layout.c (compute_record_mode): Don't force BLKmode if
3365         field is zero-length BLKmode.
3366         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
3367         zero-size references.
3368
3369         * combine.c (distribute_links): Properly test for REG being set.
3370
3371         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
3372         gen_lowpart and company except for REG.
3373
3374 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3375
3376         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
3377
3378 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
3379
3380         * config.gcc (mips*-*-netbsd*): Remove content-free line.
3381
3382 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3383
3384         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
3385         gcov_position_t and gcov_type.
3386
3387 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
3388
3389         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
3390         * configure: Regenerate.
3391
3392 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3393
3394         * config/h8300/h8300.md (define_asm_attributes): Specify
3395         the length of an asm insn more precisely.
3396
3397 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3398
3399         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
3400
3401 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
3402
3403         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
3404         FP register number to 48 and MAC16 accumulator to 0x210.
3405
3406 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3407
3408         * config.gcc: Remove redundant thread_file setting clauses for
3409         various *-*-linux* targets.
3410
3411 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3412
3413         * config/h8300/h8300.md (define_asm_attributes): New.
3414
3415 2003-10-09  Roger Sayle  <roger@eyesopen.com>
3416
3417         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
3418         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
3419
3420 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
3421
3422         * haifa-sched.c (ok_for_early_schedule): New function.
3423         (early_queue_to_ready): New function.
3424         (schedule_block): Allow early removal of insns from Q.
3425         (schedule_insn): Update INSN_TICK in case of premature
3426         issue.
3427         * common.opt (sched_stalled_insns): New flag.
3428         (sched_stalled_insns_dep): New flag.
3429         * flags.h: Same above flags.
3430         * opts.c: Same as above.
3431         * toplev.c: Same as above.
3432         * target.h (targetm.sched.is_costly_dependence): New
3433         hook.
3434         * target-def.h: Same as above.
3435         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
3436         Support new flag -msched-costly-dep.
3437         (DEFAULT_SCHED_COSTLY_DEP): Define.
3438         * config/rs6000/rs6000.c:
3439         (rs6000_is_costly_dependence): New function.
3440         (is_load_insn, is_store_insn): New functions.
3441         (is_load_insn1, is_store_insn1, is_mem_ref): New
3442         functions.
3443         * doc/invoke.texi (-fsched-stalled-insns-dep)
3444         (-fsched-stalled-insns, -msched-costly-dep): Document
3445         options.
3446         * doc/tm.texi (is_costly_dependence): Define new
3447         scheduler target hook.
3448
3449 2003-10-09  Jason Merrill  <jason@redhat.com>
3450
3451         PR c++/6392
3452         * c-common.c (c_build_qualified_type): Look through arrays first.
3453         (c_apply_type_quals_to_decl): Look through arrays.
3454
3455         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
3456         types with constructors.
3457
3458         * coverage.c (build_ctr_info_value): Use build_decl to make a
3459         VAR_DECL.
3460         (create_coverage): Likewise.
3461
3462         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
3463         here.
3464         (expand_asm_operands): Not here.
3465         (parse_input_constraint): No longer static.
3466         * tree.h: Declare it.
3467
3468 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3469
3470         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
3471         libgcc_s.so.
3472         (SHLIB_INSTALL): Likewise.
3473
3474 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3475
3476         * doc/install.texi: Remove reference to removed 'pthreads' thread
3477         option.
3478
3479 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
3480
3481         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
3482         operand 2.
3483
3484 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3485
3486         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
3487         up related case statements.
3488         * configure.in: Don't accept --enable-threads=pthreads,
3489         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
3490         supported thread files in case clause.
3491         * configure: Regenerate.
3492
3493 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
3494
3495         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
3496         definition to above SPARC_STACK_BOUNDARY_HACK.
3497
3498 2003-10-08  Jason Merrill  <jason@redhat.com>
3499
3500         * c-pretty-print.c (pp_c_postfix_expression)
3501         <COMPOUND_LITERAL_EXPR>: Fix thinko.
3502
3503 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3504
3505         * mklibgcc.in: Don't hide undefined or typeless symbols.
3506
3507 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3508
3509         PR optimization/12142
3510         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
3511         uses of the register in the SET_SRC.  Remove unnecessary argument.
3512         * pa.c (legitimize_pic_address): Before reload, use a scratch register
3513         for the intermediate result in loading the address of a SYMBOL_REF.
3514         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
3515         which loads the SYMBOL_REF address.
3516
3517 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
3518             Eric Botcazou  <ebotcazou@libertysurf.fr>
3519
3520         PR bootstrap/12490
3521         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
3522         to define the size of the extern_C_braces array.  Set it to 200.
3523         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
3524
3525 2003-10-08  Carlo Wood  <carlo@alinoe.com>
3526
3527         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
3528         a space after the -o option.  flex 2.5.31 understands both, with
3529         and without the space. Removed that space.
3530
3531 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
3532
3533         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
3534         (compute_frame_size): Initialize it.  Remove the .cprestore slot
3535         from args_size.
3536         (mips_output_function_prologue): Simplify accordingly.
3537         (mips_debugger_offset): Change the mips16 frame pointer offset from
3538         current_function_outgoing_args to cfun->machine->frame.args_size.
3539         (mips_initial_elimination_offset): Likewise.
3540         (mips_expand_prologue): Likewise.
3541         (mips_expand_epilogue): Likewise.
3542
3543 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
3544
3545         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
3546         (EXTRA_MEMORY_CONSTRAINT): Define.
3547         (CAN_ELIMINATE): Remove lwu workaround.
3548         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
3549         Use a 'W' constraint for the source operand.
3550
3551 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3552
3553         * genopinit.c (main): Output code to declare undefined
3554         variables.
3555
3556 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
3557
3558         * gengtype-lex.l: Remove -Wtraditional cruft.
3559         * Makefile.in (gengtype-lex.c): Likewise.
3560
3561 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3562
3563         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
3564
3565 2003-10-07  Jason Merrill  <jason@redhat.com>
3566
3567         PR c++/12519
3568         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
3569         it isn't a decl.
3570
3571 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
3572
3573         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
3574         not overridden.
3575         Fixes PR bootstrap/12173.
3576
3577 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
3578
3579         * errors.c: Don't include coretypes.h or tm.h.
3580         (trim_filename): Use IS_DIR_SEPARATOR.
3581         * Makefile.in: Update dependencies of errors.o and
3582         $(BUILD_PREFIX_1)errors.o.
3583
3584 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
3585
3586         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
3587         account when aligning arguments.
3588         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
3589         * defaults.h (STACK_POINTER_OFFSET): ... to here.
3590         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
3591         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
3592         (SPARC_STACK_BOUNDARY_HACK): Define.
3593         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
3594         arrange for vector parameters to varargs functions to be passed
3595         in both memory and GPRs when appropriate.
3596         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
3597         aligned.
3598
3599         * hooks.c (hook_bool_tree_true): New.
3600         (hook_rtx_tree_int_null): New.
3601         (hook_rtx_rtx_null): Use NULL, not 0.
3602         * hooks.h: Add 'extern' to everything.
3603         (hook_bool_tree_true): New.
3604         (hook_rtx_tree_int_null): New.
3605         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
3606         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
3607         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
3608         prototype.
3609         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
3610         (setup_incoming_varargs): Prototype.
3611         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
3612         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
3613         (TARGET_STRUCT_VALUE_RTX): Define.
3614         (TARGET_RETURN_IN_MEMORY): Define.
3615         (TARGET_SETUP_INCOMING_VARARGS): Define.
3616         (TARGET_STRICT_ARGUMENT_NAMING): Define.
3617         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
3618         (init_cumulative_args): Use rs6000_return_in_memory.
3619         (setup_incoming_varargs): Make 'static'.
3620         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
3621         (PROMOTE_FUNCTION_RETURN): Delete.
3622         (STRUCT_VALUE): Delete.
3623         (RETURN_IN_MEMORY): Delete.
3624         (SETUP_INCOMING_VARARGS): Delete.
3625
3626 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
3627
3628         * doc/invoke.texi (Warning Options): Simplify and clarify the
3629         descriptions of -Wnonnull and -Winit-self.
3630
3631 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
3632
3633         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
3634         indicees for floating-point conversersion libcalls.
3635
3636 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
3637
3638         * Makefile.in: Add more comments separating large conceptually
3639         separate sections.
3640
3641         * configure.in: Clean up thread file logic.
3642         * configure: Regenerate.
3643
3644 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
3645
3646         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
3647         (switch_to_section): Handle in_readonly_data.
3648         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
3649         readonly data.
3650
3651 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
3652
3653         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
3654         it.
3655         (cbranchne_decr1): New Thumb pattern.
3656         * arm.c (arm_addimm_operand): New insn predicate.
3657         * arm-protos.h: Add a prototype for it.
3658         * arm.h (PREDICATE_CODES): Add it.
3659
3660 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
3661
3662         * sched-int.h (sched_info): New field
3663         sched_max_insns_priority.
3664         * sched-rgn.c (init_ready_list): Add invocations to
3665         targetm.sched.adjust_priority.
3666         (sched_max_insns_priority): Init new field.
3667         * sched-ebb.c (sched_max_insns_priority): Init new field.
3668         * haifa-sched.c (set_priorities): Set
3669         sched_info->sched_max_insns_priority.
3670         * config/rs6000/rs6000.h:
3671         (rs6000_sched_restricted_insns_priority_str): Support new
3672         flag -mprioritize-restricted-insns.
3673         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
3674         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
3675         function.
3676         (rs6000_adjust_priority): Change priority of restricted
3677         insns, using above new function and new flag.
3678         * doc/invoke.texi (-mprioritize-restricted-insns): Document
3679         new option.
3680
3681 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
3682
3683         * expr.c (cmpstr_optab, cmpmem_optab): New.
3684         * genopinit.c: Initialize them.
3685         * optabs.h: Declare them.
3686         * optabs.c (init_optabs): Clear them.
3687         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
3688         block memory compare insns, not conditional chains.  Restructure
3689         the fallback generation of a call to memcmp/bcmp for better
3690         readability.
3691
3692 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3693
3694         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
3695         (mips_save_restore_fn): New typedef.
3696         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
3697         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
3698         (save_restore_insns): Remove, replacing with...
3699         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
3700         (mips_save_reg, mips_restore_reg): New function.
3701         (mips_expand_prologue, mips_expand_epilogue): Rework.
3702         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
3703         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
3704         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
3705
3706 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3707
3708         * config/mips/mips.c (mips_expand_prologue): Remove unused
3709         traversal of function arguments.
3710
3711 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3712
3713         * doc/invoke.texi: Remove documentation of -mentry.
3714         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
3715         (override_options, mips_save_reg_p): Remove handling.
3716         (compute_frame_size, mips_output_function_prologue): Likewise.
3717         (mips_expand_prologue, mips_expand_epilogue): Likewise.
3718         * config/mips/mips.h (mips_entry_string): Remove declaration.
3719         (TARGET_OPTIONS): Remove -mentry.
3720         * config/mips/mips16.S: Remove mention of -mentry.
3721
3722 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
3723
3724         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
3725         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
3726         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
3727         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
3728         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
3729         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
3730         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
3731         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
3732         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
3733         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
3734         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
3735         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
3736         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
3737         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
3738         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
3739         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
3740         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
3741         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
3742         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
3743         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
3744         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
3745         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
3746         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
3747         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
3748         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
3749         (fixunstfti_libfunc): Delete.
3750         * optabs.h (struct optab_handlers): Break out of struct optab.
3751         (struct convert_optab, convert_optab, enum convert_optab_index,
3752         convert_optab_table, sext_optab, zext_optab, trunc_optab,
3753         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
3754         sfloat_optab, ufloat_optab): New.
3755         (set_conv_libfunc): Prototype.
3756         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
3757         (trunc_optab): Renamed btrunc_optab.
3758         * builtins.c (expand_builtin_mathfn): Update to match.
3759         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
3760         (convert_optab_table, new_convert_optab, init_convert_optab)
3761         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
3762         (set_conv_libfunc): New.
3763         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
3764         (expand_float, expand_fix): Use new conversion optabs,
3765         not old insn code tables or long chains of ifs.
3766         (init_optabs): No need to clear old insn code tables.
3767         Initialize the new optabs, not the old libfunc array entries.
3768         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3769         * genopinit.c: Initialize conversion optabs, not the
3770         former insn code tables.  Remove unnecessary casts.
3771         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3772         * expr.c (convert_move): Remove redundant check that
3773         to_real==from_real.  Use the conversion optabs instead
3774         of long chains of tests of modes.  Move partial-integer-mode
3775         interconversion above all integer conversion.  Do not recurse
3776         on a value forced into a register in the original mode.
3777
3778         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
3779         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
3780         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
3781         in new conversion optabs; do not reference the old libfunc
3782         array entries.  No need to include libfuncs.h.
3783
3784 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3785
3786         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
3787         point comparison sequence with a REG_EQUAL note that describes
3788         the comparison's semantics.
3789
3790 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3791
3792         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
3793         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
3794
3795 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3796             Zack Weinberg  <zack@codesourcery.com>
3797
3798         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
3799         instruction by using LCT_CONST and then calling emit_libcall_block
3800         ourselves.
3801
3802 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3803
3804         PR optimization/11974
3805         * optabs.c (expand_unop): Promote libcall outmode according to
3806         hard_libcall_value.
3807
3808 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
3809
3810         * real.h (REAL_MODE_FORMAT): New macro.
3811         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
3812         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
3813         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
3814         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
3815         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
3816         directly to real_format_for_mode array, wherever possible.
3817
3818 2003-10-06  Devang Patel  <dpatel@apple.com>
3819
3820         * dwarf2out.c (is_main_source): Remove variable.
3821         (dwarf2out_start_source_file): Do not check is_main_source.
3822         Do not reset is_main_source.
3823         (dwarf2out_init): Do not initialize is_main_source.
3824
3825 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3826
3827         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
3828         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
3829         introduced some multi-line prototypes.
3830         * fixinc/fixincl.x: Regenerate.
3831
3832 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3833
3834         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
3835         * config/mips/mips.c (stack_operand): New predicate.
3836         * config/mips/mips.md: Use it for the destination of mips16 insns
3837         that store $31.
3838
3839 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3840
3841         * config/mips/mips.md (*lowsi): Renamed from lowsi.
3842         (*lowdi): Likewise lowdi.
3843         (*lowsi_mips16, *lowdi_mips16): New patterns.
3844         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
3845         mips16 CONSTANT_RELOC handling.
3846         (mips_delegitimize_address): Adjust for new sdata representation.
3847
3848 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3849
3850         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
3851         skip any remaining register arguments.
3852
3853 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3854
3855         * reload.c (find_reloads_subreg_address): Use correct offset for
3856         paradoxical MEM subregs on big-endian targets.
3857
3858 2003-10-06  Andrew Haley  <aph@redhat.com>
3859
3860         * tree.c (get_callee_fndecl): Call
3861         lang_hooks.lang_get_callee_fndecl.
3862         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
3863         (lhd_get_callee_fndecl): New.
3864
3865 2003-10-06  Andrew Pinski  <apinski@apple.com>
3866
3867         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3868         error in calculating the length of the string.
3869         (machopic_stub_name): Likewise.
3870
3871 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3872
3873         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
3874         describing the return value of the comparison libcall to the
3875         REG_RETVAL instruction of the emitted sequence.
3876
3877 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3878
3879         PR optimization/12215
3880         * cse.c (cse_set_around_loop): Emit the move at the beginning
3881         of the next basic block for trapping sets.
3882
3883 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3884
3885         PR optimization/11637
3886         * combine.c (adjust_for_new_dest): New function to adjust the
3887         notes and LOG_LINKS when the dest of an insn has changed.
3888         (try_combine): Use it when deleting the first insn of a two-insn
3889         parallel or splitting a two-load parallel.
3890
3891 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3892
3893         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
3894         if TARGET_EXPLICIT_RELOCS.
3895
3896 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
3897
3898         PR bootstrap/12512
3899         * Makefile.in (info): Use double-colon rules.
3900         (dvi): Likewise.
3901         (generated-manpages): Likewise.
3902         * configure.in: Do not create lang.info, lang.dvi, or
3903         lang.generated-manpages hooks.
3904         * configure: Regenerated.
3905         * objc/Make-lang.in (objc.info): Remove.
3906         (objc.dvi): Remove.
3907         (objc.generated-manpages): Remove.
3908         * doc/sourcebuild.texi: Update description of info, dvi, and
3909         generated-manpages hooks.
3910
3911 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3912
3913         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
3914
3915 2003-10-05  Andrew Pinski  <apinski@apple.com>
3916
3917         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3918         errors in memcpy destinations.
3919         (machopic_stub_name): Likewise.
3920
3921 2003-10-05  Andrew Pinski <apinski@apple.com>
3922
3923         * config/darwin.c (machopic_non_lazy_ptr_name):
3924         Change strcat to memcpy and add length together.
3925         (machopic_stub_name): Likewise.
3926
3927 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
3928
3929         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
3930         signal trampoline codes.
3931
3932 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
3933
3934         * config/mips/mips.md (*divsf3): Move description of
3935         SB-1 F2 erratum from here to...
3936         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
3937         flag_unsafe_math_optimizations is not.
3938
3939 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
3940
3941         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
3942         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
3943
3944 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3945
3946         * c-pretty-print.c: Fix comment typos.
3947         * c-pretty-print.h: Likewise.
3948         * calls.c: Likewise.
3949         * cfgloopmanip.c: Likewise.
3950         * cgraphunit.c: Likewise.
3951         * cppfiles.c: Likewise.
3952         * final.c: Likewise.
3953         * function.c: Likewise.
3954         * gcov-io.h: Likewise.
3955         * gcse.c: Likewise.
3956         * genoutput.c: Likewise.
3957         * loop.c: Likewise.
3958         * postreload.c: Likewise.
3959         * reg-stack.c: Likewise.
3960         * regmove.c: Likewise.
3961         * sched-int.h: Likewise.
3962         * sched-rgn.c: Likewise.
3963         * simplify-rtx.c: Likewise.
3964         * tree-inline.c: Likewise.
3965         * config/m68hc11/m68hc11.h: Likewise.
3966         * config/mmix/mmix.c: Likewise.
3967         * config/mn10300/mn10300.md: Likewise.
3968         * config/sh/sh.h: Likewise.
3969
3970 2003-10-05  Richard Henderson  <rth@redhat.com>
3971
3972         * tree-inline.c (remap_type): New.
3973         (remap_decl): Use it.  Remap DECL_SIZE*.
3974         (copy_body_r): Use it.
3975         (walk_tree): Walk TREE_TYPE too.
3976         (copy_tree_r): Don't walk subtrees of types.
3977         * tree.c (variably_modified_type_p): Restructure.  Consider integer
3978         types with non-const bounds variably modified.
3979
3980 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3981
3982         * doc/invoke.texi: Fix typos.
3983
3984 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3985
3986         * fold-const.c: Follow spelling conventions.
3987         * function.c: Likewise.
3988         * config/c4x/c4x.h: Likewise.
3989         * config/c4x/c4x.md: Likewise.
3990         * config/frv/frv.md: Likewise.
3991         * config/rs6000/aix.h: Likewise.
3992         * config/rs6000/linux64.h: Likewise.
3993         * config/xtensa/xtensa.c: Likewise.
3994
3995 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3996
3997         * c-pretty-print.c: Fix comment formatting.
3998         * cfglayout.c: Likewise.
3999         * cfgloopanal.c: Likewise.
4000         * cppcharset.c: Likewise.
4001         * dbxout.c: Likewise.
4002         * ggc-page.c: Likewise.
4003         * ggc.h: Likewise.
4004         * target.h: Likewise.
4005
4006 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
4007
4008         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
4009
4010 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
4011
4012         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
4013         Convert to ISO C90 function declarations and definitions.
4014
4015 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
4016
4017         * libfuncs.h
4018         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
4019         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
4020         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
4021         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
4022         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
4023         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
4024         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
4025         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
4026         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
4027         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
4028         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
4029         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
4030         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
4031         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
4032         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
4033         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
4034         Delete.
4035         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
4036         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
4037         (le_optab, unord_optab): New.
4038
4039         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
4040         from the code_to_optab table, not a giant switch; use
4041         swap_condition; do widening only if a comparison function that
4042         we can call exists in a wider mode, not if a cmp_optab insn or
4043         libfunc exists in a wider mode; call protect_from_queue
4044         exactly once on each operand.
4045         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
4046
4047         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
4048         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
4049         Set floating point comparison libfuncs using set_optab_libfunc
4050         on the appropriate optab.
4051
4052         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
4053         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
4054         selector conditionals.
4055
4056 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
4057
4058         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
4059         identical to m68hc12 as far as libraries are concerned.
4060
4061 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4062
4063         PR c/12446
4064         * c-typeck.c (convert_for_assignment): Issue an error for
4065         array to pointer assignment after default conversion.
4066         (digest_init): Likewise.
4067
4068 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
4069
4070         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
4071
4072 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
4073
4074         * doc/extend.texi (Function Attributes): Fix title of GNU C
4075         Preprocessor manual.
4076         (C++ Extensions): Fix reference to "Predefined Macros" in the
4077         GNU C Preprocessor manual.
4078
4079 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
4080
4081         * doc/extend.texi: Document how GCC estimates and relies on the size
4082         of an asm.
4083
4084 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
4085
4086         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
4087         arguments downward for big-endian o64.
4088
4089 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
4090
4091         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
4092         PCH generation, avoiding too-frequent flushes when writing to NFS
4093         file system.
4094
4095 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
4096
4097         * objc/objc-act.c (lookup_category): Mark as 'inline'.
4098
4099 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
4100             Ziemowit Laski  <zlaski@apple.com>
4101
4102         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
4103         New functions.
4104         (lookup_method_in_hash_lists): New parameter indicating whether
4105         we are messaging 'Class' or 'id'.
4106         (check_duplicates): Likewise; do not assume all methods will
4107         be either class or instance methods.
4108         (generate_category, finish_class): Use lookup_category().
4109         (add_method): Use add_method_to_hash_list(); insert instance
4110         methods of root classes into the global class method hash table.
4111         (add_category): Use lookup_category(); avoid constructing
4112         duplicate categories.
4113         (really_start_method): Add method to corresponding @interface,
4114         if not already there (and if the @interface exists).
4115         (finish_message_expr, finish_objc): Adjust calls to
4116         check_duplicates().
4117
4118 2003-10-03  Roger Sayle  <roger@eyesopen.com>
4119
4120         PR optimization/9325, PR java/6391
4121         * fold-const.c (fold_convert): For floating point to integer
4122         conversions, return the maximum/minimum representable integer
4123         value if the real constant overflows the destination type.
4124         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
4125         meaning don't truncate the result to a floating point mode.
4126         Simplify the logic by calling real_from_integer directly.
4127         * simplify-rtx.c (simplify_unary_operation):  Implement the
4128         same semantics for folding floating point to integer conversions
4129         in RTL.
4130
4131 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
4132
4133         * config/mips/mips.c (mips_emit_prefetch): Restructure
4134         to avoid use of arrays, handle indexed prefetch.
4135         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
4136         (ISA_HAS_PREFETCHX): New deffine.
4137         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
4138         update comments.
4139         (prefetch_indexed_di, prefetch_indexed_si): New insns.
4140
4141 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
4142             Roger Sayle  <roger@eyesopen.com>
4143
4144         PR optimization/12289
4145         * calls.c (emit_call_1): Pretend to have popped the arguments
4146         to noreturn and longjmp functions instead of ignoring them.
4147         (expand_call): Don't adjust stack_pointer_dela while
4148         inhibit_defer_pop is set.
4149
4150 2003-10-03  Andreas Schwab  <schwab@suse.de>
4151
4152         PR bootstrap/12276
4153         * configure.in: Check for libunwind on the host only if building
4154         a native compiler.
4155         * configure: Regenerated.
4156
4157 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
4158
4159         * unwind-pe.h (read_encoded_value_with_base): Constify u and
4160         its inizialization cast.
4161
4162 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
4163
4164         PR target/12485
4165         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
4166
4167 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
4168
4169         PR optimization/12180
4170         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
4171         functions containing calls to __builtin_next_arg.
4172
4173 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
4174
4175         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
4176         in instructions being output.
4177         * config/mips/mips.md (prefetch_si_address): Change third
4178         operand's constraint letter to 'I'.
4179         (prefetch_di_address): Likewise.
4180         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
4181
4182 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
4183
4184         * system.h: Poison macros obsoleted by earlier patch.
4185         * config/cris/cris.c: C90-ify a function definition.
4186
4187 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4188
4189         PR/12292
4190         * combine.c (make_field_assignment): Check whether rtx's code
4191         is CONST_INT before using INTVAL.
4192
4193 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4194
4195         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
4196         htab_find_slot_with_hash.
4197         (cgraph_node_for_identifier): Use NO_INSERT.
4198         (cgraph_remove_node): Use NO_INSERT.
4199         (cgraph_varpool_node): Use INSERT.
4200         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
4201
4202 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4203
4204         Waldek Hebisch <hebisch@math.uni.wroc.pl>
4205         PR/12072
4206         * varasm.c (compare_constant): Fix thinko.
4207
4208 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
4209
4210         * config/frv/frv.c (frv_issue_rate): New function.
4211         (frv_pack_insns): Use it.
4212         (TARGET_SCHED_ISSUE_RATE): Define.
4213
4214 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
4215
4216         * config/mcore/mcore.c: Convert to ISO C90 function declarations
4217         and definitions.
4218         * config/mcore/mcore.h: Likewise.
4219         * config/mcore/mcore-protos.h: Likewise.
4220
4221 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
4222
4223         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
4224         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
4225
4226 2003-10-01  Per Bothner  <pbothner@apple.com>
4227
4228         * c-lex.c (src_line):   Remove unneeded static variable.
4229         (cb_line_change):  Set input_line directly, instead of src_line.
4230         (get_non_padding_token):  We no longer need to compensate for the
4231         "horrible things" the C++ front-end does with the current line number,
4232
4233         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
4234         callback even when popping the main file.
4235         * c-lex.c (fe_file_change):  Handle a NULL new_map.
4236         * fix-header.c (cb_file_change):  Likewise.
4237         * c-ppoutput.c (pp_file_change):  Likewise.
4238
4239         * cppinit.c (cpp_read_main_file):  Split into two functions:
4240         Distribute _cpp_stack_file call over the two functions.
4241         (cpp_find_main_file):  New function.
4242         Don't call _cpp_do_file_change even if working_directory flag set.
4243         (cpp_push_main_file):  New function.
4244         * cppfiles.c (_cpp_find_failed):  New helper function.
4245         (find_file):  Made non-static and renamed to _cpp_find_file.
4246         (_cpp_stack_file):  No longer needed.  But note the following.
4247         (stack_file):  Made non-static and renamed to _cpp_stack_file.
4248         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
4249         call with calls to cpp_find_main_file and cpp_push_main_file.
4250         (search_path_head):  If there is no current buffer, use main_file.
4251         * cpphash.h:  Update function declarations.
4252         * cpplib.h:  Update function declarations.
4253
4254         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
4255         (c_common_parse_file):  No longer need to call cpp_read_main_file
4256         when file_index > 0 (as in multi-file or server compiation).
4257         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
4258         as this now happens before cpp_push_main_file.
4259         (push_command_line_include):  When done with options, pass LC_LEAVE
4260         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
4261         (fe_file_change):  Handle NULL new_map, and simplify.
4262         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
4263         08-28 change, since we're never called with a NULL buffer.
4264         (_cpp_lex_direct):  Likewise.
4265         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
4266         Return false if buffer is NULL at end.
4267
4268         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
4269         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
4270         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
4271         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
4272         remove the unused return_at_eof parameter.
4273         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
4274         Update callers of cpp_push_buffer.
4275
4276 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
4277
4278         * target.h (init_libfuncs): New hook.
4279         * target-def.h: Default TARGET_INIT_BUILTINS and
4280         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
4281         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
4282         * builtins.c (default_init_builtins): Delete.
4283         * expr.h (default_init_builtins): Delete prototype.
4284         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
4285         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
4286         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
4287         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
4288         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
4289         and UMODDI3_LIBCALL,
4290
4291         * Makefile.in (optabs.o): Depends on target.h.
4292         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
4293         * optabs.c: Include target.h.
4294         (prepare_float_lib_cmp): No need for #ifdef around use of
4295         FLOAT_LIB_COMPARE_RETURNS_BOOL.
4296         (set_optab_libfunc): New function.
4297         (init_optabs): Delete use of all *_LIBCALL defines.
4298         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
4299         * optabs.h: Prototype set_optab_libfunc.
4300
4301         * config.gcc: Remove all references to pa/long_double.h,
4302         ia64/hpux_longdouble.h, and gofast.h.
4303         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
4304         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
4305
4306         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
4307         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
4308         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
4309         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
4310         * config/sparc/sparc.c, config/vax/vax.c:
4311         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
4312         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
4313
4314         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
4315         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
4316         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
4317         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
4318         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
4319         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
4320         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
4321         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
4322         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
4323
4324         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
4325         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
4326         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
4327         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
4328         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
4329
4330         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
4331         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
4332         SUN_INTEGER_MULTIPLY_64 to 0.
4333         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
4334         SUN_INTEGER_MULTIPLY_64 to 1.
4335         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
4336         SUN_INTEGER_MULTIPLY_64 to 0.
4337         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
4338         Define US_SOFTWARE_GOFAST.
4339         * config/vax/vax.h: Default TARGET_ELF to 0.
4340         * config/vax/elf.h: Redefine TARGET_ELF to 1.
4341
4342         * config/gofast.h: Don't define any macros here.  Provide one
4343         static function, gofast_maybe_init_libfuncs, which does what
4344         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
4345         is already defined.  Do not clear negation libfuncs.  Do
4346         not mess with HFmode, XFmode, or TFmode libfuncs.
4347
4348         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
4349
4350 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
4351
4352         PR C/12466
4353         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
4354
4355 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4356
4357         * config/mips/xm-iris5.h: Remove, unnecessary.
4358         * config.build (mips-sgi-irix5*): Remove.
4359         (mips-sgi-irix6*o32): Likewise.
4360         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
4361         (mips-sgi-irix5cross64): Likewise.
4362         (mips-sgi-irix5*): Likewise.
4363         * config.host (mips-sgi-irix5*): Remove.
4364         (mips-sgi-irix6*o32): Likewise.
4365
4366 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
4367
4368         * dbxout.c (dbxout_fptype_value): Delete.
4369         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
4370
4371 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
4372
4373         * output.h (compute_reloc_for_constant): Declare.
4374         * varasm.c (compute_reloc_for_constant): Extract from...
4375         (output_addressed_constants): ... here.  Adjust all callers.
4376
4377 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4378
4379         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
4380         * configure: Rebuilt.
4381
4382 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4383
4384         * fold-const.c (make_range): When handling unsigned, don't reverse
4385         range if high bound is zero.
4386
4387 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
4388
4389         * config/frv/frv.h (PREDICATE_CODES): Added
4390         condexec_si_media_operator, condexec_sf_add_operator and
4391         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
4392         and condexec_sf_unary_operator.
4393
4394 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4395
4396         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
4397         * configure: Rebuilt.
4398
4399 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4400
4401         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
4402         Allow override.
4403         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
4404
4405 2003-09-23  David S. Miller  <davem@redhat.com>
4406
4407         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
4408         before redefining.
4409         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
4410
4411 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
4412
4413         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
4414         C90 function declarations and definitions.
4415
4416 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
4417
4418         * config.gcc (cris-*-linux*): Revert mistaken commit.
4419
4420 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
4421
4422         PR optimization/11753
4423         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
4424         the length in the non-V9 case.
4425
4426 2003-09-30  Richard Henderson  <rth@redhat.com>
4427
4428         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
4429         DWARF_ALT_FRAME_RETURN_COLUMN.
4430         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
4431         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
4432         (uw_frame_state_for): Return end-of-stack for null return address.
4433         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
4434
4435         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
4436         (alpha_expand_prologue): Store a zero for it.
4437         (alpha_expand_epilogue): Don't reload it.
4438         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
4439         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
4440         for the sigframe return address.
4441
4442 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
4443
4444         * sdbout.c: Convert to ISO C90 prototypes.
4445         * objc/objc-act.c: Likewise.
4446
4447 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
4448
4449         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
4450         * config/i386/winnt.c: Likewise.
4451         * config/i386/cygming.h: Likewise.
4452
4453 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
4454
4455         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
4456         (A ^ B) - B for any B.
4457
4458 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
4459
4460         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
4461         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
4462
4463 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
4464
4465         * arm/ieee754-sf.S: Tidy formatting.
4466
4467 2003-09-30  Nicolas Pitre  <nico@cam.org>
4468
4469         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
4470         and ARM_MOD_BODY.
4471         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
4472         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
4473         added better divisor alignment in the other case.
4474         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
4475         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
4476         macros above, add fast exits for divisor >= dividend, etc.
4477
4478 2003-09-30  Nicolas Pitre  <nico@cam.org>
4479
4480         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
4481         L_fixdfsi target.
4482         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
4483
4484 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
4485
4486         * config.gcc: Default use_fixproto to 'no'.
4487
4488 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
4489
4490         PR optimization/12345
4491         * config/mips/mips-protos.h (mips_restore_gp): Remove.
4492         (mips_gp_save_slot): Declare.
4493         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
4494         (mips_gp_save_slot): ...this new function.
4495         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
4496         and mips_output_move to generate the output template.
4497         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
4498         a gp load after a noreturn call.  Load the gp using a move rather
4499         than an exception_receiver pattern.
4500         (call_value_internal, call_value_multiple_internal): Likewise.
4501         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
4502
4503 2003-09-30  Carlo Wood  <carlo@alinoe.com>
4504
4505         PR debug/12319
4506         * cfglayout.c (insn_scope):  Use prologue_locator and
4507         epilogue_locator; return the outer function scope for
4508         pro- and epilogue insns.
4509
4510 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
4511
4512         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
4513         REAL_TYPEs based on the bitsize of the type's mode, not the
4514         mode directly.
4515
4516 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4517
4518         * dwarf2out.c (default_eh_frame_section): Split into ...
4519         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
4520         functions.
4521         * output.h (named_section_eh_frame_section): Declare.
4522         (collect2_eh_frame_section): Likewise.
4523
4524 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
4525
4526         * real.c (real_sqrt): Use get_canonical_qnan directly.
4527
4528         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
4529
4530         * varasm.c (assemble_real): Use real_to_target directly,
4531         calculate the number of significant elements of the result
4532         array and write them out in a loop, instead of using a giant
4533         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
4534         macro.
4535
4536 2003-09-29  Jan Hubicka  <jh@suse.cz>
4537
4538         PR c++/12175
4539         * varasm.c (notice_global_symbol): Discard external symbols.
4540
4541         PR optimization/12286
4542         * gcov-io.c (gcov_read_words): Fix memmove call.
4543         * profile.c (compute_branch_probabilities): Add extra sanity checks.
4544
4545 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4546
4547         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
4548         Solaris 7-9.
4549
4550         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
4551         wildcards which explicitly match micro versions.
4552         * fixinc/fixincl.x: Regenerate.
4553
4554 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4555
4556         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
4557         (A ^ B) - B, where B is any power of 2 minus 1.
4558
4559 2003-09-29  Jan Hubicka  <jh@suse.cz>
4560
4561         * libgcov.c (gcov_exit): Fix two pastos.
4562
4563 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4564
4565         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
4566         define_split immediately below to form define_insn_and_split.
4567
4568 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4569
4570         * config/h8300/h8300.md (*tstsi_variable_bit): New.
4571         (*tstsi_variable_bit_qi): Likewise.
4572
4573 2003-09-28  Phil Edwards  <phil@codesourcery.com>
4574
4575         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
4576         reference name.
4577
4578 2003-09-28  Richard Henderson  <rth@redhat.com>
4579
4580         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
4581         file and line separately.
4582
4583 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
4584
4585         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
4586         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
4587         "*subdi3_borrow_cconly"): New insns.
4588         ("*addsi3_sub", "*subsi3_sub"): Remove.
4589         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
4590         ("*subsi3_cc"): Fix op_type attribute.
4591
4592 2003-09-28  Richard Henderson  <rth@redhat.com>
4593
4594         * stmt.c (expand_asm_operands): Take a location_t, instead of
4595         individual file and line.
4596         * c-typeck.c (c_expand_asm_operands): Likewise.
4597         * tree.h (expand_asm_operands): Update decl.
4598         * c-common.h (c_expand_asm_operands): Likewise.
4599         * c-semantics (genrtl_asm_stmt): Update call.
4600
4601 2003-09-28  Philip Blundell  <philb@gnu.org>
4602
4603         * config/arm/arm.c (legitimize_pic_address): Check
4604         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
4605         (arm_assemble_integer): Likewise.
4606
4607 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
4608
4609         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
4610         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
4611         config/c4x/c4x.h:
4612         Convert to ISO C90 function declarations and definitions.
4613
4614 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
4615
4616         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
4617         Convert to ISO C90 function declarations and definitions.
4618
4619 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4620
4621         * config/mips/mips.c (mips_constant_info): Add reloc field.
4622         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
4623         underlying symbol, not to an unspec.
4624         (mips_delegitimize_address, print_operand): Clean up accordingly.
4625
4626 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4627
4628         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
4629         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
4630         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
4631         (mips_classify_constant): Use it.
4632         (mips_splittable_symbol_p): Add an offset argument.
4633         (mips_classify_address): Adjust call accordingly.
4634         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
4635         than a relocation unspec.  Update call to mips_splittable_symbol_p.
4636         Generalize the code that copes with symbols + invalid offsets.
4637         (print_operand): Allow '%R' to be applied to small data addresses.
4638         (mips_reloc_string): Remove RELOC_GPREL16.
4639         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
4640         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
4641         relocation operators.
4642         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
4643         constants accordingly.
4644
4645 2003-09-27  Roger Sayle  <roger@eyesopen.com>
4646
4647         * toplev.c (flag_evaluation_order): New global variable.
4648         * flags.h (flag_evaluation_order): Prototype here.
4649         * expr.c (expand_operands): If we need to preserve observable
4650         evaluation order, protect exp1 from clobbering exp0's result.
4651
4652 2003-09-28  Andreas Jaeger  <aj@suse.de>
4653
4654         * c-decl.c (finish_function): Convert definition to ISO C90.
4655         * ifcvt.c (mark_loop_exit_edges): Likewise.
4656         * ra-rewrite.c (emit_colors): Likewise.
4657
4658 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
4659
4660         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
4661         * config.gcc (arm*-*-uclinux*): Disable fixproto.
4662         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
4663         powerpc-*-eabialtivec*): Disable fixproto.
4664
4665 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
4666
4667         PR optimization/12340
4668         * loop.h (struct induction): Document the new semantics
4669         of the 'same' field for bivs.
4670         * unroll.c (biv_total_increment): Don't count the same
4671         biv increment several times.
4672         (loop_iterations) [GENERAL_INDUCT]: Likewise.
4673
4674 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
4675
4676         * unroll.c (loop_interations)[GT]: Add missing break.
4677
4678 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
4679
4680         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
4681         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
4682         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
4683         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
4684         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
4685         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
4686         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
4687         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
4688         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
4689         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
4690         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
4691         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
4692         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
4693         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
4694         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
4695         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
4696         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
4697         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
4698         config/alpha/xm-vms.h, config/arc/arc-modes.def,
4699         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
4700         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
4701         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4702         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
4703         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
4704         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
4705         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
4706         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
4707         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4708         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
4709         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
4710         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
4711         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
4712         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
4713         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
4714         config/i960/i960-c.c, config/i960/i960-coff.h,
4715         config/i960/i960-modes.def, config/i960/i960-protos.h,
4716         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
4717         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
4718         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
4719         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
4720         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4721         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
4722         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
4723         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
4724         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
4725         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
4726         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
4727         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
4728         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4729         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
4730         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
4731         config/mcore/mcore-protos.h, config/mcore/mcore.c,
4732         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
4733         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
4734         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
4735         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
4736         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
4737         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
4738         config/mips/vr.h, config/mn10300/linux.h,
4739         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
4740         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
4741         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
4742         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
4743         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
4744         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
4745         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
4746         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
4747         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
4748         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
4749         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
4750         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
4751         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
4752         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
4753         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
4754         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
4755         fixinc/fixinc.svr4: GNU CC -> GCC.
4756
4757 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
4758
4759         * objc/objc-act.c (tm_p.h): Tweak order.
4760         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
4761
4762 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
4763
4764         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
4765         Include t-slibgcc-elf-ver and t-linux in tmake_file.
4766         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
4767         Disable fixproto.
4768         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
4769         Disable fixproto.
4770         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
4771         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
4772
4773         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
4774
4775 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
4776
4777         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
4778         * objc/objc-act.c (tm_p.h): Include.
4779
4780 2003-09-26  Per Bothner  <pbothner@apple.com>
4781
4782         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
4783         No longer any need to reverse by recursion.
4784
4785 2003-09-26  Roger Sayle  <roger@eyesopen.com>
4786             Richard Henderson  <rth@redhat.com>
4787
4788         PR optimization/11741
4789         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
4790         appropriate set to match that in hash_scan_insn.  Fall back to
4791         the original copy method, if we can't validate changing insn.
4792         (pre_delete): Only delete instructions that have a single_set,
4793         instead of aborting when we encounter an PARALLEL insn with more
4794         then one SET.
4795
4796 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
4797
4798         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
4799         ("builtin_longjmp"): Insn deleted.
4800         ("save_stack_nonlocal"): Save literal pool base pointer behind
4801         backchain and stack pointer.
4802         ("restore_stack_nonlocal"): Restore literal pool base pointer.
4803         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
4804         the stack save area for the nonlocal goto case.
4805
4806 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4807
4808         PR bootstrap/12358
4809         * pa.c (output_bvb): Fix typo.
4810
4811 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4812
4813         * expmed.c (store_bit_field): Don't search for an integer mode
4814         unless we need the result.
4815
4816 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4817
4818         * expr.c (emit_move_insn_1): If there is no move pattern for the
4819         original mode, try using a pattern for the corresponding integer mode.
4820
4821 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4822
4823         PR middle-end/9200
4824         * combine.c (if_then_else_cond): Tighten mode check.
4825
4826 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4827
4828         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
4829         'struct _cpp_strbuf'.
4830
4831         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4832         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
4833         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
4834         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
4835         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
4836         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
4837         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
4838         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
4839         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
4840         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
4841         * config/i386/i386-aout.h, config/i386/i386-coff.h,
4842         config/i386/i386-interix.h, config/i386/i386-interix3.h,
4843         config/i386/i386-modes.def, config/i386/i386-protos.h,
4844         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
4845         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
4846         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
4847         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
4848         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
4849         "GNU compiler" -> GCC.
4850         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
4851         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
4852         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
4853         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
4854         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4855         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
4856
4857 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
4858
4859         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
4860         "local" to the callgraph dump.  Output "after inlining" earlier.
4861         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
4862         callgraph dumps.  Correct misspellings.
4863         (cgraph_decide_inlining):  Output number of insns before inlining.
4864         Output the calling function into which a function is inlined.
4865         (cgraph_decide_small_functions): Format dump file like always_inline.
4866
4867 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
4868
4869         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
4870
4871 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4872
4873         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
4874         FPR slots in the save area.
4875         (s390_emit_epilogue): Likewise.
4876
4877 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4878
4879         * cgraph.h (cgraph_remove_edge): Declare.
4880         * cgraph.c (cgraph_remove_edge): Make extern.
4881         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
4882         instead of cgraph_remove_call.
4883
4884 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4885
4886         * objc/objc-act.c (gen_declaration_1): Fix printf format.
4887
4888 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
4889
4890         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
4891         arm7tdmi core.
4892
4893 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4894
4895         * config/darwin-protos.h (objc_image_info_section):
4896         New prototype.
4897
4898 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4899
4900         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
4901
4902 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4903
4904         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
4905         tsc701 as a --with-cpu, --with-tune setting for sparc.
4906
4907 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4908
4909         * c-parse.in (objc_try_stmt): Do not specify a %type.
4910
4911 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4912
4913         * config.gcc: New 'widely ported system' clause for rtems.
4914         Set thread file there, not in individual clauses.
4915
4916 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4917
4918         PR target/6222
4919         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
4920         passed on the stack.
4921
4922 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4923
4924         * config.gcc (widely ported systems section): Mostly alphabetize
4925         by system.  Comment the case where we can't.
4926         * config.gcc (widely ported systems section): Reindent and clean up.
4927
4928         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
4929         Actually allow ep9312 as an arm --with-arch setting.
4930
4931         * config.gcc (*-hpux11): Disable fixproto.
4932
4933 2003-09-24  Phil Edwards  <phil@codesourcery.com>
4934
4935         PR pch/12112
4936         * gcc/cppfiles.c (pch_open_file): Return based on combined
4937         result of all files.
4938         (validate_pch): Return validate flag for current file.
4939
4940 2003-09-24  Roger Sayle  <roger@eyesopen.com>
4941
4942         PR bootstrap/12358
4943         * fold-const.c (tree_swap_operands_p): Only reorder operands when
4944         one of the operands is constant.
4945
4946 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
4947
4948         MERGE OF objc-improvements-branch into MAINLINE:
4949         * Makefile.in (C_OBJS): Add in stub-objc.o.
4950         (c-parse.y): Change sed demarcations to begin with '@@'.
4951         (stub-objc.o): New rule.
4952         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4953         flag_replace_objc_classes): New flags.
4954         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
4955         RID_AT_SYNCHRONIZED): New keywords.
4956         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4957         flag_replace_objc_classes): New flags.
4958         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
4959         objc_comptypes, objc_message_selector, lookup_objc_ivar,
4960         get_current_scope, objc_mark_locals_volatile): New prototypes,
4961         some moved from c-tree.h.
4962         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
4963         (finish_decl): Adjust where objc_check_decl() gets called.
4964         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
4965         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
4966         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
4967         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
4968         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
4969         '@@end_ifc', respectively.
4970         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
4971         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
4972         objc_finally_block): New rules.
4973         (component_decl_list2): Clean up semantic action for @defs construct.
4974         (component_decl, c99_block_start): Remove call to add_objc_decls().
4975         (poplevel): Add call to objc_clear_super_receiver().
4976         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
4977         constructs.
4978         (classdef, methodprotolist): Clean up/simplify.
4979         (methodprotolist2): Eliminate.
4980         (methodproto): Call add_method() instead of add_class_method() and
4981         add_instance_method().
4982         (receiver): Add TYPENAME production.
4983         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
4984         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
4985         AT_SYNCHRONIZED.
4986         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
4987         objc_comptypes, objc_message_selector)
4988         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
4989         struct and pointer types.
4990         (build_c_cast): Do not discard ObjC protocol qualifiers.
4991         (convert_for_assignment): Cache result of comp_target_types() instead
4992         of calling it more than once.
4993         * c.opt (fnext-runtime): Update description string.
4994         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
4995         New ObjC/ObjC++-specific flags.
4996         * function.h (GCC_FUNCTION_H): Header guard.
4997         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
4998         * stub-objc.c: New file, to be used to satisfy references to ObjC
4999         functions by the C and C++ front-ends.
5000         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
5001         * config/darwin.h (FUNCTION): Add in_objc_image_info.
5002         (SECTION_FUNCTION): Add objc_image_info_section.
5003         * doc/invoke.texi: Link to GCC web site for Objective-C information.
5004         (-fconstant-string-class): Update documentation.
5005         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
5006         -fzero-link): New documentation.
5007         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
5008         with '@@'.
5009         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
5010         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
5011         throughout; provide casts for return values from memory allocation
5012         functions (xmalloc, alloca, ggc_alloc, etc.).
5013         (OBJC_VOID_AT_END): New macro.
5014         (rtl.h): Do not #include any more.
5015         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
5016         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
5017         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
5018         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
5019         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
5020         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
5021         val_stack_pop): New.
5022         (objc_check_decl): Fix precondition for error message, along with
5023         the message itself.
5024         (lookup_and_install_protocols): Remove nonexistent protocols from
5025         protocol list instead of returning error_mark_node.
5026         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
5027         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
5028         (synth_module_prologue): General clean-up; construct NeXT-specific
5029         runtime API prototypes if needed.
5030         (build_string_class_template): Remove.
5031         (check_string_class_template, string_layout_checked): New.
5032         (build_objc_string_object): Generalize to work with
5033         -fconstant-string-class.
5034         (build_objc_symtab_template): Fix layout for the NeXT runtime.
5035         (build_metadata_decl): New.
5036         (forward_declare_categories): Call build_metadata_decl() instead of
5037         create_builtin_decl() et al.
5038         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
5039         void_list_node_1.
5040         (build_selector_reference_decl, build_class_reference_decl,
5041         build_objc_string_decl): Do not set TREE_READONLY.
5042         (get_proto_encoding): Do not call hack_method_prototype().
5043         (get_class_reference): Add failure mode for invalid class names;
5044         support -fzero-link; defer if in an ObjC++ template declaration.
5045         (objc_declare_alias, objc_declare_class): Fix up duplicate name
5046         lookup; check for global scope if in ObjC++.
5047         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
5048         RECORD_TYPE, IDENTIFIER_NODE, etc.)
5049         (objc_is_id): Removed.
5050         (objc_is_object_ptr): New function.
5051         (get_class_ivars_from_name): New function, used for @defs construct.
5052         (get_class_ivars): Add option to return raw ivars; create a
5053         ClASS_OWN_IVARS list for each class as needed.
5054         (objc_enter_block, objc_exit_block, objc_declare_variable,
5055         objc_build_throw_stmt, val_stack_push, val_stack_pop,
5056         objc_build_try_enter_fragment, objc_build_extract_expr,
5057         objc_build_try_exit_fragment, objc_build_extract_fragment,
5058         objc_build_try_prologue, objc_build_try_epilogue,
5059         objc_build_catch_stmt, objc_build_catch_epilogue,
5060         objc_build_finally_prologue, objc_build_finally_epilogue,
5061         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
5062         objc_build_synchronized_epilogue, build_objc_exception_stuff):
5063         New functions.
5064         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
5065         the future).
5066         (build_private_template): Fix up calls to get_class_ivars().
5067         (offset_is_register, forwarding_offset): Remove.
5068         (objc_method_parm_type, objc_encoded_type_size): New functions.
5069         (encode_method_prototype): Simplify to no longer depend on
5070         back-end information.
5071         (build_tmp_function_decl_xxx, build_tmp_function_decl,
5072         hack_method_prototype): Removed.
5073         (generate_protocol_references): Remove calls to
5074         build_tmp_function_decl().
5075         (generate_protocols): Adjust calls to encode_method_prototype().
5076         (build_class_template): Generate sel_id' and 'gc_object_type' fields
5077         for the NeXT runtime.
5078         (synth_forward_declarations): Call build_metadata_decl().
5079         (check_ivars): Check that the number of ivars matches also.
5080         (build_super_template): Modify super_type directly; disable debugging
5081         output while generating decl.
5082         (build_ivar_list_initializer): Skip list elements that are not
5083         FIELD_DECLs.
5084         (ivar_list_length): New function.
5085         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
5086         and encode_method_prototype() instead of encode_method_def().
5087         (build_shared_structure_initializer): Generate 'sel_id' field for
5088         the NeXT runtime.
5089         (generate_category): Do not set TREE_USED.
5090         (build_keyword_selector): Ditto; transform into a function argument
5091         chain.
5092         (get_arg_type_list): If there are no user-specified arguments, use
5093         '...'; use OBJC_VOID_AT_END.
5094         (check_duplicates): Add a parameter indicating whether methods or
5095         selectors are being checked.
5096         (receiver_is_class_object): Add parameters indicating whether
5097         receiver is 'self' or 'super'; robustify.
5098         (build_message_expr): Defer call to finish_message_expr() if
5099         inside an ObjC++ template.
5100         (lookup_method_in_hash_lists): New function.
5101         (finish_message_expr): Complete rewrite/fix.
5102         (build_objc_method_call): Ditto; factor out commonalities between
5103         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
5104         messenger variants on the NeXT.
5105         (lookup_instance_method_static, lookup_class_method_static):
5106         Fold into a single lookup_method_static() function with an
5107         additional parameter.
5108         (add_class_method, add_instance_method): Fold into a single
5109         add_method() function with an additional parameter.
5110         (add_category): Make duplicate categories a hard error in ObjC++.
5111         (add_instance_variable): Properly handle unnamed ivars, arrays of
5112         zero or no size and bitfields.  In ObjC++, check for nontrivial
5113         C++ class instances.
5114         (is_public): Allow C functions to access non-@public ivars, with
5115         a warning.
5116         (start_class): Move common initializations to
5117         synth_module_prologue(); check for global scope if in ObjC++.
5118         (continue_class): Fix calls to finish_struct().
5119         (objc_declare_protocols, start_protocol): Check for global scope
5120         if in ObjC++.
5121         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
5122         (encode_aggregate_within): Rewrite to properly distinguish
5123         struct tags from typedefs in both ObjC and ObjC++.
5124         (encode_bitfield, encode_complete_bitfield): Remove.
5125         (encode_next_bitfield, encode_gnu_bitfield): New functions.
5126         (encode_field_decl): Call encode_next_bitfield() or
5127         encode_gnu_bitfield() as needed.
5128         (synth_self_and_ucmd_args): New function.
5129         (start_method_def): Use it.
5130         (objc_types_are_equivalent): New function.
5131         (comp_proto_with_proto): Use it instead of comptypes(), since
5132         we need symmetry.
5133         (really_start_method): Use lookup_method_static() instead of
5134         lookup_class_method_static() and lookup_instance_method_static();
5135         Emit 'extern "C"' if in ObjC++ mode.
5136         (add_objc_decls): Removed.
5137         (UOBJC_SUPER_scope): New variable.
5138         (get_super_receiver): Move construction of 'super' from
5139         add_objc_decls(); remove dependency on struct objc_class.
5140         (encode_method_def): Removed; encode_method_prototype() is
5141         used instead.
5142         (objc_clear_super_receiver): New function.
5143         (objc_expand_function_end): Do not do anything for ordinary
5144         C functions.
5145         (finish_method_def): Mark ObjC methods as un-inlinable.
5146         (gen_declaration_1): Emit widths of bitfields.
5147         (finish_objc): Call generate_objc_image_info() if needed;
5148         use check_duplicates() when checking for selector duplicates.
5149         (generate_objc_image_info): New function.
5150         * objc/objc-act.h (add_instance_method, add_class_method,
5151         get_class_ivars): Remove prototypes.
5152         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
5153         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
5154         objc_build_catch_stmt, objc_build_catch_epilogue,
5155         objc_build_finally_prologue, objc_build_finally_epilogue,
5156         add_method, get_class_ivars_from_name): New prototypes.
5157         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
5158         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
5159         TRANSLATION_UNIT_DECLs.
5160         (OBJC_TYPE_NAME): New.
5161         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
5162         got included.
5163         (IS_SUPER): Robustify.
5164         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
5165         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
5166         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
5167         objc_exception_match_decl, objc_exception_throw_decl,
5168         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
5169         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
5170         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
5171         objc_catch_type): New ObjC/ObjC++ roots.
5172         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
5173         ObjC/ObjC++ tree node codes.
5174
5175 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
5176
5177         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
5178         code path that calls a handler.
5179
5180 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5181
5182         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
5183         Disable fixproto.
5184
5185         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
5186         the section giving $with_cpu defaults by target.
5187
5188         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
5189         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
5190         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
5191         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
5192         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
5193         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
5194
5195 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
5196
5197         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
5198         together.  Protect load string instruction with TARGET_STRING.
5199         (movti_string): Collapse case 1 and 2 together.
5200
5201 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5202
5203         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
5204
5205 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
5206
5207         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
5208         do...while(0)
5209
5210 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5211
5212         * config.gcc: Move use_fixproto=no from generic vxworks clause to
5213         specific one.
5214
5215         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
5216         (accidentally missed in last pass).
5217
5218 2003-09-23  Andrew Pinski  <apinski@apple.com>
5219
5220         PR bootstrap/12383
5221         * configure: Regenerate.
5222
5223 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5224
5225         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
5226         missed in last pass).
5227
5228 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
5229
5230         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
5231         constant.
5232
5233 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5234
5235         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
5236
5237         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
5238         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
5239         powerpcle-*-eabi*): Disable fixproto.
5240
5241         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
5242         specific FreeBSD clauses.
5243         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
5244         specific NetBSD clauses.
5245         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
5246         to specific OpenBSD clauses.
5247
5248 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5249
5250         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
5251         without adding a frame note.
5252         * pa.md (allocate_stack): Save pic register in new frame marker when
5253         generating pic code.
5254
5255 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
5256
5257         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
5258         cgraph_expand_functions.
5259
5260 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5261
5262         * Makefile.in (gnucompare*): Merge into ...
5263         (slowcompare*): ... here.
5264         (fastcompare*): New targets.
5265         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
5266         other "fast" cmp programs.
5267         * configure: Regenerate.
5268
5269 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5270
5271         * targhooks.c: Include output.h.
5272         * Makefile.in (targhooks.o): Add output.h to dependency list.
5273
5274 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5275
5276         * config.host: Removed superfluous newline.
5277
5278 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5279
5280         * config.gcc: Use ${target}, not $machine.
5281         * configure.in: Don't set $machine.
5282         * configure: Regenerate.
5283
5284 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
5285
5286         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
5287
5288         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
5289         pass zero-size arrays by reference.
5290         (rs6000_va_arg): Likewise.
5291
5292 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5293
5294         * config.gcc: Set use_fixproto=no in each specific *-gnu*
5295         configuration, rather than the generic one.
5296
5297 2003-09-23  Richard Henderson  <rth@redhat.com>
5298
5299         * tree-inline.c (remap_save_expr): Map new save_expr to identity
5300         rather than to error_mark_node.
5301
5302 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5303
5304         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
5305         Update description.
5306         * configure: Regenerate.
5307         * config.in: Likewise.
5308         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
5309         HAVE_GAS_SHF_MERGE value.
5310         * varasm.c (mergeable_string_section): Likewise.
5311         (mergeable_constant_section): Likewise.
5312
5313 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5314
5315         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
5316         value.
5317
5318 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5319
5320         * target.h (struct gcc_target): New member external_libcall.
5321         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
5322         (TARGET_ASM_OUT): Use it.
5323         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
5324         * targhooks.c: Convert to ISO C 90.
5325         (default_external_libcall): New function.
5326         * targhooks.h (default_external_libcall): Declare.
5327         * varasm.c (assemble_external_libcall): Use
5328         targetm.asm_out.external_libcall instead of
5329         ASM_OUTPUT_EXTERNAL_LIBCALL.
5330         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
5331         (mips_output_external_libcall): Declare.
5332         * config/mips/mips.c (mips_output_external_libcall): Change
5333         definition guard.
5334         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
5335         Only operate for O32 ABI.
5336         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
5337         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
5338         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
5339         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
5340
5341 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
5342
5343         * config.gcc: Do per-target disabling of fixproto here in clauses,
5344         not in t- fragments.
5345         * configure.in: Adjust to set STMP_FIXPROTO correctly.
5346         * configure: Regenerate.
5347         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
5348         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
5349         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
5350         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
5351         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
5352         t-interix, t-linux-aout:  Delete files consisting only of
5353         setting of STMP_FIXPROTO.
5354
5355         * config.host: Allow unknown hosts (not targets).  Allow
5356         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
5357         empty clauses.  Remove useless obsolete-configuration clause.
5358         Prune unsupported configuration list.  Collapse identical
5359         clauses for closely related systems.  Rewrite comment for
5360         unsupported hosts list.  Reorganize a little.
5361
5362 2003-09-22  Richard Henderson  <rth@redhat.com>
5363
5364         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
5365         not precision.
5366
5367 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
5368             Hartmut Penner  <hpenner@de.ibm.com>
5369             Segher Boessenkool  <boessen@de.ibm.com>
5370
5371         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
5372         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
5373         (rs6000_split_altivec_in_gprs): Rename to ...
5374         (rs6000_split_multireg_move): Add support for update addressing.
5375         * config/rs6000/rs6000-protos.h: Same.
5376         * config/rs6000/altivec.md: Same.
5377         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
5378         multiple GPRs.
5379         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
5380         (movti_power): Use new splitter for multiple GPRs.
5381         (movti_string): Same.
5382         (movti_ppc64): Same.
5383
5384 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
5385
5386         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
5387         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
5388
5389 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
5390
5391         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
5392         (andsi3): Set attr cc to set_zn when using shifts or adds.
5393
5394 2003-09-22  Bernardo Innocenti <bernie@develer.com>
5395
5396         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
5397
5398 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
5399
5400         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
5401         Resurrect -mrtd option.
5402
5403 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
5404
5405         PR target/12281
5406         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
5407         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
5408
5409 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
5410
5411         PR target/9786
5412         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
5413         after potential deletion of trapping insn. Avoids later ICE
5414         from call to fixup_abnormal_edges.
5415         (convert_regs_2): Stack the current block successors before
5416         processing this block, that is, before the potential deletion of
5417         dead edges by convert_regs_1, because these edges have been used
5418         to initialize the predecessors count.
5419
5420 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
5421
5422         * real.c: Fix several nits in the head comment.
5423
5424 2003-09-21  Richard Henderson  <rth@redhat.com>
5425
5426         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
5427         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
5428         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
5429         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
5430         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
5431
5432 2003-09-21  Richard Henderson  <rth@redhat.com>
5433
5434         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
5435         (TREE_FILENAME, TREE_LINENO): Likewise.
5436         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
5437         (TREE_LOCUS_SET_P): New.
5438         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
5439         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
5440         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
5441         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
5442         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
5443
5444 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
5445
5446         * config/vax/vax-protos.h: Convert to ISO C90.
5447         * config/vax/vax.c: Convert to ISO C90.
5448
5449 2003-09-21  Graham Stott  <grahams@btinternet.com>
5450
5451        PR target/12353
5452        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
5453
5454 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
5455
5456         PR target/12301
5457         * reorg.c (stop_search_p): Return 1 for insns that can
5458         throw internally.
5459
5460 2003-09-20  Richard Henderson  <rth@redhat.com>
5461
5462         * c-format.c (gcc_diag_char_table): Add %J.
5463         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
5464         (check_format_types): Fix wanted_type name lookup.
5465         (init_dynamic_diag_info): Setup %J.
5466         * diagnostic.c (text_specifies_location): Implement %J.
5467         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
5468         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
5469         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
5470         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
5471         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
5472
5473         * tree-inline.c: Include intl.h
5474         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
5475         * Makefile.in (tree-inline.o): Update.
5476
5477 2003-09-20  Roger Sayle  <roger@eyesopen.com>
5478
5479         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
5480         transformation of a>=0 into (unsigned)a<0x80000000.
5481
5482 2003-09-20  Andrew Pinski <apinski@apple.com>
5483
5484         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
5485
5486 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
5487
5488         * Makefile.in: Don't set (unused) DLLTOOL.
5489
5490         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
5491         Remove obsolete references to ENQUIRE.
5492
5493 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5494
5495         * configure.in: Remove --with-elf, which doesn't work.
5496         * configure: Regenerate.
5497         * config.gcc: Remove references to $elf, which does nothing.
5498
5499         * config/i386/xm-vsta.h: Remove xm-file believed useless.
5500         * config.build (i386-vsta): Remove reference to it.
5501         * config.host (i386-vsta): Remove reference to it.
5502
5503 2003-09-19  Phil Edwards  <phil@codesourcery.com>
5504
5505         * doc/install.texi:  Document the multiple testsuite options.
5506
5507 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
5508
5509         * doc/install.texi (Specific): Add the specific versions of GCC
5510         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
5511         version 3 and older was discontinued.
5512
5513 2003-09-19      Joel Sherrill <joel@oarcorp.com>
5514
5515         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
5516         68881.
5517
5518 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
5519
5520         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
5521         for -m68030, -m68020-60 and -m68020-40.
5522         * config/m68k/m68k.h (TARGET_68030): New target flag.
5523         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
5524         TARGET_REGPARM): Remove.
5525         * config/m68k/m68k.h: Regroup and renumber target flags.
5526         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
5527         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
5528         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
5529         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
5530         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
5531
5532 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5533
5534         * config/m68k/t-rtems (m68k-*-rtems*): New.
5535         * config.gcc: Use config/m68k/t-rtems.
5536
5537 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5538
5539         * config/mips/t-rtems: New.
5540         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
5541
5542 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
5543
5544         * cgraph.c: Fix typo in debugging output.
5545
5546 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
5547             Eric Botcazou <ebotcazou@libertysurf.fr>
5548
5549         PR target/12166
5550         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
5551
5552 2003-09-18  Mike Stump  <mrs@apple.com>
5553
5554         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
5555         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
5556         cb_ident, cb_def_pragma):  Use fileline typedef.
5557         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
5558
5559 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
5560
5561         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
5562         total parm size if a parm has incomplete type.
5563         (gen_fastcall_suffix): Likewise.
5564
5565 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5566
5567         * except.c (output_function_exception_table): Adjust last change
5568         to handle TYPE of INTEGER_CST.
5569
5570 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
5571
5572         PR target/11184
5573         * builtins.c (expand_builtin_apply): Use convert_memory_address
5574         before returning the value.
5575
5576         * alias.c (find_base_value): Simplify use of
5577         convert_memory_address.
5578         (find_base_term): Likewise.
5579         * builtins.c (expand_builtin_stejmp_setup): Likewise.
5580         (expand_builtin_longjmp): Likewise.
5581         (expand_builtin_prefetch): Likewise.
5582         (get_memory_rtx): Likewise.
5583         (expand_builtin_return): Likewise.
5584         (expand_builtin_memcpy): Likewise.
5585         (expand_builtin_strncpy): Likewise.
5586         (expand_builtin_memset): Likewise.
5587         (expand_builtin_va_arg): Likewise.
5588         (expand_builtin_va_copy): Likewise.
5589         (expand_builtin_alloca): Likewise.
5590         * calls.c (expand_call): Likewise.
5591         * except.c (expand_builtin_extract_return_addr): Likewise.
5592         (expand_builtin_eh_return): Likewise.
5593         * explow.c (convert_memory_address): Define even when
5594         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
5595         is already in the right mode.
5596         * explow.c (memory_address): Simplify use of convert_memory_address.
5597         (probe_stack_range): Likewise.
5598         * expmed.c (make_tree): Likewise.
5599         * expr.c (emit_block_move_in_libcall): Likewise.
5600         (expand_assignment): Likewise.
5601         (expand_expr): Likewise.
5602         * function.c (assign_parms): Likewise.
5603         (expand_function_end): Likewise.
5604         * integrate.c (copy_rtx_and_substitute): Likewise.
5605         * stmt.c (expand_computed_goto): Likewise.
5606
5607 2003-09-18  Roger Sayle  <roger@eyesopen.com>
5608
5609         * simplify-rtx.c (simplify_unary_operation): Only transform
5610         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
5611         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
5612
5613 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5614
5615         PR target/11674
5616         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
5617
5618 2003-09-18  Roger Sayle  <roger@eyesopen.com>
5619
5620         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
5621         PARITY_EXPR): Delete unused tree codes.
5622         * c-common.c (c_common_truthvalue_conversion): Delete references
5623         to FFS_EXPR and POPCOUNT_EXPR.
5624         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
5625         (pp_c_expression): Likewise.
5626         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
5627         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
5628         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
5629         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
5630         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
5631         and long long variants.
5632
5633 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5634
5635         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
5636         * c-pretty-print.c: Fix formatting.
5637         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
5638         (pp_c_type_specifier): Tidy.
5639         (pp_c_compound_literal): New function.
5640         (pp_c_initializer): Simplify..
5641         (pp_c_initializer_list): Likewise.
5642         (pp_c_brace_enclosed_initializer_list): New function.
5643         (pp_c_postfix_expression): Simplify.
5644
5645 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
5646
5647         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
5648         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
5649
5650 2003-09-17  Richard Henderson  <rth@redhat.com>
5651
5652         * tree-optimize.c (tree_rest_of_compilation): Save and restore
5653         input_location.
5654
5655 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5656
5657         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
5658
5659 2003-09-17  Richard Henderson  <rth@redhat.com>
5660
5661         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
5662
5663 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5664
5665         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
5666         * configure: Regenerate.
5667
5668 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
5669
5670         PR debug/12066
5671         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
5672         * langhooks-def.h (lhd_return_null_tree_v): New function.
5673         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
5674         (LANG_HOOKS_DECLS): Add it to the intializer.
5675         * langhooks.c (lhd_return_null_tree_v): New function.
5676         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
5677
5678 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5679
5680         * configure.in: Quote gcc_config_arguments for configargs.h.
5681         * configure: Regenerated.
5682         * gccbug.in: Don't shell-expand gcc_config_arguments.
5683
5684 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5685
5686         PR c++/11357
5687         * c-pretty-print.c (pp_c_floating_constant): Append
5688         type-annotation to floating constants.
5689
5690 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5691
5692         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
5693         Define _ABIO32.
5694         Use it for _MIPS_SIM.
5695         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
5696
5697         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
5698         Moved ...
5699         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
5700         updating comment.
5701         Fixes PR target/10190.
5702
5703 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5704
5705         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
5706         to shared libraries.
5707
5708 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
5709
5710         PR optimization/11646
5711         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
5712         EDGE_ABNORMAL flag for EH edges.
5713         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
5714         if dead edges were purged.
5715
5716 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
5717
5718         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
5719         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
5720         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
5721         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
5722
5723 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
5724
5725         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
5726         returned by tablejump_p.
5727
5728 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
5729
5730         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
5731
5732 2003-09-16  Roger Sayle  <roger@eyesopen.com>
5733
5734         PR bootstrap/12269
5735         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
5736         argument to be VOIDmode, taking the mode of the comparison from
5737         the operands.  Only call simplify_relational_operation if we
5738         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
5739         if comparison has a floating point result.  Ensure that the
5740         result is always of the specified mode.
5741         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
5742         (simplify_unary_operation): Ensure the correct mode and cmp_mode
5743         are always passed to simplify_gen_relational.  Simplify NOT of
5744         comparison operator in any mode, not just BImode.
5745         (simplify_ternary_operation): Correct tests on the return value
5746         of simplify_relational_operation to use const_true_rtx, not
5747         const1_rtx.  Abort if it ever returns a non-constant result.
5748
5749         * cfgloopanal.c (count_strange_loop_iterations): Use the function
5750         simplify_relational_operation, not simplify_gen_relational, if
5751         we're only interested in constant comparisons and will ignore
5752         non-constant results.
5753
5754 2003-09-16  Roger Sayle  <roger@eyesopen.com>
5755
5756         * fold-const.c (tree_swap_operands_p): New function to determine
5757         the prefered ordering of operands.
5758         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
5759         operands to commutative, comparison or ternary operators.  Replace
5760         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
5761         transformation of A ? B : C into !A ? C : B.
5762
5763 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
5764
5765         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5766         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5767         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5768         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5769         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5770         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5771         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5772         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5773
5774 2003-09-16  Jason Merrill  <jason@redhat.com>
5775             Jakub Jelinek  <jakub@redhat.com>
5776
5777         * c-common.c (handle_warn_unused_result_attribute): New function.
5778         (c_common_attribute_table): Add warn_unused_result.
5779         (c_expand_expr): Issue warning when result of inlined function
5780         with warn_unused_result attribute is ignored.
5781         * calls.c (expand_call): Issue warning when result of function
5782         with warn_unused_result attribute is ignored.
5783         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
5784         * expr.c (expr_wfl_stack): Define.
5785         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
5786         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
5787         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
5788         bit if inlined function has warn_unused_result attribute.
5789         * input.h (expr_wfl_stack): Declare.
5790         * doc/extend.texi: Document warn_unused_result attribute.
5791
5792 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
5793
5794         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
5795
5796 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5797
5798         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
5799         ATTRIBUTE_UNUSED.
5800         (call_insn_operand): For PIC, don't allow a direct call to a
5801         function in a different section than the current one.
5802
5803 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5804
5805         * doc/invoke.texi (Warning Options): Add missing hyphen before
5806         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
5807         Move "-Wold-style-definition" to the C-only section.
5808         Fix the ordering of the warning options.
5809
5810 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5811             Jeff Law  <law@redhat.com>
5812
5813         * gcse.c (remove_reachable_equiv_notes): New.
5814         replace_store_insn): Call it.  Update antic list.
5815         (store_killed_in_insn): Take REG_EQUAL notes into account.
5816         (build_store_vectors, delete_store): Add parameter to
5817         replace_store_insn call.
5818
5819 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5820
5821         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
5822         SYMBOL_REF_LOCAL_P.
5823
5824 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
5825
5826         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
5827         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
5828         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
5829         Likewise.
5830         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
5831         Likewise.
5832         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
5833         * config/sparc/sparc.c (function_arg_padding): Likewise.
5834
5835 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
5836
5837         * haifa-sched.c (schedule_block): Use ready_remove_first instead
5838         of choose_ready for non-dfa insn scheduling.
5839
5840 2003-09-15  Andreas Jaeger  <aj@suse.de>
5841             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5842
5843         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
5844         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
5845         * c-parse.in: Warn about old-style parameter definition.
5846         * c-common.c: Define warn_old_style_defintion.
5847         * c-common.h: Declare it.
5848         * c.opt: Add Wold-style-defintion.
5849
5850 2003-09-15  Andreas Jaeger  <aj@suse.de>
5851
5852         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
5853         * config/rs6000/rs6000.c: Likewise.
5854
5855 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5856
5857         PR optimization/10914
5858         * expr.h (get_condition, canonicalize_condition): Declaration changed.
5859         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
5860         and canonicalize_condition calls.
5861         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
5862         delete_null_pointer_checks): Ditto.
5863         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
5864         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
5865         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
5866         (canonicalize_condition, get_condition): Allow to return comparisons
5867         of cc mode registers.
5868         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
5869         cc mode registers comparison in condition.
5870
5871 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
5872
5873         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
5874         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
5875         function.
5876         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
5877
5878 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5879
5880         * combine.c (simplify_comparison): Convert
5881         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
5882         (eq (and (lshiftrt X Y) 1) 0).
5883
5884 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5885
5886         * alias.c: Follow spelling conventions.
5887         * cpphash.h: Likewise.
5888         * fold-const.c: Likewise.
5889
5890 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
5891
5892         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
5893         * c-lex.c (cb_line_change): Skip line changing whenever
5894         c-ppoutput.c would.
5895
5896 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
5897
5898         * ra.c: Convert to ISO C90 prototypes.
5899         * ra-build.c: Likewise.
5900         * ra-colorize.c: Likewise.
5901         * ra-debug.c: Likewise.
5902         * ra-rewrite.c: Likewise.
5903
5904 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5905
5906         * Makefile.in (%.dvi): Remove excess $(docdir).
5907
5908 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5909
5910         * function.c (STACK_BYTES): Move definition to head of file.
5911         (assign_parms): Don't pass current_function_pretend_args_size
5912         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
5913         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
5914         excess before laying out the argument.
5915
5916 2003-09-14  Andreas Jaeger  <aj@suse.de>
5917
5918         * objc/objc-act.c: Convert to ISO C90 prototypes.
5919         * objc/objc-act.h: Likewise.
5920
5921 2003-09-14  Olaf Hering  <olh@suse.de>
5922
5923         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
5924
5925 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
5926
5927         PR target/12021
5928         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
5929         as they already are done in config/m68k/m68k.h.
5930         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
5931
5932         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
5933         (machopic_output_stub): Only generate pic base symbols when using pic
5934         and generate them in the form L00000000$spb.
5935
5936 2003-09-13  Richard Henderson  <rth@redhat.com>
5937
5938         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
5939         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
5940         * cgraph.h: Update.
5941
5942 2003-09-12  Dale Johannesen  <dalej@apple.com>
5943
5944         * config/rs6000/rs6000.c: Fix typos in previous.
5945
5946 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
5947
5948         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
5949         when allocating pp->buffer.
5950
5951 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
5952
5953         * config/darwin.c (machopic_select_rtx_section): Use
5954         const_data_section for things that might require relocation.
5955
5956 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
5957
5958         PR bootstrap/12264
5959         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
5960
5961 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
5962
5963         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
5964         * config/xtensa/linux.h (ASM_SPEC): Likewise.
5965         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
5966         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
5967         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
5968         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
5969         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
5970         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
5971         and redefine corresponding TARGET_* macros with constants from the
5972         xtensa-config.h header.
5973         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
5974         for the options listed above.
5975
5976 2003-09-12  Dale Johannesen  <dalej@apple.com>
5977
5978         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
5979         * config/rs6000/rs6000-c.c:  Ditto.
5980         * config/rs6000/rs6000.c:  Ditto.
5981         * config/rs6000/ sysv4.h:  Ditto.
5982
5983 2003-09-12  Chris Lattner <sabre@nondot.org>
5984
5985         * loop.c: Move comments describing BIV's and GIV's to top of file
5986
5987 2003-09-12  Roger Sayle  <roger@eyesopen.com>
5988
5989         PR optimization/8967
5990         * alias.c (write_dependence_p): Modify to take an additional constp
5991         argument that controls whether the UNCHANGING_RTX_P flags are used.
5992         (anti_dependence, output_dependence): Adjust write_dependence_p
5993         callers to pass this additional argument, to return the same result.
5994         (unchanging_anti_dependence): New variant of anti_dependence that
5995         ignores the UNCHANGING_RTX_P property on memory references.
5996         * rtl.h (unchaning_anti_dependence): Prototype here.
5997         * flow.c (init_propagate_block): Place fake constant mem writes on
5998         the mem_set_list so that dead writes to const variables are deleted.
5999         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
6000         (mark_used_regs): Likewise.
6001
6002 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
6003
6004         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
6005         (mcore_secondary_reload_class): Declare.
6006         (mcore_output_inline_const_forced): Remove.
6007         * config/mcore/mcore.md (movsi): Remove the code that forced
6008         non-inlineable constants into a register if the target was r15
6009         or the stack pointer.  Remove constant restrictions from the main
6010         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
6011         of an r <- P alternative.  Remove fallback define_insn for reload.
6012         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
6013         define_insn.  Use mcore_output_move in the remaining define_insn.
6014         Adjust condition and constraints in the way as for movsi.
6015         (movdi): Always split unacceptable constants into two.  Use
6016         simplify_gen_subreg instead of operand_subword{,_force}.
6017         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
6018         (mcore_output_move): Support HImode and QImode moves as well.
6019         (mcore_m15_operand_p): New function.
6020         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
6021         (mcore_secondary_reload_class): New function.
6022         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
6023         terms of mcore_secondary_reload_class.
6024
6025 2003-09-11  Mike Stump  <mrs@apple.com>
6026
6027         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
6028
6029 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6030
6031         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
6032         MODE exactly, then only convert logN(N) -> 1.0 if
6033         flag_unsafe_math_optimizations is set.
6034
6035         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
6036         init_builtin_dconsts): Delete.
6037         * emit-rtl.c (dconstpi, dconste): Define.
6038         (init_emit_once): Initialize dconstpi & dconste.
6039         * real.h (dconstpi, dconste): Declare.
6040
6041 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
6042
6043         PR fortran/11522
6044         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
6045         for ultimate origin even if block is abstract.
6046
6047 2003-09-11  Roger Sayle  <roger@eyesopen.com>
6048
6049         * combine.c (combine_simplify_rtx): Move several NOT and NEG
6050         optimizations from here...
6051         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
6052         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
6053
6054 2003-09-11  Richard Henderson  <rth@redhat.com>
6055
6056         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
6057         Tweek tests for function already generated.
6058         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
6059         * cgraph.h (cgraph_finalize_function): Update for extra arg.
6060         * c-decl.c (finish_function): Likewise.
6061
6062 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
6063
6064         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
6065
6066 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
6067
6068         * real.c: Update URL to VAX floating point docs.
6069         (decode_vax_d): Extract 8 exponent bits instead of 7.
6070
6071 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
6072
6073         * combine.c (force_to_mode): Set fuller_mask based only on mask,
6074         not op_mode.
6075
6076 2003-09-11  Jan Hubicka  <jh@suse.cz>
6077
6078         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
6079         on why function is not inlinable; do not check
6080         the body.
6081         (inline_forbidden_p): Move to...
6082         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
6083         deal with alloca, longjmp.
6084         (inline_forbidden_p): New static function.
6085         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
6086         find_builtin_longjmp_call): Kill.
6087
6088 2003-09-10  Richard Henderson  <rth@redhat.com>
6089
6090         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
6091         * cgraphunit.c: Update to match.
6092         (record_call_1): Rearrange.  Call lang hook for language nodes.
6093         (cgraph_analyze_function): Don't call lower_function.
6094         * langhooks.h (struct lang_hooks_for_callgraph): Replace
6095         lower_function with analyze_expr.
6096         * langhooks-def.h: Update to match.
6097         * langhooks.c (lhd_callgraph_analyze_expr): New.
6098
6099 2003-09-10  Martin Husemann  <martin@duskware.de>
6100
6101         PR target/11965
6102         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
6103         constants greater than 63.
6104         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
6105         against constants greater than 31.
6106         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
6107         constants greater than 63.
6108
6109 2003-09-09  Richard Henderson  <rth@redhat.com>
6110
6111         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
6112         * cgraph.h (cgraph_finalize_function): Update.
6113         * c-decl.c (finish_function): Update.
6114
6115 2003-09-09  Devang Patel  <dpatel@apple.com>
6116
6117         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
6118         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
6119
6120 2003-09-09  Eric Christopher  <echristo@redhat.com>
6121
6122         * configure.in: Change usage of 'head' to 'sed 1q'.
6123         * configure: Regenerate.
6124
6125 2003-09-09  Richard Henderson  <rth@redhat.com>
6126
6127         * except.c: Include cgraph.h.
6128         (output_function_exception_table): Invoke
6129         cgraph_varpool_mark_needed_node.
6130         * Makefile.in (except.o): Update.
6131
6132 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
6133
6134         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
6135         and use it throughout.
6136
6137 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6138
6139         * builtins.c (real_dconstp, fold_builtin_logarithm,
6140         fold_builtin_exponent): New, split out from fold_builtin.  Also
6141         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
6142         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
6143         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
6144         of hardcoded array size.
6145         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
6146         (tree_expr_nonnegative_p): Likewise.
6147         * real.h (dconst3, dconst10, dconstthird): New.
6148
6149 2003-09-09  Jan Hubicka  <jh@suse.cz>
6150
6151         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
6152         inline functions.
6153         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
6154         DECL_SAVED_TREE.
6155
6156 2003-09-09  Roger Sayle  <roger@eyesopen.com>
6157
6158         * builtins.c (fold_builtin_cabs): Protect the complex argument
6159         against multiple evaluation when optimizing cabs* into sqrt*.
6160
6161 2003-09-09  Jan Hubicka  <jh@suse.cz>
6162
6163         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
6164
6165 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
6166
6167         * Makefile.in: Revert yesterday's change.
6168
6169 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
6170             Peter Barada <peter@baradas.org>
6171
6172         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
6173         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
6174         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
6175         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
6176         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
6177         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
6178         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
6179         (m68k_compute_frame_layout): New function.
6180         (m68k_initial_elimination_offset): New function.
6181         (m68k_output_function_prologue): ColdFire-specific movem handling.
6182         (m68k_output_function_epilogue): Likewise.
6183         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
6184         (ARG_POINTER_REGNUM): Add new definition.
6185         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
6186         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
6187         (CAN_ELIMINATE): Likewise.
6188         (INITIAL_ELIMINATION_OFFSET): Likewise.
6189
6190 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
6191
6192         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
6193         by removing redundant variable cfa_store_offset.
6194
6195 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
6196
6197         * langhooks-def.h (lhd_register_builtin_type): New function.
6198         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
6199         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
6200         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
6201         * langhooks.c (lhd_register_builtin_type): New function.
6202         * c-common.h (c_register_builtin_type): Declare.
6203         * c-common.c (c_register_builtin_type): New function.
6204         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
6205         c_register_builtin_type.
6206         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
6207         __float80, and __float128 macros.
6208         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
6209         __float80, and __float128 types.
6210
6211 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6212
6213         * builtin-types.def
6214         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
6215         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
6216         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
6217         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
6218         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
6219         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
6220         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
6221         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
6222         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
6223         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
6224         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
6225         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
6226         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
6227         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
6228         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
6229         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
6230         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
6231         New.
6232         * doc/extend.texi: Document new builtins.
6233
6234 2003-09-09  Jan Hubicka  <jh@suse.cz>
6235
6236         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
6237         finalization.
6238         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
6239         functions, check for COMDAT.
6240         (cgraph_assemble_pending_functions): Break out from...
6241         (cgraph_finalize_function): ... here; allow redefinig of extern inline
6242         functions.
6243         (record_call_1): Record function references only in non-unit-at-a-time
6244         mode.
6245         (cgraph_analyze_function): Reset current_function_decl.
6246         (cgraph_finalize_compilation_unit):  Assemble pending functions.
6247
6248 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
6249
6250         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
6251         (libgov.a): Likewise.
6252         (libgcc_eh.a): Likewise.
6253
6254 2003-09-08  Roger Sayle  <roger@eyesopen.com>
6255
6256         * fold-const.c (operand_equal_p): Clarify documentation.
6257
6258 2003-09-08  Richard Henderson  <rth@redhat.com>
6259
6260         * c-decl.c (c_expand_body_1): Push and pop function context here.
6261         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
6262         nested argument instead of computing nesting ourselves.
6263
6264 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
6265
6266         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
6267         regstack if optimizing but not scheduling after reload.
6268
6269 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
6270
6271         * config/sparc/sparc.c (struct machine_function): New type.
6272         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
6273         (sparc_override_options): Initialize init_machine_status.
6274         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
6275         tie_symbolic_operand, tle_symbolic_operand): New functions.
6276         (symbolic_operand): Disallow tls_symbolic_operand.
6277         (symbolic_memory_operand): Likewise.
6278         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
6279         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
6280         New functions.
6281         (sparc_tls_symbol): New variable.
6282         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
6283         legitimize_address): New functions.
6284         (print_operand): Handle %&.
6285         (sparc_init_machine_status, get_some_local_dynamic_name,
6286         get_some_local_dynamic_name_1): New functions.
6287         (sparc_output_dwarf_dtprel): New function.
6288         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
6289         constant_address_p.
6290         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
6291         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
6292         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
6293         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
6294         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
6295         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
6296         (ASM_OUTPUT_DWARF_DTPREL): Define.
6297         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
6298         tie_symbolic_operand, tle_symbolic_operand.
6299         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
6300         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
6301         (tls_call_delay): New attribute.
6302         (in_call_delay): Use it.
6303         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
6304         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
6305         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
6306         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
6307         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
6308         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
6309         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
6310         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
6311         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
6312         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
6313         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
6314         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
6315         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
6316         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
6317         insns.
6318         * config/sparc/sparc-protos.h (legitimate_constant_p,
6319         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
6320         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
6321         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
6322         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
6323         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
6324         * configure.in (sparc*-*-*): Add TLS check.
6325         * configure: Rebuilt.
6326
6327 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
6328
6329         PR target/11689
6330         * config/i386/i386.c (memory_address_length): Fix computation when
6331         the base is esp or ebp.
6332
6333 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
6334
6335         PR c++/11852
6336         * varasm.c (initializer_constant_valid_p): Correct logic for
6337         CONSTRUCTORs.
6338
6339 2003-09-07  Roger Sayle  <roger@eyesopen.com>
6340
6341         * expr.c (expand_operands): New function to expand an operand pair.
6342         (expand_expr): Call expand_operands whenever we need to expand both
6343         operands of a binary operator.
6344         (do_store_flag): Likewise for operands of comparison operations.
6345
6346 2003-09-07  Roger Sayle  <roger@eyesopen.com>
6347
6348         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
6349         (-A)*B if we care about sign-dependent rounding.
6350
6351 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
6352
6353         * c-pretty-print.h (pp_c_left_brace): Declare.
6354         (pp_c_right_brace): Likewise.
6355         * c-pretty-print.c (pp_c_left_brace): Now a function
6356         (pp_c_right_brace): Likewise.
6357
6358 2003-09-07  Jan Hubicka  <jh@suse.cz>
6359
6360         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
6361
6362 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6363
6364         * diagnostic.c (warn_deprecated_use): Move to toplev.c
6365
6366 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6367
6368         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
6369         * Makefile.in (langhooks.o): Depend on diagnostic.h
6370
6371 2003-09-06  James E Wilson  <wilson@tuliptree.org>
6372
6373         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
6374         simplify.
6375
6376 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
6377
6378         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
6379         and use it throughout.
6380
6381 2003-09-07  Jan Hubicka  <jh@suse.cz>
6382
6383         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
6384
6385         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
6386         virables.
6387
6388         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
6389         functions.
6390         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
6391
6392 2003-09-06  Jan Hubicka  <jh@suse.cz>
6393
6394         PR target/12070
6395         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
6396
6397         PR opt/12082
6398         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
6399
6400 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6401
6402         * diagnostic.c (announce_function): Move to toplev.c.
6403
6404 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6405
6406         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
6407         volatile mem.
6408
6409 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6410
6411         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
6412         when gc checking is enabled.
6413
6414 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
6415
6416         PR c/9862
6417         * c-decl.c (c_expand_body_1): Move return warning from here...
6418         (finish_function): ...to here.
6419
6420 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
6421
6422         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
6423         a subset of the input class.
6424
6425 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
6426
6427         * config/i860/i860.c: Follow spelling conventions.
6428         * config/i860/i860.h: Likewise.
6429         * config/sh/sh.h: Likewise.
6430
6431 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
6432
6433         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
6434         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
6435         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
6436
6437 2003-09-05  Roger Sayle  <roger@eyesopen.com>
6438             Richard Henderson  <rth@redhat.com>
6439
6440         PR optimization/1823
6441         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
6442         multiplication to implement division by constant integer.
6443
6444 2003-09-05  Jan Hubicka  <jh@suse.cz>
6445
6446         * opts.c (decode_options): Enable unit-at-a-time at -O2.
6447         * params.def (max-inline-insns-single): Set to 500
6448         (max-inline-insns-auto): Set to 150
6449         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
6450
6451 2003-09-04  Richard Henderson  <rth@redhat.com>
6452
6453         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
6454         (cgraph_mark_needed_node): Remove needed argument.
6455         * cgraph.h: Update to match.
6456         * cgraphunit.c (decide_is_function_needed): Split out from ...
6457         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
6458         if we generated the function.
6459         (record_call_1): Update for cgraph_mark_reachable_node.
6460         * varasm.c (mark_referenced): Likewise.
6461         * objc/objc-act.c (mark_referenced_methods): Likewise.
6462
6463 2003-09-04  DJ Delorie  <dj@redhat.com>
6464
6465         * targhooks.c: Add comment explaining the migration process.
6466
6467 2003-09-04  Eric Christopher  <echristo@redhat.com>
6468
6469         * config/frv/t-frv: Fix path for frv-abi.h.
6470         * config/frv/frv-asm.h: Fix string concatenation.
6471
6472 2003-09-04  DJ Delorie  <dj@redhat.com>
6473
6474         * builtins.c (apply_args_size): Guard against a NULL cfun.
6475         (expand_builtin_apply_args_1): Likewise.
6476         (expand_builtin_apply): Likewise.
6477         Fixes PR bootstrap/12172.
6478
6479 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6480
6481         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
6482         assembler supports Sun syntax for cmov.
6483         * configure: Regenerate.
6484         * config.in: Likewise.
6485         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
6486         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
6487         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
6488         Fixes PR target/12101.
6489
6490 2003-09-04  Matt Austern  <austern@apple.com>
6491
6492         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
6493         with verbosity 0, instead of DECL_NAME, for human-readable string.
6494
6495 2003-09-04  Eric Christopher  <echristo@redhat.com>
6496
6497         * targhooks.c (default_return_in_memory): Allow
6498         unconverted ports.
6499
6500 2003-09-04  Eric Christopher  <echristo@redhat.com>
6501
6502         * targhooks.c (default_return_in_memory): Fix typo
6503         in last checkin.
6504
6505 2003-09-04  Eric Christopher  <echristo@redhat.com>
6506
6507         * targhooks.c (default_return_in_memory): Fix default
6508         definition.
6509
6510 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
6511
6512         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
6513         deleted function.
6514         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
6515         enable coff-only code in m68k.c.
6516
6517 2003-09-04  Nick Clifton  <nickc@redhat.com>
6518
6519         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
6520         v850e1.
6521         * config/v850/v850.h: Accept v850e1 as a default CPU.
6522         Accept -mv850e1 as a command line option.
6523         * doc/invoke.texi: Document new -mv850e1 command line switch.
6524         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
6525         -mv850e.
6526
6527 2003-09-04  Nick Clifton  <nickc@redhat.com>
6528
6529         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
6530         * config/v850/t-v850: Only produce one extra multilib - for
6531         the v850e.
6532         * config/v850/t-v850e: New file: Only produce one extra
6533         multilib - for the v850.
6534
6535 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
6536
6537         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
6538         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
6539         * unwind.h (_Unwind_GetBSP): New prototype.
6540         * libgcc-std.ver: Add empty GCC_3.3.2 version.
6541         * mkmap-symver.awk: For symbol versions with no exported symbols,
6542         don't put anything into version script, just change all symbol
6543         versions which inherit from it to inherit from its ancestor.
6544
6545 2003-09-04  Eric Christopher  <echristo@redhat.com>
6546
6547         * config/mips/mips.c (mips_expand_prologue): Convert to
6548         calls.struct_value_rtx hook.
6549         (reg_or_const_float_1_operand): New.
6550         * config/mips/mips.h: Update Comments.
6551         (mips_arg): Add reg_or_const_float_1_operand.
6552         * config/mips/mips.md (divdf3); Convert to expander.
6553         (divsf3): Ditto.
6554         (*divdf3): New pattern.
6555         (*divsf3): Ditto.
6556
6557 2003-09-04  Jan Hubicka  <jh@suse.cz>
6558
6559         * toplev.c (wrapup_global_declarations): Fix final pass in
6560         unit-at-atime mode.
6561
6562 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
6563
6564         * doc/extend.texi: Document removal of cast-as-lvalue extension in
6565         C++.
6566
6567 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
6568
6569         * gcc.c (process_command): Fix typo.
6570
6571 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
6572
6573         optimization/11980
6574         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
6575         (PTRDIFF_TYPE): Likewise.
6576         (WCHAR_TYPE_SIZE): Likewise.
6577
6578 2003-09-03  DJ Delorie  <dj@redhat.com>
6579
6580         * targhooks.c: New file.
6581         * targhooks.h: New file.
6582         * Makefile.in: Add targhooks.o support.
6583         (function.o): Depend on$(TARGET_H).
6584         (stmt.o): Likewise.
6585         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
6586         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
6587         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
6588         (expand_builtin_saveregs): Convert to
6589         calls.expand_builtin_saveregs hook.
6590         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
6591         here, instead of ...
6592         (get_parm_info) ... here.
6593         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
6594         hook.
6595         (finish_function): Handle calls.promote_prototypes hook here too.
6596         * c-typeck.c (convert_arguments): Convert to
6597         calls.promote_prototypes hook.
6598         (c_convert_parm_for_inlining): Likewise.
6599         * calls.c (initialize_argument_information): Convert to
6600         calls.promote_function_args hook.
6601         (expand_call): Convert to calls.struct_value_rtx,
6602         calls.strict_argument_naming,
6603         calls.pretend_outgoing_varargs_named, and
6604         calls.promote_function_return hooks.  Pass fndecl to
6605         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
6606         hooks, so they can use that.
6607         (emit_library_call_value_1): Likewise.
6608         * combine.c (setup_incoming_promotions): Convert to
6609         calls.promote_function_args hook.
6610         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
6611         * expr.c (expand_assignment): Pass call to aggregate_value_p.
6612         (expand_expr): Likewise.
6613         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
6614         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
6615         RETURN_IN_MEMORY macro defaults.
6616         * final.c (profile_function): Convert to calls.struct_value_rtx
6617         hook.
6618         * function.c (aggregate_value_p): Accept function type tree as
6619         second parameter; try to deduce fntype from it.  Convert to
6620         calls.return_in_memory hook.
6621         (assign_parms): Convert to calls.setup_incoming_varargs,
6622         calls.strict_argument_naming, calls.promote_function_args,
6623         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
6624         aggregate_value_p.
6625         (expand_function_start): Likewise.  Convert to
6626         calls.struct_value_rtx hook.
6627         (expand_function_end): Convert to calls.promote_function_return hook.
6628         (allocate_struct_function): Pass fndecl to aggregate_value_p.
6629         * hard-reg-set.h: Update comments to new hook names.
6630         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
6631         * reg-stack.c (stack_result): Likewise.
6632         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
6633         * stmt.c (expand_value_return): Convert to
6634         calls.promote_function_return hook.
6635         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
6636         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
6637         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
6638         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
6639         TARGET_STRICT_ARGUMENT_NAMING,
6640         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
6641         * target.h: Likewise.
6642         * tree.h (aggregate_value_p): Also takes a tree to deduce function
6643         attributes from (for target hooks).
6644         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
6645         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
6646         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
6647         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
6648         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
6649         to hooks.
6650
6651         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
6652         to aggregate_value_p.
6653         * config/arm/arm.c (arm_init_cumulative_args,
6654         arm_output_mi_thunk): Likewise.
6655         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
6656         Likewise.
6657         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
6658         mips_can_use_return_insn): Likewise.
6659         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
6660         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
6661         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
6662         aggregate_value_p.
6663         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
6664         function to aggregate_value_p.
6665         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
6666         aggregate_value_p.
6667
6668         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
6669         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
6670         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
6671         (sh_handle_renesas_attribute, sh_promote_prototypes,
6672         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
6673         sh_setup_incoming_varargs, sh_strict_argument_naming,
6674         sh_pretend_outgoing_varargs_named): New decls.
6675         (targetm): Add new hooks.
6676         (calc_live_regs): Save MACL and MACH if the function has the
6677         renesas attribute.
6678         (sh_expand_prologue): Support renesas attribute.
6679         (sh_builtin_saveregs): Make static.
6680         (sh_build_va_list): Support renesas attribute.
6681         (sh_va_start): Likewise.
6682         (sh_va_arg): Likewise.
6683         (sh_promote_prototypes): New.
6684         (sh_function_arg): New, moved from sh.h.  Support renesas
6685         attribute.
6686         (sh_function_arg_advance): Likewise.
6687         (sh_return_in_memory): Likewise.
6688         (sh_strict_argument_naming): Likewise.
6689         (sh_pretend_outgoing_varargs_named): Likewise.
6690         (sh_struct_value_rtx): New.
6691         (sh_attribute): Add renesas attribute.
6692         (sh_handle_renesas_attribute): New.
6693         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
6694         (sh_ms_bitfield_layout_p): Support renesas attribute also.
6695         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
6696         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
6697         -mhitachi.
6698         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
6699         target hooks.
6700         (sh_args): Add renesas_abi flag.
6701         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
6702         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
6703         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
6704         stack for the renesas abi.
6705         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
6706         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
6707         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
6708         call cookie to indicate renesas calls.
6709
6710 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
6711
6712         * gcse.c (replace_one_set): New function.
6713         (pre_insert_copy_insn): Change the order of copying
6714         to make copy propagation discover additional PRE opportunities.
6715
6716 2003-09-03  Roger Sayle  <roger@eyesopen.com>
6717
6718         PR optimization/11700.
6719         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
6720         of a hard register is representable before trying to simplify it
6721         using subreg_hard_regno.
6722
6723 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6724
6725         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
6726         * configure: Regenerate.
6727
6728 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6729
6730         * intl.h (N_): Remove parentheses.
6731
6732 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
6733
6734         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
6735         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
6736         definition and code blocks compiled when not defined.
6737         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
6738         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
6739         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
6740         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
6741
6742 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
6743
6744         * cgraphunit.c (visited_nodes): New static variable.
6745         (record_call_1): Use walk_tree with visited_nodes.
6746         (cgraph_create_edges): Use walk_tree with visited_nodes.
6747         Setup/teardown visited_nodes hashtable.
6748
6749 2003-09-03  Roger Sayle  <roger@eyesopen.com>
6750
6751         * toplev.c (flag_rounding_math): New global variable.
6752         (f_options): Add to the list of language independent options.
6753         * flags.h (flag_rounding_math): Prototype here.
6754         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
6755         * common.opt (frounding-math): New common command line option.
6756         * opts.c (common_handle_option): Handle OPT_frounding_math.
6757         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
6758
6759         * doc/invoke.texi: Document this new command line option.
6760
6761 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6762
6763         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
6764
6765 2003-09-03  Jan Hubicka  <jh@suse.cz>
6766
6767         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
6768         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
6769         * c-objc-common.c: Kill include of gt-c-objc-common.h
6770         (expand_deferred_fns, deffer_fn): Kill function.
6771         (deferred_fns): Kill variable.
6772         (finish_cdtor): Update finish_function call.
6773         (c_objc_common_finish_file): Always call cgraph code.
6774         * c-parse.c: Regenerate.
6775         * c-parse.y: Regenerate.
6776         * c-tree.h (finish_function): Update prototype.
6777         * objc-acct.c (build_module_descriptor, finish_method_def):
6778         Update call of finish_function.
6779         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
6780         forward prototype.
6781         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
6782         function and assemble it if needed.
6783         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
6784         mode.
6785         (cgraph_optimize): Likewise.
6786         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
6787         even when it has no inline callees.
6788         * c-parse.in: Update calls to finish_function.
6789
6790 2003-09-03  Nick Clifton  <nickc@redhat.com>
6791
6792         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
6793         Use #error to generate the message if TARGET_DEFAULT is not
6794         recognised.
6795
6796 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
6797
6798         * config/mips/mips.h (MASK_UNUSED1): Remove.
6799         (MASK_XGOT, TARGET_XGOT): Define.
6800         (TARGET_SWITCHES): Add an entry for -mxgot.
6801         (ASM_SPEC): Map -mxgot to -xgot.
6802         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
6803         whether we're using a big-GOT sequences.
6804         (mips_legitimize_const_move, mips_expand_call): Likewise.
6805         (override_options): Revert 2003-01-09 change.
6806         * doc/invoke.texi: Document -mxgot.
6807
6808 2003-09-02  Jason Merrill  <jason@redhat.com>
6809
6810         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
6811         * config/sparc/sol2.h: Not here.
6812
6813 2003-09-02  Roger Sayle  <roger@eyesopen.com>
6814
6815         * expr.c (expand_expr): The code following both_summands performs
6816         the same task as simplify_gen_binary.  Replace all gotos to
6817         both_summands with a call to simplify_gen_binary and delete the
6818         now unused label.
6819
6820 2003-09-02  Jason Merrill  <jason@redhat.com>
6821
6822         PR c++/7327
6823         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
6824
6825 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
6826
6827         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
6828         (cgraph_optimize_function): Set current_function_decl to the
6829         fndecl we're integrating from.
6830
6831 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6832
6833         * builtins.def: Break out _Complex math functions into their
6834         own category.
6835
6836 2003-09-02  Andreas Jaeger  <aj@suse.de>
6837
6838         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
6839
6840 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
6841
6842         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
6843         finding the note again.
6844
6845 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6846
6847         * config.gcc: Remove host-specific rewrites of target_alias.
6848
6849 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
6850
6851         * Makefile.in (genprogs): Fix typo.
6852
6853         * Makefile.in (gencheck.o): Remove build commands.
6854         (dummy-conditions.o): Likewise.
6855         (read-rtl.o): Likewise.
6856         (gensupport.o): Likewise.
6857         (genconfig$(build_exeext)): Remove rule.
6858         (genconfig.o): Remove build commands.
6859         (genflags$(build_exeext)): Remove rule.
6860         (genflags.o): Remove build commands.
6861         (gencodes$(build_exeext)): Remove rule.
6862         (gencodes.o): Remove build commands.
6863         (genconstants.o): Remove build commands.
6864         (genemit$(build_exeext)): Remove rule.
6865         (genemit.o): Remove build commands.
6866         (genrecog$(build_exeext)): Remove rule.
6867         (genrecog.o): Remove build commands.
6868         (genextract$(build_exeext)): Remove rule.
6869         (genextract.o): Remove build commands.
6870         (genpeep$(build_exeext)): Remove rule.
6871         (genpeep.o): Remove build commands.
6872         (genattr$(build_exeext)): Remove rule.
6873         (genattr.o): Remove build commands.
6874         (genprognames): New variable.
6875         (genprogs): Likewise.
6876         (genobjs): Likewise.
6877         (genprogs): New rule.
6878         (genobjs): Likewise.
6879         (genattrtab.o): Remove build commands.
6880         (genautomata.o): Likewise.
6881         (genoutput$(build_exeext)): Remove rule.
6882         (genoutput.o): Remove build commands.
6883         (gengenrtl.o): Likewise.
6884         (genpreds.o): Likewise.
6885         (gengtype.o): Likewise.
6886         (genconditions.o): Likewise.
6887         (gen-protos.o): Likewise.
6888         (scan.o): Likewise.
6889         (fix-header.o): Likewise.
6890         (scan-decls.o): Likewise.
6891         (check-g++): Combine with other check targets.
6892         (check-gcc): Likewise.
6893         (check-g77): Likewise.
6894         (check-objc): Likewise.
6895
6896 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6897
6898         * config.gcc: Remove host-specific stuff which is unused here
6899         since the introduction of config.host.
6900
6901         * doc/fragments.texi: Mention config.host.
6902         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
6903         of config.build, config.host, and config.gcc.
6904
6905 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
6906
6907         * c-decl.c (pushdecl): Don't put variables on
6908         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
6909         incomplete.
6910
6911 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6912
6913         * config.host: New file.
6914         * config.gcc: Remove some host-specific stuff and some
6915         logic needed only for repeated invocation.
6916         * configure.in: Use config.host.
6917         * configure: Regenerate.
6918
6919 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
6920
6921         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
6922         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
6923         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
6924         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
6925         * tree.def (BIT_ANDTC_EXPR): Kill.
6926
6927 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6928
6929         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
6930         * configure: Regenerate.
6931
6932         * config.gcc:  Remove references to install_headers_dir, now unused
6933         since introduction of config.build.
6934         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
6935
6936         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
6937         config.build.
6938
6939         * config.build: New file.
6940         * config.gcc: Remove some build-specific stuff.
6941         * configure.in: Use config.build.
6942         * configure: Regnerate.
6943
6944 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
6945             Roger Sayle  <roger@eyesopen.com>
6946
6947         PR middle-end/11823
6948         * stmt.c (expand_end_case_type): Only use jump tables for dense
6949         switch statements when optimizing for size.
6950
6951 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
6952
6953         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
6954         the != 0 case, which ensures pending stack adjustments are flushed.
6955
6956 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6957
6958         * configure.frag: Delete file.
6959         * configure.in: Rename the substitution variables
6960         dep_host_xmake_file and dep_tmake_file to xmake_file and
6961         tmake_file respectively.  Do not expand $srcdir in the
6962         value of these; leave that for Make.  Introduce a new
6963         substitution varaible, all_lang_makefrags, which lists
6964         subdirectory Make-lang.in files; exclude these from
6965         all_lang_makefiles, which is now only for subdirectory
6966         outputs.  Do not invoke configure.frag.  Do not set nor
6967         AC_SUBST_FILE target_overrides, host_overrides, or
6968         language_fragments. Create build subdirectories in
6969         config.status extra commands.
6970         * configure: Regenerate.
6971         * Makefile.in: Update substitutions to match changes to
6972         configure.  Use include directives instead of @-insertions
6973         to read in host, target, and language fragments.
6974         (Makefile rule): Do not invoke configure.frag.  Do not copy
6975         config.status to config.run before executing it.  Set
6976         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
6977         regenerated.
6978         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
6979
6980 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6981
6982         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
6983         * c-typeck.c (same_translation_unit_p): New function.
6984         (comptypes): Use it instead of flags parameter to identify
6985         structure types from different translation units.
6986         * c-decl.c (duplicate_decls): Always call comptypes with
6987         COMPTYPE_STRICT flags argument.
6988         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
6989         to file_scope_decl.
6990
6991 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6992
6993         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
6994         * c-decl.c (struct c_scope): Remove "incomplete" field.
6995         (pushdecl): Attach variables with incomplete types to
6996         the TYPE_MAIN_VARIANT of the incomplete type in question.
6997         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
6998         to complete, not at current_scope->incomplete.  All such
6999         variables do need completion.
7000
7001 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
7002         Nicolas Pitre <nico@cam.org>
7003
7004         * arm/lib1funcs.asm (RETCOND): Delete.
7005         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
7006         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
7007         (__ARM_ARCH__): Move here from ieee754-?f.S.
7008         (RET, RETc): Clean up definitions.
7009         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
7010         (FUNC_END): New macro that marks the end of any function.
7011         (ARM_FUNC_START): New macro that allows an assembler routine to be
7012         implemented in ARM code even if a Thumb-only build.
7013         Unconditionally include ieee754-?f.S.
7014         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
7015         Mark ends of functions.
7016         Split into separate conditionally-compiled units.
7017         Use RETLDM to return from routines.
7018         * arm/ieee754-sf.S: Similarly.
7019         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
7020         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
7021         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
7022         _fixsfsi and _fixunssfsi.
7023
7024         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
7025         multiplication underflows to zero.
7026         (__adddf3): Fix bug when using VFP ordering on little-endian
7027         processors.
7028         (__fixdfsi): Use rrx to extract the carry into a register instead of
7029         MRS instruction.  Optimize later use of result.
7030         * arm/ieee754-sf.S (__fixsfsi): Likewise.
7031         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
7032
7033 2003-08-29  Richard Henderson  <rth@redhat.com>
7034
7035         * tree-optimize.c: New file.
7036         * Makefile.in (OBJS-archive): Add tree-optimize.o.
7037         (tree-optimize.o): New.
7038         * c-decl.c (store_parm_decls): Use allocate_struct_function.
7039         (finish_function): Don't free_after_parsing or free_after_compilation.
7040         (set_save_expr_context): Move to tree-optimize.c.
7041         (c_expand_body_1): Use tree_rest_of_compilation.
7042         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
7043         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
7044         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
7045         iterate until closure.
7046         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
7047         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
7048         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
7049         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
7050         * toplev.h (tree_rest_of_compilation): Declare it.
7051
7052 2003-08-29  Richard Henderson  <rth@redhat.com>
7053
7054         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
7055         * integrate.c (save_for_inline): Set saved_for_inline.
7056         * c-semantics.c (genrtl_scope_stmt): Check it.
7057         * toplev.c (wrapup_global_declarations): Check it.
7058         (rest_of_handle_inlining): Set and check rtl_inline_init.
7059         (rest_of_compilation): Remove out of date comment.
7060
7061 2003-08-29  Richard Henderson  <rth@redhat.com>
7062
7063         * function.c (allocate_struct_function): New, split out of ...
7064         (prepare_function_start, init_function_start): ... here.
7065         * expr.c (init_expr): Use ggc_alloc_cleared.
7066         * stmt.c (init_stmt_for_function): Likewise.
7067         * tree.h (allocate_struct_function): Declare.
7068
7069 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7070
7071         * config.gcc: Don't use negated character class in shell case
7072         clause.
7073
7074 2003-08-29  Richard Henderson  <rth@redhat.com>
7075
7076         * function.h (struct function): Move function_frequency and
7077         max_jumptable_ents before start of bit field members.
7078
7079 2003-08-29  Richard Henderson  <rth@redhat.com>
7080
7081         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
7082         (fold_builtin_constant_p) ... not here.
7083
7084 2003-08-29  Richard Henderson  <rth@redhat.com>
7085
7086         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
7087         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
7088         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
7089
7090 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7091
7092         * builtins.def: Fix typos.
7093         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
7094         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
7095         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
7096         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
7097         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
7098
7099         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
7100         Use ATTR_MATHFN_FPROUNDING_ERRNO.
7101
7102 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7103
7104         * config.gcc (i386-*-vsta): Fix obvious bogosity.
7105
7106         * fixinc/inclhack.def:  Remove special cases for unsupported
7107         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
7108         * fixinc/fixincl.x: Regenerate.
7109
7110 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
7111
7112         * Makefile.in (cpp.info): Just state dependencies.
7113         (gcc.info): Likewise.
7114         (gccint.info): Likewise.
7115         (gccinstall.info): Likewise.
7116         (cppinternals.info): Likewise.
7117         (cpp.dvi): Likewise.
7118         (gcc.dvi): Likewise.
7119         (gccint.dvi): Likewise.
7120         (gccinstall.dvi): Likewise.
7121         (cppinternals.dvi): Likewise.
7122         (gcov.1): Likewise.
7123         (cpp.1): Likewise.
7124         (gcc.1): Likewise.
7125         (gfdl.7): Likewise.
7126         (gpl.7): Likewise.
7127         (fsf-funding.7): Likewise.
7128         ($(objdir)/%.info): New pattern rule.
7129         (%.dvi): Likewise.
7130
7131 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
7132
7133         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
7134         (restage2): Likewise.
7135         (restage3): Likewise.
7136         (restage4): Likewise.
7137         (restageprofile): Likewise.
7138         (restagefeedback): Likewise.
7139         (bubblestrap): Likewise.
7140
7141 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7142
7143         * config.gcc: Narrow unsupported target match to avoid clobbering
7144         i?86-sequent-sysv4*.
7145
7146 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7147
7148         * builtins.c (mathfn_built_in): Handle new math builtins.
7149
7150 2003-08-28  Per Bothner  <per@bothner.com>
7151
7152         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
7153         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
7154         (_cpp_lex_buffer):  Likewise.
7155         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
7156
7157 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
7158
7159         * config/s390/s390.md ("*mulsi3_sign"): New insn.
7160         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
7161         ("mulsidi3"): ... this new insn.
7162         ("umulsidi3"): New insn.
7163         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
7164         mixed-mode matching constraints.
7165         ("udivmodsi4", "udivmoddisi3"): New insns.
7166         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
7167
7168 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7169
7170         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
7171         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
7172         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
7173         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
7174         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
7175         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
7176         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
7177         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
7178         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
7179         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
7180         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
7181         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
7182         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
7183         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
7184         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
7185         * tree.c: Assign new type_nodes.
7186         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
7187         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
7188         (float_ptr_type_node, double_ptr_type_node,
7189         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
7190
7191         * doc/extend.texi: Document new builtins.
7192
7193 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7194
7195         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
7196         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
7197
7198         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
7199         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
7200         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
7201         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
7202         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
7203         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
7204         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
7205         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
7206         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
7207         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
7208
7209         * doc/extend.texi: Document new builtins.
7210
7211 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
7212
7213         * fixinc/mkfixinc.sh: Remove special case code for unsupported
7214         variants of i?86, powerpcle, and thumb.
7215         * fixinc/mkfixinc.sh: Remove special case code for unsupported
7216         arm and hppa variants.
7217
7218 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7219
7220         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
7221         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
7222         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
7223         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
7224         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
7225         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
7226         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
7227         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
7228         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
7229         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
7230
7231         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
7232         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
7233         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
7234         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
7235         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
7236         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
7237         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
7238         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
7239         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
7240         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
7241         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
7242         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
7243         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
7244         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
7245         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
7246         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
7247         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
7248         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
7249         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
7250         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
7251         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
7252         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
7253         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
7254         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
7255         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
7256         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
7257         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
7258         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
7259         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
7260         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
7261         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
7262
7263         * doc/extend.texi: Document new builtins.
7264
7265 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
7266
7267         * config/s390/s390.c (legitmate_constant_p): Use LARL on
7268         zSeries machines even in 31-bit addressing mode.
7269         (legitimate_reload_constant_p): Likewise.
7270         (legitimize_pic_address): Likewise.
7271         (legitimize_tls_address): Likewise.
7272         (s390_split_branches): Likewise.
7273         (s390_dump_pool): Likewise.
7274         (s390_mainpool_finish): Likewise.
7275         (s390_chunkify_start): Likewise.
7276         (s390_select_rtx_section): Likewise.
7277         * config/s390/s390.md ("doloop_si"): Likewise.
7278         ("pool_start_31", "pool_end_31"): Likewise.
7279         ("pool_start_64", "pool_end_64"): Likewise.
7280         ("main_base_31_small", "main_base_31_large"): Likewise.
7281         ("main_base_64"): Likewise.
7282         ("reload_base_31", "reload_base_64"): Likewise.
7283         ("*movsi_larl"): New insn.
7284         ("cjump", "icjump"): Use long branches on zSeries machines.
7285         ("jump"): Likewise.
7286         ("call"): Use BRASL on zSeries machines.
7287         ("call_value", "call_value_tls"): Likewise.
7288         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
7289         and replace by ...
7290         ("*bras", "*brasl", "*basr") ... these new insns.
7291         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
7292         "bas_31_r"): Remove and replace by ...
7293         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
7294         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
7295         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
7296         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
7297         ("*return_si", "*return_di"): Remove and replace by ...
7298         ("*return"): ... this new insn.
7299         ("rotlsi3"): Allow on zSeries machines.
7300
7301         * config/s390/s390.c (legitimize_reload_constant_p): Use
7302         LL/LH type instructions in z/Architecture mode.
7303         * config/s390/s390.md ("*movsi_lli"): Likewise.
7304         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
7305         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
7306         ("*extendqisi2"): Use LB in z/Architecture mode.
7307         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
7308         z/Architecture mode.
7309         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
7310         Likewise.
7311
7312         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
7313         and 31-bit mode.
7314         ("ptr_extend"): Allow only in 64-bit mode.
7315
7316 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
7317
7318         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
7319         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
7320         definitions.
7321         (main): Only use standard_startfile_prefix if native.
7322         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
7323
7324 2003-08-27  Per Bothner  <pbothner@apple.com>
7325
7326         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
7327         test fails following my 08-21 change, and it seems unnecessary anyway.
7328         (cpp_error):  Likewise.
7329
7330 2003-08-27  Jason Merrill  <jason@redhat.com>
7331
7332         * real.c (do_multiply): Initialize with memset.
7333
7334 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7335
7336         * gcov.c (typedef struct arc_info): New field cs_count.
7337         (accumulate_line_counts): Find cycles correctly.
7338
7339 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
7340
7341         * config/s390/s390.c (struct machine_function): Remove member
7342         literal_pool_label.
7343         (s390_optimize_prolog): Replace TEMP_REG argument with
7344         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
7345         (general_s_operand): Accept all immediates before reload if
7346         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
7347         references.
7348         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
7349         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
7350         (s390_alloc_pool): New function.
7351         (s390_new_pool): Call it.
7352         (s390_dump_pool): Add REMOTE_LABEL argument.
7353         (s390_chunkify_start): Add BASE_REG argument.  Do not check
7354         get_pool_size ().
7355         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
7356         s390_dump_pool call.
7357         (s390_pool_count, s390_nr_constants): Remove.
7358         (s390_output_constant_pool): Remove.
7359         (s390_mainpool_start): New function.
7360         (s390_mainpool_finish): New function.
7361         (s390_mainpool_cancel): New function.
7362         (s390_reorg): Implement main literal pool handling.
7363         (s390_emit_prologue): Emit main_pool placeholder instead of
7364         literal_pool_31 / literal_pool_64 insns.
7365         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
7366         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
7367         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
7368         ("main_base_31_small", "main_base_31_large"): New insns.
7369         ("main_base_64",  "main_pool"): New insns.
7370         ("literal_pool_31", "literal_pool_64"): Remove.
7371
7372 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
7373
7374         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
7375         fixinc.ptx.
7376         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
7377         Prettify a little.
7378         * fixinc/fixincl.x: Regenerate.
7379
7380 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
7381
7382         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
7383         (L_ieee754_dp): New.  Include ieee754-df.S.
7384         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
7385         and compilation in apcs-26 mode.
7386         * arm/ieee754-df.S: Likewise.
7387         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
7388         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
7389
7390 2003-08-27  Nicolas Pitre  <nico@cam.org>
7391
7392         * arm/ieee754-sf.S: New.
7393         * arm/ieee754-df.S: New.
7394
7395 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
7396
7397         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
7398         and restore it if returning NULL.
7399
7400 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
7401
7402         * calls.c (initialize_argument_information): If an argument has no
7403         stack space associated with it, and BLOCK_REG_PADDING is defined,
7404         use it to decide at which end the argument should be padded.
7405         * function.c (assign_parms): Allocate BLKmode stack slots.
7406         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
7407         (mips_pad_reg_upward): Declare.
7408         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
7409         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
7410         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
7411         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
7412         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
7413         (mips_expand_call): Remove code for generating structure shifts.
7414         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
7415         types unless using the EABI.
7416         (function_arg_advance): Don't generate shift instructions.
7417         (function_arg): Don't return them.  Don't short-circuit the
7418         check for double structure chunks for DFmode arguments.
7419         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
7420         (mips_expand_prologue): Remove code to emit structure shifts.
7421         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
7422         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
7423         comments to say that only structure returns are a problem.
7424
7425 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
7426
7427         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
7428         Fix to match produced versions.
7429         * fixinc/inclhack.def (longlong_t): New disabled test, ported
7430         from fixinc.svr4.
7431         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
7432         from fixinc.ptx.
7433         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
7434         ported from fixinc.ptx.
7435
7436 2003-08-26  Per Bothner  <pbothner@apple.com>
7437
7438         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
7439         (cpp_error_with_line):  Use fileline for appropriate parameter.
7440         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
7441         (struct cpp_reader):  Likewise for fields line and directive_line.
7442         (_cpp_begin_message):  Use fileline for appropriate parameter.
7443         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
7444         cpp_error):  Use fileline for appropriate parameters and variables.
7445         (print_location):  New local lin, since it is not a fileline.
7446
7447 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7448
7449         PR middle-end/12002
7450         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
7451         (FLOAT_TYPE_P): Define in terms of these two new macros.
7452         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
7453         for complex floating point types.
7454
7455 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
7456
7457         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
7458         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
7459         s390_output_pool_entry.
7460
7461 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
7462
7463         * fixinc/inclhack.def (svr4_preproc_lint_on,
7464         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
7465         fixes, ported from fixinc.svr4.
7466
7467 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
7468
7469         * doc/install.texi (Prerequisites): Mention GNU make requirement.
7470
7471         * Makefile.in (AR_FOR_TARGET): Export it.
7472         (AR_CREATE_FOR_TARGET): Likewise.
7473         (AR_FLAGS_FOR_TARGET): Likewise.
7474         (AR_EXTRACT_FOR_TARGET): Likewise.
7475         (AWK): Likewise.
7476         (BUILD_PREFIX): Likewise.
7477         (BUILD_PREFIX_1): Likewise.
7478         (DESTDIR): Likewise.
7479         (GCC_FOR_TARGET): Likewise.
7480         (INCLUDES): Likewise.
7481         (INSTALL_DATA): Likewise.
7482         (LIB1ASMSRC): Likewise.
7483         (LIBGCC2_CFLAGS): Likewise.
7484         (MACHMODE_H): Likewise.
7485         (NM_FOR_TARGET): Likewise.
7486         (RANLIB_FOR_TARGET): Likewise.
7487         (libsubdir): Likewise.
7488         (slibdir): Likewise.
7489         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
7490         exporting.
7491         (libgcc.a): Don't pass them here.
7492         (stmp-multilib): Or here.
7493         (install-libgcc): Or here.
7494         (install-multilib): Or here.
7495         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
7496         (stage1_build): Or here.
7497
7498 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
7499
7500         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
7501         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
7502
7503 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
7504
7505         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
7506         "*fmaddsf", "*fmsubsf"): New insns.
7507
7508 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7509
7510         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
7511         (C1*C2)/X when unsafe math optimizations are allowed.
7512         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
7513         math optimizations.  Minor code clean-ups.  Recursively call
7514         fold when constructing sub-expressions.
7515
7516 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7517
7518         * builtins.c (fold_builtin_bitop): New function to perform constant
7519         folding of ffs, clz, ctz, popcount and parity builtin functions
7520         and their long and long long variants (such as ffsl and ffsll).
7521         (fold_builtin): fold_builtin_bitop when appropriate.
7522         * simplify-rtx.c (simplify_unary_operation): Honor both
7523         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
7524         evaluating clz and ctz at compile-time, for operands wider
7525         than HOST_WIDE_INT.
7526
7527 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
7528
7529         * builtins.c (build_function_call_expr): Don't set
7530         TREE_SIDE_EFFECTS here.
7531         * expr.c (emit_block_move_via_libcall): Likewise.
7532         (clear_storage_via_libcall): Likewise.
7533         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
7534         CALL_EXPRs.
7535
7536         * gcse.c (is_too_expensive): New function.
7537         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
7538
7539 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
7540
7541         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
7542         commented-out logic to use DCE threads (if present), add
7543         support for POSIX threads.
7544         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
7545         #defines for -pthread.  Add -lpthread to LIB_SPEC when
7546         -pthread.  In both cases take -mt as a synonym for -pthread
7547         for acc compatibility.
7548         Define GTHREAD_USE_WEAK to 0.
7549         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
7550         Remove old logic for DCE threads from LIB_SPEC.
7551         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
7552
7553 2003-08-25  Roger Sayle  <roger@eyesopen.com>
7554
7555         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
7556         return 0 for invalid argument types.  Instead drop through to a
7557         call of expand_call at the bottom of function.  If op is SQRT,
7558         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
7559
7560 2003-08-25  Richard Henderson  <rth@redhat.com>
7561
7562         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
7563         result when op0 is SImode.
7564
7565 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
7566
7567         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
7568         from fixinc.svr4.
7569         * fixinc/fixincl.x: Regenerate.
7570         * fixinc/tests/base/sys/signal.h: Regenerate.
7571
7572 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7573
7574         * combine.c (simplify_comparison): Re-enable widening of comparisons
7575         with non-paradoxical subregs of non-REG expressions.
7576
7577 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7578
7579         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
7580
7581 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7582
7583         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
7584
7585 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7586
7587         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
7588         * c-pretty-print.h (c_pretty_printer): Now typedef to the
7589         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
7590         (struct c_pretty_print_info): Document.  Add new fields.
7591         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
7592         (pp_direct_abstract_declarator): New macro.
7593         (pp_ptr_operator): Likewise.
7594         (pp_simple_type_specifier): Likewise.
7595         (pp_expression): Likewise.
7596         (pp_parameter_list): Rename from pp_parameter_declaration.
7597         * c-pretty-print.c (pp_c_whitespace): Now a function.
7598         (pp_c_left_paren): Likewise.
7599         (pp_c_right_paren): Likewise.
7600         (pp_c_dot): Likewise.
7601         (pp_c_ampersand): Likewise.
7602         (pp_c_arrow): Likewise.
7603         (pp_c_semicolon): Likewise.
7604         (pp_c_type_cast): New function.
7605         (pp_c_space_for_pointer_operator): Likewise.
7606         (pp_c_call_argument_list): Likewise.
7607         (pp_c_cv_qualifier): Adjust prototype.
7608         (pp_c_type_qualifier_list): Likewise.
7609         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
7610         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
7611         Adjust to follow standard grammar.
7612         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
7613         REFERENCE_TYPE.  Tidy.
7614         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
7615         (pp_c_parameter_declaration): Remove.
7616         (pp_c_abstract_declarator): Adjust prototype.
7617         (pp_c_direct_abstract_declarator): Likewise.
7618         (pp_c_type_id): Likewise.
7619         (pp_c_storage_class_specifier): Likewise.
7620         (pp_c_function_specifier): Likewise.
7621         (pp_c_declaration_specifiers): Likewise.
7622         (pp_c_direct_declarator): Likewise.
7623         (pp_c_declarator): Likewise.
7624         (pp_c_declarator): Likewise.
7625         (pp_c_declaration): Likewise.
7626         (pp_c_attributes): Likewise.  Tidy.
7627         (pp_c_function_definition): Adjust prototype.
7628         (pp_c_char): Likewise.
7629         (pp_c_string_literal): Likewise.
7630         (pp_c_integer_constant): Likewise.
7631         (pp_c_character_constant): Likewise.
7632         (pp_c_bool_constant): Likewise.
7633         (pp_c_enumeration_constant): Likewise.
7634         (pp_c_floating_constant): Likewise.
7635         (pp_c_constant): Likewise.
7636         (pp_c_identifier): Likewise.
7637         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
7638         (pp_c_initializer): Adjust prototype.
7639         (pp_c_init_declarator): Likewise.
7640         (pp_c_initializer_list): Likewise.
7641         (pp_c_id_expression): Likewise.
7642         (pp_c_postfix_expression): Likewise.
7643         (pp_c_expression_list): Likewise.
7644         (pp_c_unary_expression): Likewise.
7645         (pp_c_cast_expression): Likewise.
7646         (pp_c_multiplicative_expression): Likewise.
7647         (pp_c_additive_expression): Likewise.
7648         (pp_c_shift_expression): Likewise.
7649         (pp_c_relational_expression): Likewise.
7650         (pp_c_equality_expression): Likewise.
7651         (pp_c_and_expression): Likewise.
7652         (pp_c_exclusive_or_expression): Likewise.
7653         (pp_c_inclusive_or_expression): Likewise.
7654         (pp_c_logical_and_expression): Likewise.
7655         (pp_c_logical_or_expression): Likewise.
7656         (pp_c_conditional_expression): Likewise.
7657         (pp_c_assignment_expression): Likewise.
7658         (pp_c_expression): Likewise.  Tidy.
7659         (pp_c_statement): Likewise.  Document.
7660         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
7661
7662         * c-lang.c (c_initialize_diagnostics): Update.
7663         * c-common.h (strip_pointer_operator): Declare.
7664         * c-common.c (strip_pointer_operator): Define.
7665
7666 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
7667
7668         PR c++/8795
7669         * tree.h (build_method_type_directly): Declare.
7670         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
7671         (vector_size_helper): Likewise.
7672         * tree.c (build_method_type_directly): New function.
7673         (build_method_type): Use it.
7674
7675 2003-08-24  Richard Henderson  <rth@redhat.com>
7676
7677         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
7678         for 16-byte vector modes if sse not enabled; warn for abi change.
7679         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
7680
7681 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
7682
7683         * rtlanal.c (may_trap_p): Simplify an integer comparison.
7684
7685 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7686
7687         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
7688         comment.  Enable for DYNIX/ptx systems (when they switch to
7689         regular fixincludes).
7690         * fixinc/fixincl.x: Regenerate.
7691
7692 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7693
7694         * config/i860/t-i860: New.
7695         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
7696
7697 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
7698
7699         * c-decl.c (pushdecl): Only put decls which finish_struct will do
7700         something about onto incomplete chain.
7701         (finish_struct): If not removing type from incomplete
7702         list, update prev.
7703
7704 2003-08-20  Jan Hubicka  <jh@suse.cz>
7705
7706         PR target/11369
7707         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
7708
7709         PR target/11031
7710         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
7711         const_0_to_15_operand, const_0_to_255_operand): New predicates.
7712         * i386.h (PREDICATE_CODES): Add these.
7713         * i386.c (pinsrw and pextrw patterns): Use them.
7714
7715         PR target/10984
7716         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
7717
7718         PR target/8869
7719         * expr.c (convert_modes): Deal properly with integer to vector
7720         constant conversion.
7721
7722         PR target/8871
7723         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
7724
7725 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7726
7727         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
7728         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
7729         ("*movhi"): ... this.
7730         ("movqi", "*movqi"): Likewise.
7731         ("movqi_64"): Remove.
7732         ("*zero_extendhisi2_31"): Change predicate to s_operand.
7733
7734 2003-08-23  Dale Johannesen  <dalej@apple.com>
7735         * calls.c (emit_library_call_value_1): Fix obvious errors in
7736         arguments to emit_group_store.
7737
7738 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7739
7740         * calls.c (emit_library_call_value_1): Remove code related
7741         to LIBGCC_NEEDS_DOUBLE.
7742         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
7743         * doc/tm.texi: Likewise.
7744         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
7745
7746 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
7747
7748         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7749
7750 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
7751
7752         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
7753         as well.  Put memory references in the varargs alias set.
7754         (mips_expand_prologue): Remove varargs handling from here.
7755
7756 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7757
7758         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
7759         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
7760         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
7761         for function pointer calls.
7762         * config/s390/s390.md ("*negdi2_31"): Likewise.
7763
7764 2003-08-23  Roger Sayle  <roger@eyesopen.com>
7765
7766         * combine.c (apply_distributive_law): Correct comment.
7767
7768 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7769
7770         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
7771
7772 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7773
7774         * config/i860/i860.c (i860_build_va_list): Create the va_decl
7775         declaration.  Document the va_list structure.
7776         (i860_va_start): Initialize the va_list structure.
7777         (i860_va_arg): Rewrite completely.
7778         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
7779         * config/i860/varargs.asm: Do not allocate or initialize
7780         a va_list.  Return the address of the register save area.
7781
7782 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7783
7784         * config/iq2000/iq2000.c: Fix comment typos.
7785         * config/iq2000/iq2000.md: Likewise.
7786
7787 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7788
7789         * config/iq2000/iq2000.c: Follow spelling conventions.
7790         * config/iq2000/iq2000.h: Likewise.
7791         * config/mn10300/mn10300.c: Likewise.
7792
7793 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7794
7795         * config/i860/i860.c (output_move_double): Don't set latehalf
7796         to zero for CONST_INT (since it could be, e.g., -1).
7797
7798         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
7799         (MODSI3_LIBCALL): ...with this one.
7800         (UREMSI3_LIBCALL): Replace this macro...
7801         (UMODSI3_LIBCALL): ...with this one.
7802
7803 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7804
7805         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
7806         (output_delayed_branch): Remove prototype.
7807         (single_insn_src_p): Remove prototype.
7808         * config/i860/i860.c (single_insn_src_p): Remove function.
7809         (output_delayed_branch): Remove function.
7810         (output_delay_insn): Remove function.
7811         (va_start): Remove unconditional test and dead code, re-format.
7812         Fix coding style and spelling problems in various comments.
7813         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
7814         (blockage pattern): ...and use it here.
7815         (all define_peephole patterns related to delayed branches): Remove.
7816         Fix coding style and spelling problems in various comments.
7817
7818 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7819
7820         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
7821         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
7822         Convert all function definitions from traditional to ISO C90 syntax.
7823         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
7824         with 'GCC'.  Remove all uses of the PARAMS macro.
7825         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
7826         * config/i860/i860.md: Likewise.
7827         * config/i860/sysv4.h: Likewise.
7828         * config/i860/varargs.asm: Likewise.
7829
7830 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7831
7832         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
7833         argument.
7834         (tdesc_section): Add prototype.
7835         Update copyright dates.
7836         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
7837         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
7838         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
7839         (targetm): Likewise.
7840         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
7841         for '%d' where necessary.
7842         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
7843         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
7844         by UNITS_PER_WORD when referencing (likewise for .floats).
7845         (I860_SVR4_VARARGS): Rename...
7846         (I860_SVR4_VA_LIST): ...to this.
7847         Call build() with 't' rather than 'field'.
7848         (i860_rtx_costs): New function.
7849         (TARGET_RTX_COSTS): Define.
7850         (i860_internal_label): New function.
7851         (TARGET_ASM_INTERNAL_LABEL): Define.
7852         (i860_file_start): New function.
7853         Update copyright dates.
7854         * config/i860/i860.h (CPP_PREDEFINES): Remove.
7855         (TARGET_CPU_CPP_BUILTINS): Define.
7856         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
7857         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
7858         (ASM_FILE_START): Remove.
7859         (ASM_FILE_START_1): Remove.
7860         (ASM_GLOBALIZE_LABEL): Remove.
7861         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
7862         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
7863         with targetm.asm_out.internal_label.
7864         Update copyright dates.
7865         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
7866         (CPP_PREDEFINES): Remove.
7867         (TARGET_OS_CPP_BUILTINS): Define.
7868         (GLOBAL_ASM_OP): Define.
7869         (ASM_FILE_START): Remove.
7870         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
7871         (TARGET_ASM_FILE_START): Define.
7872         Update copyright dates.
7873
7874 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7875
7876         * gcc/config.gcc (i860-*-sysv4*): Add target.
7877         * config/i860/i860-protos.h: New.
7878         * config/i860/i860.c: New.
7879         * config/i860/i860.h: New.
7880         * config/i860/i860.md: New.
7881         * config/i860/sysv4.h: New.
7882         * config/i860/varargs.asm: New.
7883         * config/i860/x-sysv4: New.
7884
7885 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7886
7887         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
7888         Remove all uses of PARAMS macro.
7889         Convert all function definitions to ISO C90 syntax.
7890         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
7891         * config/pa/fptr.c: Likewise.
7892         * config/pa/lib2funcs.asm: Likewise.
7893         * config/pa/long_double.h: Likewise.
7894         * config/pa/milli64.S: Likewise.
7895         * config/pa/pa-64.h: Likewise.
7896         * config/pa/pa-hpux.h: Likewise.
7897         * config/pa/pa-hpux10.h: Likewise.
7898         * config/pa/pa-hpux11.h: Likewise.
7899         * config/pa/pa-linux.h: Likewise.
7900         * config/pa/pa-modes.def: Likewise.
7901         * config/pa/pa-osf.h: Likewise.
7902         * config/pa/pa-pro-end.h: Likewise.
7903         * config/pa/pa.md: Likewise.
7904         * config/pa/pa32-linux.h: Likewise.
7905         * config/pa/pa64-linux.h: Likewise.
7906         * config/pa/pa64-hpux.h: Likewise.
7907         * config/pa/pa64-regs.h: Likewise.
7908         * config/pa/quadlib.c: Likewise.
7909         * config/pa/rtems.h: Likewise.
7910         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
7911         all uses of the PARAMS macro.
7912         * config/pa/pa.h: Likewise.
7913         * config/pa/som.h: Likewise.
7914
7915         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
7916         Remove all uses of PARAMS macro.
7917         Convert all function definitions to ISO C90 syntax.
7918         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
7919         Remove all uses of PARAMS macro.
7920         * config/iq2000.h: Remove all uses of PARAMS macro.
7921         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
7922
7923 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7924
7925         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
7926         * config/s390/s390.c (gen_consttable): Remove.
7927         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
7928         (s390_output_pool_entry): New function.
7929         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
7930         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
7931         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
7932         (UNSPECV_POOL_ENTRY): ... this new constant.
7933         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
7934         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
7935         ("*pool_entry"): ... and replace by this new insn.
7936         ("literal_pool_31"): Do not emit anchor label if pool empty.
7937
7938         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
7939         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
7940         (s390_fixup_clobbered_return_reg): Remove.
7941         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
7942         (s390_return_addr_rtx): Always retrieve return address from save area
7943         slot.  Use save_return_addr_p to force slot to be filled.
7944         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
7945
7946 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
7947
7948         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
7949         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
7950         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
7951         around SB-1 errata if TARGET_FIX_SB1 is set.
7952         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
7953         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
7954
7955 2003-08-22  Roger Sayle  <roger@eyesopen.com>
7956
7957         * hashtable.c (ht_expand): Avoid calculating rehash for the common
7958         case that the first probe hits an empty hash table slot.
7959
7960 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7961
7962         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
7963
7964 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7965
7966         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
7967         (ptr_extend_plus_imm): ... this.
7968         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
7969         optimization in C++.
7970         (ia64_output_mi_thunk): Support ILP32 mode.
7971
7972 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
7973
7974         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
7975         function.
7976         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
7977
7978 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7979
7980         * config/i386/i386.c (const_int_1_operand): Simplify an
7981         integer comparison.
7982
7983 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
7984
7985         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
7986         * config/rs6000/ppc64-fp.c: Likewise.
7987
7988 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7989
7990         * cfgcleanup.c: Fix comment typos.
7991         * emit-rtl.c: Likewise.
7992         * optabs.c: Likewise.
7993         * ra-build.c: Likewise.
7994         * rtlanal.c: Likewise.
7995         * tree.h: Likewise.
7996
7997 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7998
7999         * c-decl.c: Fix comment formatting.
8000         * cfgrtl.c: Likewise.
8001         * combine.c: Likewise.
8002         * convert.c: Likewise.
8003         * dominance.c: Likewise.
8004         * dwarf2out.c: Likewise.
8005         * dwarfout.c: Likewise.
8006         * expmed.c: Likewise.
8007         * fold-const.c: Likewise.
8008         * gcov.c: Likewise.
8009         * genattrtab.c: Likewise.
8010         * ggc-common.c: Likewise.
8011         * mips-tfile.c: Likewise.
8012         * regmove.c: Likewise.
8013
8014 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8015
8016         * builtin-attrs.def: Fix comment formatting.
8017         * c-pretty-print.c: Likewise.
8018         * diagnostic.h: Likewise.
8019         * langhooks.h: Likewise.
8020         * recog.c: Likewise.
8021         * simplify-rtx.c: Likewise.
8022         * tree.def: Likewise.
8023
8024 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
8025
8026         * config/m68k/m68k-protos.h: Convert to ISO C90.
8027         * config/m68k/m68k.c: Likewise.
8028
8029 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
8030             Paul Dale  <pauli@snapgear.com>
8031             Peter Barada <peter@baradas.org>
8032
8033         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
8034         ColdFire cores.
8035
8036 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
8037
8038         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
8039         * config.gcc (*-*-openbsd): Don't set tm_file.
8040         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
8041         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
8042         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
8043         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
8044         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
8045         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
8046         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
8047         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
8048         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
8049         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
8050         xscale-*-coff): Use explicit and complete lists of target headers
8051         to include.  Move definitions to tm_defines where appropriate.
8052         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
8053         not-yet-contributed configuration.
8054
8055         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
8056         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
8057         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
8058         * config/i386/nto.h, config/iq2000/iq2000.h,
8059         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
8060         * config/m68k/linux.h, config/m68k/m68k-aout.h
8061         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
8062         * config/m68k/netbsd.h, config/m68k/openbsd.h
8063         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
8064         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
8065         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
8066         Remove includes of other target config headers, and
8067         definitions of macros moved to tm_defines lists.  Add #undefs
8068         where now necessary to prevent redefinition warnings.
8069
8070         * config/h8300/coff.h: New file split out of...
8071         * config/h8300/elf.h: ...here.
8072         * config/m68k/hp320base.h: New file split out of...
8073         * config/m68k/hp320.h: ...here.
8074         * config/rs6000/lynxbase.h: New file split out of...
8075         * config/rs6000/lynx.h: ...here.
8076
8077         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
8078         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
8079
8080         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
8081         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
8082         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
8083         Remove unnecessary #ifndef.
8084         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
8085         [under IN_LIBGCC2] with config/.
8086
8087 2003-08-21  Per Bothner  <pbothner@apple.com>
8088
8089         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
8090         to cpp_push_buffer.
8091         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
8092         by return_at_eof check.  Always call _cpp_pop_buffer at end.
8093
8094 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
8095
8096         PR target/11805
8097         * config/h8300/h8300.md (two anonymous patterns): Remove.
8098
8099 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
8100
8101         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
8102         * config/mips/mips.c (function_arg_pass_by_reference): Never return
8103         true for n32 & n64.
8104
8105 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
8106
8107         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
8108         and similarly in (A | C) == D where C & ~D != 0.
8109
8110 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
8111
8112         PR 8180
8113         * configure.in: When testing with_libs and with_headers, treat
8114         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
8115         * configure: Regenerate.
8116
8117 2003-08-20  Peter Barada <peter@baradas.org>
8118
8119         * longlong.h (umul_ppmm): Add ColdFire support.
8120
8121 2003-08-20  Peter Barada <peter@baradas.org>
8122             Bernardo Innocenti  <bernie@develer.com>
8123
8124         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
8125         * config/m68k/m68k.h: Likewise.
8126         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
8127         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
8128         * config/m68k/linux.h: Likewise.
8129         * config/m68k/m68k.c: Likewise.
8130         * config/m68k/m68k.md: Likewise.
8131         * config/m68k/m68kelf.h: Likewise.
8132         * config/m68k/netbsd-elf.h: Likewise.
8133         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
8134
8135 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
8136
8137         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
8138         * config/m68k/m68k.md: Likewise.
8139
8140 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
8141
8142         PR java/11996
8143         Revert this change:
8144         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
8145         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
8146         types with precisions other than those given by native machine
8147         modes.
8148
8149 2003-08-20  Gunther Nikl  <gni@gecko.de>
8150
8151         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
8152         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
8153         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
8154         * config/m68k/m68k.md (anonymous define_insn): Likewise
8155         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
8156         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
8157         code selected by NO_ASM_FMOVECR
8158
8159 2003-08-20  Gunther Nikl  <gni@gecko.de>
8160
8161         * config/m68k/m68k.c (output_move_const_into_data_reg,
8162         output_move_himode): unify MOTOROLA/MIT handling of moveq
8163         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
8164         Likewise
8165
8166 2003-08-20  Gunther Nikl  <gni@gecko.de>
8167
8168         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
8169         label name
8170         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
8171         HOST_WIDE_INT_PRINT_DEC with %wd
8172
8173 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
8174
8175         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
8176         redefine warning.
8177
8178 2003-08-20  Roger Sayle  <roger@eyesopen.com>
8179
8180         PR middle-end/11984
8181         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
8182         operands before calling tree_int_cst_lt when performing associative
8183         transformations.
8184
8185 2003-08-20  Jason Merrill  <jason@redhat.com>
8186
8187         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
8188         (EXPR_CHECK): Don't check for 'r' or 's' if we're
8189         checking IS_EXPR_CODE_CLASS.
8190         * calls.c (calls_function_1): Likewise.
8191         * fold-const.c (fold): Likewise.
8192         * tree.c (iterative_hash_expr): Likewise.
8193         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
8194
8195 2003-08-20  Gunther Nikl  <gni@gecko.de>
8196
8197         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
8198         depending on MOTOROLA_BSR
8199         * config/m68k/m68k.md (anonymous define_insn): Likewise
8200
8201 2003-08-20  Jason Merrill  <jason@redhat.com>
8202
8203         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
8204         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
8205         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
8206         * dojump.c (do_jump): Likewise.
8207         * fold-const.c (operand_equal_p, fold): Likewise.
8208         (tree_expr_nonnegative_p): Likewise.
8209
8210         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
8211         TYPE_USER_ALIGN for FIELD_DECLs.
8212
8213         * attribs.c (decl_attributes): Rebuild the function pointer type after
8214         changing the target type.
8215         * tree.c (get_qualified_type): Also check that the attributes match.
8216
8217 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
8218
8219         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
8220         * objc/config-lang.in (stagestuff): ... to here.
8221
8222 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
8223
8224         PR c++/11946
8225         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
8226         NOP_EXPR) when necessary.
8227         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
8228         types with precisions other than those given by native machine
8229         modes.
8230
8231 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
8232
8233         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
8234         because some macro is defined.
8235
8236         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
8237         options.
8238         * config/i386/darwin.h (ASM_SPEC): New.
8239         (SUBTARGET_EXTRA_SPECS): New.
8240         * config/rs6000/darwin.h (ASM_SPEC): New.
8241         (SUBTARGET_EXTRA_SPECS): New.
8242         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
8243         a cross-compiler between two different processors on Darwin.
8244         * configure: Regenerate.
8245
8246 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8247
8248         * builtins.c: Fix comment typos.
8249         * c-common.c: Likewise.
8250         * c-decl.c: Likewise.
8251         * c-pretty-print.c: Likewise.
8252         * cfgbuild.c: Likewise.
8253         * cfglayout.c: Likewise.
8254         * cfgloopanal.c: Likewise.
8255         * cgraphunit.c: Likewise.
8256         * cppfiles.c: Likewise.
8257         * dwarfout.c: Likewise.
8258         * expr.c: Likewise.
8259         * fold-const.c: Likewise.
8260         * gcse.c: Likewise.
8261         * ggc-page.c: Likewise.
8262         * haifa-sched.c: Likewise.
8263         * pretty-print.c: Likewise.
8264         * tree.c: Likewise.
8265         * tree.h: Likewise.
8266         * value-prof.c: Likewise.
8267
8268 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8269
8270         * c-decl.c: Follow spelling conventions.
8271         * cppfiles.c: Likewise.
8272
8273 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8274
8275         * c-common.c: Fix comment formatting.
8276         * c-common.h: Likewise.
8277         * c-decl.c: Likewise.
8278         * cppinit.c: Likewise.
8279         * cpplib.h: Likewise.
8280         * emit-rtl.c: Likewise.
8281         * input.h: Likewise.
8282         * line-map.h: Likewise.
8283         * opts.c: Likewise.
8284         * opts.h: Likewise.
8285         * simplify-rtx.c: Likewise.
8286
8287 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
8288
8289         * unwind-c.c: Add libgcc-style exception.
8290         * unwind-dw2.c: Likewise.
8291         * unwind-pe.h: Likewise.
8292         * unwind-sjlj.c: Likewise.
8293         * unwind.inc: Likewise.
8294
8295 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
8296
8297         PR c/5582 PR c++/10538
8298         * langhooks-def.h (lhd_decl_uninit): Declare.
8299         (LANG_HOOKS_DECL_UNINIT): New macro.
8300         (LANG_HOOKS_INITIALIZER): Adjust.
8301         * langhooks.h (struct lang_hooks): Add new field
8302         decl_uninit.
8303         * langhooks.c (lhd_decl_uninit): Define.
8304         * c-common.c (c_decl_uninit_1): New function.
8305         (c_decl_uninit): New function.
8306         (warn_init_self): Define.
8307         * c-common.h (c_decl_uninit): Declare.
8308         (warn_init_self): Declare.
8309         * c.opt: Introduce -Winit-self.
8310         * c-opts.c (c_common_handle_options): Set warn_init_self.
8311         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
8312         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
8313         * function.c (uninitialized_vars_warning): Call the language hook.
8314         * doc/invoke.texi: Document -Winit-self.
8315
8316 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
8317
8318         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
8319         to use better predicates and constraints.  Define new
8320         instruction to handle "trap_if" with DI-mode arguments.
8321         (conditional_trap): FAIL if trap code is not 0.
8322
8323 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
8324
8325         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
8326         strstr with $pb to a strcompare with "<pic base>"
8327         (ix86_output_addr_diff_elt): Output the real pic base.
8328
8329 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8330
8331         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
8332         (LANG_HOOKS_INITIALIZER): Correct.
8333         * c-lang.c: Likewise.
8334
8335 2003-08-19  Jan Hubicka  <jh@suse.cz>
8336
8337         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
8338         (cgraph_varpool_mark_needed_node): Likewise.
8339         * cgraph.h (notice_global_symbol): Declare
8340         * varasm.c (notice_global_symbol): Break out from ...
8341         (assemble_start_function): ... here; update for variables.
8342         (assemble_variable): Use notice_global_symbol.
8343
8344 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
8345
8346         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
8347         expect SFmode and DFmode arguments to be passed in FPRs,
8348         regardless of the underlying type.
8349
8350 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
8351
8352         PR target/11924
8353         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
8354         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
8355
8356 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
8357
8358         PR c/11207
8359         * c-typeck.c (set_init_index): Check for negative index.
8360
8361 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
8362
8363         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
8364         call0 ABI.
8365         * config/xtensa/crtn.asm (_init, _fini): Likewise.
8366         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
8367         __umodsi3, __modsi3): Likewise.
8368         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
8369         $(INCLUDES).
8370
8371 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
8372
8373         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
8374
8375 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8376
8377         * config/mips/mips.md: Quote C code in braces.  Remove use of
8378         fake const0_rtx operands.  Remove double backslashes.  Use \;.
8379         Remove workarounds for bogus warnings.
8380
8381 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8382
8383         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
8384         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
8385         rather than TARGET_MIPS4300.
8386         (mulsf3_internal, mulsf3_r4300): Likewise.
8387
8388 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8389
8390         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
8391
8392 2003-08-17  Roger Sayle  <roger@eyesopen.com>
8393
8394         * simplify-rtx.c (associative_constant_p): New function to test
8395         whether an RTX expression is an immediate constant.
8396         (simplify_associative_operation): New function to perform some
8397         reassociation optimizations of associative binary expressions.
8398         (simplify_binary_operation): Use simplify_associative_operation
8399         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
8400         Floating point expressions are only reassociated when unsafe
8401         math optimizations are permitted.
8402
8403 2003-08-17  Andreas Jaeger  <aj@suse.de>
8404
8405         * config/alpha/alpha.md: Remove usage of PARAMS.
8406
8407         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
8408         * config/i386/i386-interix.h: Likewise.
8409         * config/i386/winnt.c: Likewise.
8410         * config/i386/cygming.h: Likewise.
8411         * config/i386/cygwin2.c: Likewise.
8412         * config/darwin.c: Likewise.
8413         * config/darwin-c.c: Likewise.
8414         * config/darwin-protos.h: Likewise.
8415         * config/darwin.h: Likewise.
8416         * config/s390/s390-protos.h: Likewise.
8417         * config/s390/s390.c: Likewise.
8418         * config/ia64/ia64.c: Likewse
8419         * config/ia64/ia64-protos.h: Likewise.
8420         * config/ia64/ia64-c.c: Likewise.
8421
8422 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8423
8424         * config/sparc/sparc.c: Convert to ISO C.
8425
8426         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
8427         * config/sparc/sparc.c: Likewise.
8428
8429 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
8430
8431         PR c++/11512
8432         * stmt.c (expand_expr_stmt_value): Don't warn about any void
8433         typed expression.
8434
8435 2003-08-16  Jan Hubicka  <jh@suse.cz>
8436
8437         * i386.c (ix86_fntype_regparm): Rename from ...
8438         (ix86_function_regparm): ... this one; add fastcall and local
8439         functions.
8440         (ix86_function_ok_for_sibcall): Update.
8441         (ix86_return_pops_args): Likewise.
8442         (init_cumulative_args): Likewise.
8443         (x86_can_output_mi_thunk): Likewise.
8444         (function_arg): Fix formating.
8445         (x86_this_parameter): Fix fastcall.
8446         (x86_output_mi_thunk): Likewise.
8447
8448         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
8449         body as reachable; mark nested functions as needed too.
8450         (dump_cgraph): Do not output global.calls.
8451         * cgraph.h (cgraph_global_info): Kill.
8452         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
8453         (record_call_1): Speedup.
8454         (cgraph_analyze_function): Break out from ...; compute inlining
8455         parameters.
8456         (cgraph_finalize_compilation_unit): ... here.
8457         (cgraph_mark_inline): Kill computation of calls.
8458         (cgraph_decide_inlining): Do not compute most of initial values.
8459
8460 2003-08-14  Roger Sayle  <roger@eyesopen.com>
8461
8462         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
8463         to negate if either operand is easy to negate, if we don't care
8464         about sign-dependent rounding.
8465         (negate_expr): Make the logic to negate a REAL_CST explicit.
8466         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
8467         that's easy to negate, if we don't honor sign-dependent rounding.
8468         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
8469         negate, and the symmetric A * -B as -A * B if A is easy to negate.
8470         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
8471         -C/D if B and C are cheap to negate.  Add an explicit rule to
8472         optimize X/-1.0 as -X when we don't care about signaling NaNs.
8473
8474 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
8475
8476         * Makefile.in (tm_file): Rename tm_include_list.
8477         (tm_p_file): Rename tm_p_include_list.
8478         (build_xm_file): Rename build_xm_include_list.
8479         (host_xm_file): Rename host_xm_include_list.
8480         (xm_file): Rename xm_include_list.
8481         (xm_file_list): Add to be substituted.
8482         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
8483         Update to match.
8484         (bt-load.o): Add missing dependency on $(TM_H).
8485         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
8486         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
8487         build_xm_file, generate both *_file_list and *_include_list
8488         values from it.  (xm_file_list was formerly not being generated.)
8489         In *_include_list, prefix the names of all headers found in
8490         $(srcdir)/config with config/.  In each loop, consider only
8491         the special case files that can actually appear in that list.
8492         AC_SUBST all *_file_list and all *_include_list variables; do
8493         not AC_SUBST the plain *_file variables.
8494         * configure: Regenerate.
8495
8496 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8497
8498         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
8499
8500 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8501
8502         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
8503         direct calls.
8504         (attr_length_call): Include it here.  Improve length estimate for
8505         local calls.
8506         (output_call): Use targetm.binds_local_p.
8507
8508 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8509
8510         * builtins.c (CASE_MATHFN): New helper macro.
8511         (mathfn_built_in): Simplify and sort.
8512
8513         * protoize.c (substr): Delete, callers changed to `strstr'.
8514
8515 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
8516
8517         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
8518         * config/iq2000/xm-iq2000.h: Delete file.
8519
8520 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
8521
8522         * gengtype.c (walk_type): Process a subobject before processing
8523         the pointer that points to the subobject.
8524
8525 2003-08-13  Per Bothner  <pbothner@apple.com>
8526
8527         * regclass.c (init_reg_modes):  Make non-static.
8528         Rename to init_reg_modes_once per new naming convention.
8529         (init_regs):  Don't call init_reg_modes here.
8530         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
8531         * rtl.h (init_reg_modes_once):  New declaration.
8532         * toplev.c (backend_init):  Call init_regs after init_emit_once.
8533
8534 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
8535
8536         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
8537         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
8538
8539 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
8540
8541         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
8542         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
8543
8544 2003-08-13  Dale Johannesen  <dalej@apple.com>
8545
8546         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
8547         handling of decrement-and-branch farther than 32 bits.
8548
8549 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
8550
8551         * configure.in (make_compare_target): Move test to ...
8552         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
8553         * configure: Regenerate.
8554
8555 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
8556
8557         * config/mips/iris6.h: Convert to C90 prototypes.
8558         * config/mips/irix6-libc-compat.c: Likewise.
8559         * config/mips/mips-protos.h: Likewise.
8560         * config/mips/mips.c: Likewise.
8561
8562 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
8563
8564         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
8565         for selected machines.  Comment heavily.
8566         fixinc/fixincl.x: Rebuild.
8567         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
8568
8569 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
8570
8571         * config/mips/mips.h: Tweak various comments.
8572         * config/mips/mips.c: Likewise.
8573
8574 2003-08-11  James E Wilson  <wilson@tuliptree.org>
8575
8576         PR optimization/11319
8577         PR target/10021
8578         * alias.c (find_base_value, case REG): Return 0 not src if no base
8579         found.
8580
8581 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8582
8583         * gcse.c (gmalloc): Fix last change.
8584
8585 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8586
8587         * simplify-rtx.c (simplify_binary_operation): Replace calls to
8588         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
8589         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
8590         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
8591
8592 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8593
8594         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
8595         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
8596         typecode for an ABS_EXPR.
8597
8598         * doc/c-tree.texi: Document ABS_EXPR.
8599
8600 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8601
8602         * fold-const.c (fold): Optimize any associative floating point
8603         operator with -funsafe-math-optimizations, not just MULT_EXPR.
8604
8605 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
8606
8607         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
8608         information in SHmedia case too.
8609         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
8610         Likewise.
8611         (__set_fpscr): Use an access via GOT for PIC case.
8612
8613 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
8614
8615         * configure.in (intermodule): Make switch test more portable.
8616         * configure: Regenerate.
8617
8618 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
8619
8620         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
8621         (restrap): Likewise.
8622
8623 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8624
8625         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
8626         (grealloc): Size argument is a size_t.
8627         (gcalloc): New function.  Use throughout in lieu of
8628         gmalloc/memset.
8629
8630         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
8631         xmalloc/memset.
8632         * config/ia64/ia64.c (ia64_reorg): Likewise.
8633         * conflict.c (conflict_graph_new): Likewise.
8634         * fixinc/fixincl.c (run_compiles): Likewise.
8635         * genattrtab.c (optimize_attrs): Likewise.
8636         * genrecog.c (new_decision): Likewise.
8637         * haifa-sched.c (schedule_block): Likewise.
8638         * hashtable.c (ht_create): Likewise.
8639
8640 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
8641
8642         * config/xtensa/lib2funcs.S: Fix whitespace.
8643         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
8644         syntax where appropriate.  Remove unnecessary backslash escapes.
8645         Reformat comments and fix some code formatting.
8646         (extendqisi2): Rearrange conditional.
8647         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
8648         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
8649         of fatal_insn.
8650
8651 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
8652
8653         * config/mips/mips.c: Various formatting fixes.
8654         (override_options): Resync -mtune handling with gas.
8655         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
8656         * config/mips/mips.h: More formatting fixes.
8657         (mips_abi): Move declaration.
8658         * config/mips/mips.md (exception_receiver): Add mode to
8659         unspec_volatile.
8660
8661 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
8662
8663         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
8664         evsplatfi here.
8665         (bdesc_1arg): Remove evsplati and evsplatfi.
8666
8667 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
8668
8669         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
8670         into account.
8671
8672 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8673
8674         * builtins.c (expand_builtin_strcat): Optimize constant strings.
8675
8676 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8677
8678         * pretty-print.c (pp_base_indent): Rename from pp_indent.
8679         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
8680         (struct c_pretty_print_info): Add more fields.
8681         (pp_c_left_paren): Move to c-pretty-print.c.
8682         (pp_c_right_paren): Likewise.
8683         (pp_c_left_brace): Likewise.
8684         (pp_c_right_brace): Likewise.
8685         (pp_c_left_bracket): Likewise.
8686         (pp_c_right_bracket): Likewise.
8687         (pp_c_declarator): Declare.
8688         (pp_c_direct_declarator): Likewise.
8689         (pp_c_specifier_qualifier_list): Likewise.
8690         (pp_c_type_id): Likewise.
8691         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
8692         (pp_c_type_qualifier_list): New.
8693         (pp_c_pointer): Likewise.
8694         (pp_c_parameter_type_list): Likewise.
8695         (pp_c_function_definition): Likewise.
8696         (pp_c_id_expression): Likewise.
8697         (pp_c_simple_type_specifier): Tidy.
8698         (pp_c_unary_expression): Likewise.
8699         (pp_c_expression): Likewise.
8700         (pp_c_pretty_printer_init): Likewise.
8701         (pp_c_specifier_qualifier_list): Rework..
8702         (pp_c_abstract_declarator): Likewise.
8703         (pp_c_postfix_expression): Likewise.
8704         (pp_c_primary_expression): Likewise.
8705         (pp_c_cast_expression): Likewise.
8706         (pp_c_direct_abstract_declarator): Likewise.
8707         (pp_c_storage_class_specifier): Likewise.
8708         (pp_c_function_specifier): Likewise.
8709         (pp_c_declaration_specifiers): Likewise.
8710         (pp_c_direct_declarator): Likewise.
8711         (pp_c_declarator): Likewise.
8712         (pp_c_declaration): Likewise.
8713         (pp_c_statement): Likewise.
8714         (pp_c_integer_constant): Rename from pp_c_integer_literal.
8715         (pp_c_character_constant): Rename from pp_c_character_literal.
8716         (pp_c_bool_constant): Rename from pp_c_bool_literal.
8717         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
8718         (pp_c_floating_constant): Rename from pp_c_real_literal.
8719         (pp_c_constant): Rename from pp_c_literal.
8720         * c-lang.c: Include diagnostic.h and c-pretty-print.h
8721         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
8722         (c_initialize_diagnostics): New.
8723         * Makefile.in (c-lang.o): Update dependency.
8724
8725 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
8726
8727         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
8728
8729 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
8730
8731         * config/mips/mips.c (mips_no_mips16_string): Remove.
8732         (override_options): Don't handle -mips16 as part of -mipsN.
8733         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
8734         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
8735         (TARGET_OPTIONS): Remove -mno-mips16.
8736
8737 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
8738
8739         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
8740         (coprocessor2_operand): Likewise.
8741         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
8742         (lookup_name): Remove declaration.
8743         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
8744         (mips16, mips_abicalls): Remove.
8745         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
8746         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
8747         (coprocessor_operand, coprocessor2_operand): Remove.
8748         (override_options): Don't set mips16 or mips_abicalls.
8749         (print_operand): Don't expect SIGN_EXTEND operands.
8750         (mips_secondary_reload_class): Likewise.
8751         (mips_output_conditional_branch): Remove disabled long-branch code.
8752         * config/mips/mips.h (call_used_regs): Remove declaration.
8753         (may_call_alloca): Likewise.
8754         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
8755         (mips_abicalls, mips16): Remove declarations.
8756         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
8757         (CC1_SPEC): Remove outdated comment.
8758         (MIPS_VERSION, MACHINE_TYPE): Remove.
8759         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8760         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
8761         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
8762         (PUSH_ROUNDING): Likewise.
8763         (ASSEMBLER_SCRATCH_REGNUM): Remove.
8764         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
8765         and mips16 with TARGET_MIPS16.
8766
8767 2003-08-09  Per Bothner  <pbothner@apple.com>
8768
8769         * cppinit.c (cpp_read_main_file):  Split out source-independent
8770         initialization to separate function ...
8771         (cpp_post_options):  New function.
8772         * cppfiles.c (cpp_stack_file):  Rename public name to ...
8773         (_cpp_stack_file):  New internal function name.
8774         * cpplib.h:  Update accordingly.
8775         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
8776         (cpp_read_main_file):  Don't initialize line here.
8777         * c-opts.c (c_common_post_options):  Call cpp_post_options.
8778         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
8779         * fix-header.c (read_scan_file):  Call cpp_post_options.
8780
8781 2003-08-09  Per Bothner  <per@bothner.com>
8782
8783         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
8784
8785 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8786
8787         * pa.c (pa_asm_output_mi_thunk): Fix typo.
8788
8789 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
8790
8791         PR preprocessor/11839
8792         * cppfiles.c (open_file): Handle ENOTDIR.
8793
8794 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
8795
8796         PR target/11699
8797         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
8798
8799 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8800
8801         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
8802         source/destination is not a register operand.
8803
8804 2003-08-08  Richard Henderson  <rth@redhat.com>
8805
8806         PR target/11535
8807         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
8808         RETURN_ADDRESS_POINTER_REGNUM.
8809         (ia64_expand_prologue): Don't frob it.
8810         (ia64_output_function_epilogue): Likewise.
8811         (ia64_return_addr_rtx): New.
8812         (ia64_split_return_addr_rtx): New.
8813         * config/ia64/ia64-protos.h: Update.
8814         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
8815         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
8816         (GENERAL_REGNO_P): Don't check it.
8817         (AR_*_REGNUM): Renumber.
8818         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
8819         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
8820         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
8821         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
8822         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
8823         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
8824         (movdi_ret_addr): New.
8825
8826 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
8827
8828         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
8829
8830 2003-08-08  Roger Sayle  <roger@eyesopen.com>
8831
8832         * tree.h (get_identifier) Define a macro form of get_identifier
8833         that calls get_identifier_with_length when the string is constant.
8834         (get_identifier_with_length): Change type of second argument to
8835         size_t in prototype.
8836         * stringpool.c (get_identifier): Undefine the macro before giving
8837         the function definition.
8838         (get_identifier_with_length): Change  type of second argument to
8839         size_t in function definition.
8840         * hashtable.c (calc_hash): Change type of second argument to size_t.
8841         (ht_lookup): Change type of third argument to size_t.  Reorganize
8842         to speed-up the cases where the hash table slot is empty, or the
8843         first probe matches (i.e. there isn't a collision).
8844         * hashtable.h (ht_lookup): Adjust function prototype.
8845
8846 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
8847
8848         PR target/9697
8849         PR target/11777
8850         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
8851
8852 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
8853
8854         * common.opt: Add debug switches.
8855         * flags.h (use_gnu_debug_info_extensions): Boolify.
8856         * opts.c (write_symbols, debug_info_level,
8857         use_gnu_debug_info_extensions): Move from toplev.c.
8858         (set_debug_level): New.
8859         (common_handle_options): Handle debug switches.
8860         (print_help): Display target options directly.
8861         * toplev.c (debug_hooks): Don't initialize.
8862         (write_symbols, debug_info_level,
8863         use_gnu_debug_info_extensions): Move to opts.c.
8864         (debug_args, display_help, decode_g_option): Remove.
8865         (process_options): Set no debug if level zero here,
8866         and no-debug-hooks.  Error here if impossible debug format selected.
8867         * toplev.h (display_help, decode_g_option): Remove.
8868
8869 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
8870
8871         * tree.c (get_file_function_name_long): Fix size of alloca() area.
8872
8873 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
8874
8875         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
8876         and gcc_cv_prog_cmp_skip.
8877         * configure: Regenerate.
8878
8879 2003-08-08  Stan Cox  <scox@redhat.com>
8880
8881         * config/iq2000: New port.
8882         * config.gcc (iq2000-*-elf): Added.
8883         * doc/install.texi (Specific):  Add iq2000 description.
8884
8885 2003-08-08  Andreas Schwab  <schwab@suse.de>
8886
8887         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
8888         and insert missing empty argument.
8889         * configure: Regenerate.
8890
8891 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8892
8893         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
8894         (attr_length_millicode_call): Likewise.
8895         (attr_length_call): Likewise.  Revise some maximum insn lengths.
8896         (attr_length_indirect_call): Likewise.
8897         (output_call): Fix thinko that added extra nop.
8898         * pa.h (IN_NAMED_SECTION_P): Define.
8899
8900         PR c++/11712
8901         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
8902         __STDC_EXT__ when using C++ dialect.
8903
8904 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
8905
8906         * sh.c (calc_live_regs): If the return address pointer is live,
8907         force pr live.
8908         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
8909         for saves / restores.
8910         (sh_expand_epilogue): If sh_media_register_for_return returns a
8911         register number, flag the instructions that restores PR_MEDIA_REG
8912         as possibly dead.
8913         Remove dead update of offset.
8914         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
8915         we can use the result of get_hard_reg_initial_val.
8916         * sh.md (UNSPEC_RA): New constant.
8917         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
8918         (load_ra).  Handle UNSPEC_RA.
8919         (sibcall_media): Use PR_MEDIA_REG.
8920
8921         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
8922         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
8923         needs saving on SHmedia.
8924
8925 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
8926
8927         * config/s390/s390.md: Replace all occurrences of \\t with \t.
8928
8929 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
8930
8931         * local-alloc.c (combine_regs): Fix comment typo.
8932
8933 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
8934
8935         * c-decl.c (builtin_decls): Replace with first_builtin_decl
8936         and last_builtin_decl.
8937         (c_init_decl_processing): Initialize both.
8938         (c_reset_state): Iterate from first_builtin_decl to
8939         last_builtin_decl inclusive to reintroduce builtins.
8940
8941 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
8942
8943         * doc/extend.texi (Function Attributes): Document the IA-64 version
8944         of the "model" attribute.
8945
8946         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
8947         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
8948         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
8949
8950         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
8951         (ia64_encode_section_info): Likewise.
8952         (ia64_attribute_table): Add "model" attribute.
8953         (TARGET_ENCODE_SECTION_INFO): Define.
8954         (small_addr_symbolic_operand): New function.
8955         (got_symbolic_operand): Return 0 for a symbolref to an object
8956         in the small address area.
8957         (enum ia64_addr_area): New type.
8958         (small_ident1): New variable.
8959         (small_ident2): Likewise.
8960         (init_idents): New function.
8961         (ia64_get_addr_area): Likewise.
8962         (ia64_encode_addr_area): Likewise.
8963         (ia64_encode_section_info): Likewise.
8964         (ia64_expand_load_address): For symbolic references to objects in
8965         the small-address-area, load the address via gen_rtx_SET() (which,
8966         eventually, will expand into "addl").
8967
8968 2003-08-06  Per Bothner  <pbothner@apple.com>
8969
8970         * line-map.h (fileline):  New typedef.
8971         (struct line_map, linemap_add, linemap_lookup):  Use it.
8972         * input.h (struct location_s):  Comment notes that long-term we want
8973         to replace it by fileline.
8974
8975 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
8976
8977         Fix SHcompact exception handling:
8978         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
8979         by the prologue, return a MEM with return_address_pointer_rtx
8980         as address.
8981         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
8982         (RETURN_ADDR_OFFSET): Don't define.
8983         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
8984         registers that are visible in compact mode.  Show that SHmedia
8985         registers still exist in compact mode, even if there are not
8986         readily accessible.
8987         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
8988         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
8989         and DW_EH_PE_pcrel for pic data.
8990         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
8991         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
8992         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
8993         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
8994         * sh.md (movsi_media-1): New splitter.
8995
8996 2003-08-06  Graeme Peterson <gp@qnx.com>
8997
8998         * config/i386/nto.h: New.
8999         * config/i386/t-nto: New.
9000         * config.gcc (i[34567]86-*-nto-qnx*): New.
9001
9002 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
9003
9004         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
9005
9006 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
9007
9008         * calls.c (load_register_parameters): Arrange for call_fusage to
9009         report the whole register as used when shifting to the msb.
9010
9011 2003-08-05  Roger Sayle  <roger@eyesopen.com>
9012
9013         * builtins.c (expand_builtin): When not optimizing, call the library
9014         function for all builtins that have library functions (except alloca).
9015
9016 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
9017
9018         * c.opt: Introduce -fworking-directory.
9019         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
9020         * c-common.h (flag_working_directory): Declare.
9021         * c-common.c (flag_working_directory): Define.
9022         * c-opts.c (c_common_handle_options): Set it.
9023         (sanitize_cpp_opts): Set...
9024         * cpplib.h (struct cpp_options): ... working_directory option.
9025         (struct cpp_callbacks): Add dir_change.
9026         * cppinit.c (read_original_filename): Call...
9027         (read_original_directory): New.  Look for # 1 "directory//"
9028         and process it.
9029         (cpp_read_main_file): Call dir_change callback if working_directory
9030         option is set.
9031         * gcc.c (cpp_unique_options): Pass -g*.
9032         * c-lex.c (cb_dir_change): New.
9033         (init_c_lex): Set dir_change callback.
9034         * toplev.c (src_pwd): New static variable.
9035         (set_src_pwd, get_src_pwd): New functions.
9036         * toplev.h (get_src_pwd, set_src_pwd): Declare.
9037         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
9038         * dwarf2out.c (gen_compile_unit_die): Likewise.
9039         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
9040
9041 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9042
9043         * pretty-print.h (pp_set_line_maximum_length): Make macro.
9044         (pp_set_prefix): Likewise.
9045         (pp_destroy_prefix): Likewise.
9046         (pp_remaining_character_count_for_line): Likewise.
9047         (pp_clear_output_area): Likewise.
9048         (pp_formatted_text): Likewise.
9049         (pp_last_position_in_text): Likewise.
9050         (pp_emit_prefix): Likewise.
9051         (pp_append_text): Likewise.
9052         (pp_flush): Likewise.
9053         (pp_format_text): Likewise.
9054         (pp_format_verbatim): Likewise.
9055         (pp_tree_identifier): Tidy.
9056         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
9057         (pp_base_format_verbatim): Rename from pp_format_verbatim.
9058         (pp_base_flush): Rename from pp_flush.
9059         (pp_base_set_line_maximum_length): Rename from
9060         pp_set_line_maximum_length.
9061         (pp_base_clear_output_area): Rename from pp_clear_output_area.
9062         (pp_base_set_prefix): Rename from pp_set_prefix.
9063         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
9064         (pp_base_emit_prefix): Rename from pp_emit_prefix.
9065         (pp_base_append_text): Rename from pp_append_text.
9066         (pp_base_formatted_text): Rename from pp_formatted_text.
9067         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
9068         (pp_base_remaining_character_count_for_line): Rename from
9069         pp_remaining_character_count_for_line.
9070         * diagnostic.h (diagnostic_format_decoder): Tidy.
9071         (diagnostic_flush_buffer): Likewise.
9072         * c-pretty-print.h: (pp_c_string_literal): Declare.
9073         (pp_c_real_literal): Likewise.
9074         (pp_c_integer_literal): Likewise.
9075         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
9076         pp_identifier.
9077         (pp_c_character_literal): Tidy.
9078         (pp_c_string_literal): Make public.
9079         (pp_c_bool_literal): Likewise.
9080         (pp_c_integer_literal): Likewise.
9081         (pp_c_real_literal): Likewise.
9082
9083         * Makefile.in (C_PRETTY_PRINT_H): New variable.
9084         (c-pretty-print.o): Update dependence.
9085
9086 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
9087
9088         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
9089         ".set nomacro" state.
9090         (fix_truncsfsi2_macro): Likewise.
9091
9092 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
9093
9094         * tree.h (DID_INLINE_FUNC): Remove macro.
9095         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
9096         add tree check for FUNCTION_DECL.
9097         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
9098         (struct tree_decl): Rename inlined_function_flag to
9099         declared_inline_flag.
9100         * c-common.h (c_lang_decl): Remove.
9101         (DECL_ESTIMATED_INSNS): Remove.
9102         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
9103         (DECL_DECLARED_INLINE_P): Remove.
9104         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
9105         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
9106         (finish_function): Make uninlinable a bool.  Fixup call to
9107         tree_inlinable_function_p() and fix some code style issues.
9108         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
9109         * cgraph.c (dump_cgraph): Likewise.
9110         * cgraphunit.c (cgraph_decide_inlining): Likewise
9111         (cgraph_finalize_compilation_unit): Likewise.
9112         Also update call to tree_inlinable_function_p().
9113         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
9114         look at DECL_DECLARED_INLINE and reverse logic.
9115         * print-tree.c (print_node): Likewise.
9116         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
9117         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
9118         prototype.
9119         * tree-inline.c (inlinable_function_p): Split up in this function to
9120         check for basic inlining inhibiting conditions, and new
9121         limits_allow_inlining() function.  Warn if inlining is impossible
9122         because the inline candidate calls alloca or uses sjlj exceptions.
9123         (limits_allow_inlining): this new function to check if the inlining
9124         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
9125         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
9126         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
9127         Update prototypes.
9128         (tree_inlinable_function_p): Make a bool.  Update call to
9129         inlinable_function_p
9130         (expand_call_inline): Use limits_allow_inlining() when not in
9131         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
9132         instead see if the function was declared `inline'.
9133
9134 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
9135
9136         * gcse.c (try_replace_reg): Fix updating of note.
9137
9138 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9139
9140         PR middle-end/11771
9141         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
9142         logic in negate_expr, i.e. we don't invert (A-B) for floating
9143         point types unless flag_unsafe_math_optimizations.
9144
9145 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9146
9147         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
9148         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
9149         for floating point expressions with -ffast-math.
9150         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
9151         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
9152
9153 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9154
9155         * c-common.c (flag_noniso_default_format_attributes): Delete.
9156         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
9157         (c_attrs_initialized): Delete.
9158         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
9159         always call c_init_attributes.
9160         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
9161         set c_attrs_initialized when done.
9162         (c_common_insert_default_attributes): Delete.
9163         * c-common.h (flag_noniso_default_format_attributes): Delete.
9164         (c_coomon_insert_default_attributes): Delete prototype.
9165         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
9166         flag_noniso_default_format_attributes.
9167
9168         * c-decl.c (c_insert_default_attributes): Delete.
9169         * c-tree.h (c_insert_default_attributes): Delete prototype.
9170
9171         * attribs.c (decl_attributes): Don't call insert_default_attributes
9172         langhook.  Update function description comment.
9173         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
9174         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
9175         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
9176         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
9177
9178         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
9179         define.
9180
9181 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
9182
9183         * config/mips/mips.c (override_options): Disable -G on targets that
9184         have no .section support.
9185         (mips_select_section): Use default_select_section for such targets.
9186
9187 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
9188
9189         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
9190         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
9191         * fixinc/fixincl.x: Rebuild.
9192         * fixinc/tests/base/regexp.h: New test.
9193
9194 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
9195
9196         * c-ppoutput.c (cb_line_change): Don't skip line changing while
9197         parsing macro arguments in the top-level context.
9198
9199 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
9200
9201         * config.in: Remove HAVE_LSTAT.
9202         * configure, configure.in: Don't test for lstat.
9203
9204 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9205
9206         * opts.c (decode_options): Do language-specific initialization for
9207         the global diagnostic context.
9208         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
9209         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
9210         (LANG_HOOKS_INITIALIZER): Adjust.
9211         * langhooks.h (struct lang_hooks): Add new field
9212         initialize_diagnostics.
9213         * langhooks.c (lhd_initialize_diagnostics): Define.
9214
9215 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9216
9217         * pretty-print.h:   Adjust macro definitions.
9218         * pretty-print.c (pp_newline): Rename to pp_base_newline.
9219         (pp_character): Rename to pp_base_character.
9220         (pp_string): Rename to pp_base_string.
9221         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
9222         (pp_newline):  Likewise.  Adjust.
9223         (pp_c_char): Adjust.
9224
9225 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9226
9227         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
9228         BUILT_IN_LLABS): Move to miscellaneous section.
9229
9230 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
9231
9232         PR preprocessor/11534
9233         * cppexp.c (parse_defined): Warn only if -pedantic.
9234
9235 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
9236
9237         * cppfiles.c (stack_file): Use file path.
9238
9239 2003-08-02  Roger Sayle  <roger@eyesopen.com>
9240
9241         * builtin-types.def (BT_SSIZE): New primitive type.
9242         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
9243         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
9244         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
9245         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
9246         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
9247         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
9248         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
9249         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
9250         few functions that define default attributes using it.
9251         * c-common.c (c_common_insert_default_attributes): Do nothing.
9252
9253         * doc/extend.texi: Document these "new" builtins.
9254
9255 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
9256
9257         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
9258         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
9259         when -mieee-fp set and -shared not set.
9260         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
9261
9262 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
9263
9264         * cppfiles.c (struct _cpp_file): Rename once_only_next to
9265         next_file.  Remove import and pragma_once, add once_only.
9266         (find_file): Add new file structures to the all_files list.
9267         (should_stack_file): Mark #import-ed files once-only, and
9268         don't stack them if the file has already been stacked.
9269         (_cp_mark_file_once_only): Simplify.
9270         * cpphash.h (struct cpp_reader): Rename once_only_files
9271         to all_files.  Rename saw_pragma_once to seen_once_only.
9272         (_cpp_mark_file_once_only): Update prototype.
9273         * cpplib.c (do_pragma_once): Update.
9274
9275 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
9276
9277         * cppfiles.c (ENOTDIR): Remove.
9278         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
9279         other than ENOENT here.
9280         (once_only_file_p): Rename should_stack_file.
9281         (find_file, open_file_failed, read_file_guts): Report errors
9282         with full path name.
9283         (read_file): Move pch handling to should_stack_file.
9284         (should_stack_file): Handle PCH and once-only issues, and
9285         reading the file.
9286         (stack_file): Don't do file reads.
9287
9288 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9289
9290         * libgcov.c (gcov_exit): Cleanup and fix.
9291         * profile.c (compute_value_histograms): Don't try to read profiles
9292         that are not present.
9293
9294 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9295
9296         * builtins.def: Categorize.
9297
9298         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
9299         Mind fp rounding.
9300         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
9301
9302 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
9303
9304         * config.gcc: Enable posix threads by default on darwin.
9305
9306 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
9307
9308         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
9309         even if nehedges1 is 0.
9310
9311 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9312
9313         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
9314         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
9315         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
9316         and defintions.
9317
9318         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
9319         * fixinc/fixincl.x: Regenerate.
9320         * fixinc/tests/base/math.h: Regenerate to match test_text change.
9321
9322 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9323
9324         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
9325
9326 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9327
9328         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
9329         for accesses to exc_ptr.
9330
9331 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
9332
9333         * doc/sourcebuild.texi (Front End Directory): Don't make references
9334         to libsubdir, it's not part of the interface to frontends.
9335         * doc/install.texi (Configuration): Help users read faster by saying
9336         that GCC's configure options are the standard autoconf ones.
9337         Mention --libdir.  Update the default rules for finding the
9338         assembler.  Don't use libsubdir since we haven't said what it means.
9339         (Specific): In the Solaris 7 notes, update the place to put the
9340         assembler.
9341         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
9342         * doc/cpp.texi (Search Path): Actually, the search path
9343         depends on libdir, which can relocate with cpp.
9344         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
9345         now a private interface between the Makefile and the driver.
9346
9347 2003-08-01  Richard Henderson  <rth@redhat.com>
9348
9349         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
9350
9351         * varasm.c (lookup_constant_def): New function.
9352         * rtl.h (lookup_constant_def): Declare it.
9353         * dwarf2out.c (loc_descriptor_from_tree): Use it.
9354         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
9355
9356 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
9357
9358         * c-decl.c (gettags, pushdecl_function_level): Delete.
9359         (last_function_parm_vars): Rename last_function_parm_others.
9360         (current_function_parm_vars): Rename current_function_parm_others.
9361         (struct c_scope): Rewrite comment explaining this data structure.
9362         Add names_last, blocks_last, parms_last fields.  Rename
9363         incomplete_list to incomplete.
9364         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
9365         (poplevel): Ignore second argument.  No need to nreverse
9366         anything.  Restructure such that each list is processed
9367         exactly once.  Use 'const location_t *locus' syntactic sugar
9368         variable where useful.  Issue unused variable warnings
9369         ourselves, do not rely on function.c.
9370         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
9371         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
9372         (implicitly_declare): decl cannot be error_mark_node.
9373         (undeclared_variable): Manipulate scope structure directly.
9374         (c_make_fname_decl): Likewise.
9375         (getdecls, c_init_decl_processing): Fix comment.
9376         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
9377         for 'last' variable.
9378         (grokparms): No need to nreverse parms list.
9379         (store_parm_decls_newstyle): Set up the parms_last and
9380         names_last fields of the new scope too.
9381         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
9382         on parms to begin with; check this under ENABLE_CHECKING.  Set
9383         up parms_last.
9384         (check_for_loop_decls): Refer directly to current_scope->tags.
9385         Use consistent quote style in diagnostics.
9386         (c_write_global_declarations): The names list is not backward.
9387
9388         * c-common.h: Don't prototype gettags.
9389         * c-parse.in: Call poplevel with second argument 0 always.
9390
9391 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9392
9393         * builtins.def: Resort builtins.
9394
9395 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9396
9397         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
9398         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
9399         Prepend "__builtin_" onto NAME with string concatenation.  Remove
9400         explicit "__builtin_" from each macro call.
9401
9402         Reformat entire file.
9403
9404 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9405
9406         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
9407         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
9408
9409 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
9410
9411         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
9412         CCL1, or CCL2 modes with floating point operations.
9413
9414         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
9415         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
9416         "*subdf3_cconly"): New insns.
9417         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
9418
9419 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
9420
9421         * Makefile.in: Refine dependencies.
9422         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
9423         * c.opt: Update help for -Wimport.
9424         * cppfiles.c: Include hashtab.h.  Update comments.
9425         (stack_file): Read the file before updating dependencies.
9426         (once_only_file_p): Be smarter about marking once-only files.
9427         (_cpp_mark_file_once_only): Correct the check for existence on
9428         the list.
9429         (open_file_failed): Use name not path, which is NULL.
9430         * cpphash.h: Don't include hashtab.h.
9431         (struct _cpp_file): Remove.
9432         (struct cpp_reader): Update.
9433         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
9434         * cpplib.h (struct cpp_options): Remove warn_import.
9435         (cpp_simplify_path): Remove.
9436
9437 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
9438
9439         PR c++/11295
9440         * doc/extend.texi (Statement Expressions): Document C++ semantics.
9441
9442 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
9443
9444         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
9445
9446 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9447
9448         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
9449         throughout.
9450         * builtins.def: Likewise.
9451
9452 2003-07-31  Jason Merrill  <jason@redhat.com>
9453
9454         * Makefile.in (bubblestrap): Don't require a previous full
9455         bootstrap.
9456
9457         * expr.c (mostly_zeros_p): No longer static.
9458         * tree.h: Declare it.
9459         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
9460         unless we need to do substitutions.
9461
9462 2003-07-31  Roger Sayle  <roger@eyesopen.com>
9463
9464         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
9465         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
9466         as pow(x,2.0) when the latter will be expanded back into x*x.
9467         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
9468         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
9469         pow can never set errno when used with an integer exponent.
9470         Always use expand_powi when exponent is -1, 0, 1 or 2.
9471         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
9472         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
9473         the pow forms of these expressions.
9474
9475 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
9476
9477         * Makefile.in (libexecdir): New.
9478         (libsubdir): Use gcc instead of gcc-lib.
9479         (libexecsubdir): New.
9480         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
9481         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
9482         gcc-lib.
9483         (installdirs): Make libexecsubdir.
9484         (install-common): Put executables in libexecsubdir.
9485         (itoolsdir): Use libexecsubdir.
9486         (itoolsdatadir): New.
9487         (install-mkheaders): Separate data files and executables.
9488         (install-collect2): Put executables in libexecsubdir.
9489         (uninstall): Remove libexecsubdir.
9490         * mkheaders.in: Update for new arrangement of files.
9491         (libexecdir): New.
9492         (libexecsubdir): New.
9493         (itoolsdir): Use libexecsubdir.
9494         (itoolsdatadir): New.
9495         * gcc.c (gcc_libexec_prefix): New.
9496         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
9497         (standard_exec_prefix_1): Use libexec.
9498         (standard_exec_prefix_2): New.
9499         (standard_libexec_prefix): New.
9500         (process_command): Update for new arrangement of files.  Compute
9501         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
9502
9503 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9504
9505         * inclhack.def (stdio_va_list): Avoid bogus replacement which
9506         triggers on Interix.
9507         * fixincl.x: Regenerate.
9508
9509 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
9510
9511         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
9512         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
9513
9514 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9515
9516         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
9517
9518 2003-07-31  Per Bothner  <pbothner@apple.com>
9519
9520         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
9521         (add_input_filename):  New function.
9522         (handle_options):  Call add_input_filename directly instead of
9523         with a lang hook.
9524         * opts.h (in_fnames, num_in_fnames):  Moved here.
9525         (add_input_filename):  Declare.
9526         * c-decl.c:  Need to #include opts.h.
9527         * Makefile.in (c-decl.o):  Also depends on opts.h.
9528         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
9529         (c_common_handle_filename):  Replaced by add_input_filename.
9530         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
9531         Remove.
9532         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
9533         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
9534         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
9535         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
9536
9537 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9538
9539         * combine.c (try_combine): Set JUMP_LABEL for newly created
9540         unconditional jump.
9541
9542 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9543
9544         * fold-const.c (fold): Fold some comparisons of bit operations.
9545
9546 2003-07-31  Jan Hubicka  <jh@suse.cz>
9547
9548         * cgraph.c (create_edge): Fix typo.
9549         * i386.c (pic_symbolic_operand): Reorder tests.
9550
9551 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
9552
9553         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
9554         more fully.
9555         (Gcov Data Files): Update.
9556
9557 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9558
9559         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
9560         default.
9561
9562         * gthr-posix.c: New file.
9563         * gthr-posix.h: Define _REENTRANT if missing.
9564         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
9565
9566         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
9567         by gthr-posix.o.
9568         * config/alpha/t-osf-pthread: New file.
9569
9570         * fixinc/inclhack.def (alpha_pthread): New fix.
9571         * fixinc/fixincl.x: Regenerate.
9572         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
9573
9574         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
9575         warning.
9576         Fixes PR bootstrap/9330.
9577
9578 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9579
9580         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
9581         without GNU ld.
9582         Update comment.
9583         * configure: Regenerate.
9584
9585 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
9586
9587         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
9588         setter.
9589
9590 2003-07-30  Roger Sayle  <roger@eyesopen.com>
9591
9592         * builtins.def: Alphabetize.
9593
9594 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
9595
9596         * doc/c-tree.texi: Normalize spellings of "lowercase" and
9597         "uppercase".
9598         * doc/cpp.texi: Likewise.
9599         * doc/md.texi: Likewise.
9600         * doc/rtl.texi: Likewise.
9601         * doc/tm.texi: Likewise.
9602
9603 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
9604
9605         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
9606         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
9607         of cc1obj.
9608
9609 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
9610
9611         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
9612         macros before defining them.
9613
9614 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
9615
9616         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
9617         UNSPECV_BLOCKAGE): New constants.
9618         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
9619         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
9620         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
9621         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
9622
9623         (all insns and expanders): Write output control string as brace block
9624         where appropriate.  Remove \-escapes for doublequote characters.
9625
9626 2003-07-31  Jan Hubicka  <jh@suse.cz>
9627
9628         * gcse.c (insert_store): Fix typo in previous patch.
9629
9630 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
9631
9632         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
9633
9634 2003-07-30  Andi Kleen  <ak@muc.de>
9635
9636         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
9637
9638 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9639
9640         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
9641         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
9642         GCOV_N_VALUE_COUNTERS): New.
9643         * profile.c (compute_value_histograms): New static function.
9644         (branch_prob): Read back the value histograms.
9645         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
9646         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
9647         * value-prof.c: Add comment on reading the profile.
9648         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
9649         * doc/invoke.texi (-fprofile-values): Document behavior with
9650         -fbranch-probabilities.
9651
9652 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
9653
9654         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
9655
9656 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
9657
9658         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
9659         symbolically.
9660
9661 2003-07-30  Jan Hubicka  <jh@suse.cz>
9662
9663         * gcse.c (insert_store): Ignore fake edges.
9664
9665         * c-common.c (flag_vtable_gc): Kill.
9666         * c-common.g (flag_vtable_gc): Kill.
9667         * c-opts (c_common_handle_option): Kill.
9668         * c.opt (fvtable-gc): Kill.
9669         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
9670         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
9671         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
9672
9673         * invoke.texi (-ftable-gc): Kill documentation.
9674
9675         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
9676         just because function body is missing.
9677
9678         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
9679
9680 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
9681
9682         * unwind-sjlj.c: Fix typo in file description.
9683
9684 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
9685
9686         * calls.c (load_register_parameters): When shifting reg sized values
9687         to the msb, move the value to a reg first.
9688
9689 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
9690
9691         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
9692         * line-map.h (linemap_add): Update comments.
9693         * line-map.c (linemap_add): Update comments, interpret zero-length
9694         filename as "<stdin>".
9695
9696 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9697
9698         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
9699
9700 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
9701
9702         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
9703         New static variables.
9704         (struct c_scope): Add parms and warned_forward_parm_decls
9705         fields; remove parm_order.
9706         (storedecls, storetags): Delete.
9707         (poplevel): Also clear bindings on the parms chain.
9708         (pushdecl): Handle forward declarations of parameters, and
9709         chain PARM_DECLs on the parms list, not the names list.
9710         (lookup_name_current_level): Check for PARM_DECLs on the parms
9711         list too.
9712         (push_parm_decl): Don't update parm_order.
9713         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
9714         warning, only once per parameter list, and set TREE_ASM_WRITTEN
9715         on the decls here.  Then move the forward decls to the names list.
9716         (grokparms): Set last_function_parm_vars.
9717         (get_parm_info): Don't use gettags or getdecls.  No need to
9718         extract non-parms from the parms list, or reorganize the parms
9719         list.  Feed nonparms back in the TREE_TYPE of the list node
9720         returned.  Issue only one error per parameter list for "void"
9721         appearing more than once in said parameter list.  Collapse
9722         parmlist_tags_warning into this function to avoid double scan
9723         of tags list.
9724         (start_function): Set current_function_parm_vars.
9725         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
9726         directly.  Get non-parms from current_function_parm_vars; no
9727         need to extract them from the parms chain.  Properly bind tags
9728         in the new scope.
9729         (store_parm_decls_oldstyle): No need to extract non-parameters
9730         from the parms chain, nor to store them back afterward.  Move
9731         declaration to top of function, restructure code reordering
9732         DECL_ARGUMENTS.
9733         (store_parm_decls): No need to save and restore warn_shadow.
9734         * c-parse.in: Don't call parmlist_tags_warning nor
9735         clear_parm_order.  Call mark_forward_parm_decls when forward
9736         parm decls are encountered.
9737         * c-tree.h: Prototype mark_forward_parm_decls; not
9738         clear_parm_order or parmlist_tags_warning.
9739
9740 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
9741
9742         * c-common.c (allow_pch): Remove.
9743         * c-common.h (allow_pch): Remove.
9744         (c_common_no_more_pch): Declare.
9745         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
9746         * c-pch.c: Include hosthooks.h.
9747         (c_common_valid_pch): Don't check allow_pch.
9748         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
9749         (c_common_no_more_pch): New.
9750         * ggc-common.c: Include hosthooks.h.
9751         (gt_pch_save): Call gt_pch_get_address.
9752         (gt_pch_restore): Call gt_pch_use_address.
9753         * hooks.c (hook_voidp_size_t_null): New.
9754         (hook_bool_voidp_size_t_false): New.
9755         * hooks.h (hook_voidp_size_t_null): New.
9756         (hook_bool_voidp_size_t_false): New.
9757         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
9758         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
9759         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
9760         HOST_HOOKS_GT_PCH_USE_ADDRESS.
9761         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
9762         gt_pch_use_address.
9763         * doc/hostconfig.texi (Host Common): Document
9764         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
9765         * Makefile.in (c-pch.o): Depend on hosthooks.h.
9766         (ggc-common.o): Likewise.
9767
9768         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
9769         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
9770         (pch_address_space): New.
9771         (darwin_rs6000_gt_pch_get_address): New.
9772         (darwin_rs6000_gt_pch_use_address): New.
9773
9774 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
9775
9776         PR preprocessor/11569
9777         PR preprocessor/11649
9778         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
9779         * cppfiles.c: Completely rewritten.
9780         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
9781         struct cpp_path is now struct cpp_dir.
9782         (remove_duplicates): Don't simplify path names.
9783         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
9784         cpp_stack_file.
9785         * cpphash.h: Include hashtab.h.
9786         (_cpp_file): Declare.
9787         (struct cpp_buffer): struct include_file is now struct _cpp_file,
9788         and struct cpp_path is now struct cpp_dir.  Rename members.
9789         (struct cpp_reader): Similarly.  New members once_only_files,
9790         file_hash, file_hash_entries, quote_ignores_source_dir,
9791         no_search_path, saw_pragma_once.  Remove all_include_files and
9792         max_include_len.  Make some members bool.
9793         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
9794         (_cpp_stack_file): Renamed from _cpp_read_file.
9795         (_cpp_stack_include): Renamed from _cpp_execute_include.
9796         (_cpp_init_files): Renamed from _cpp_init_includes.
9797         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
9798         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
9799         (cpp_read_next_file): Rename and move to cppfiles.c.
9800         (cpp_read_main_file): Update.
9801         * cpplib.c (run_directive): Update for renamed members.
9802         (do_include_common, _cpp_pop_buffer): Update.
9803         (do_import): Undeprecate #import.
9804         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
9805         * cpplib.h: Remove file_name_map_list.
9806         (cpp_options): Remove map_list.
9807         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
9808         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
9809
9810 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9811
9812         * Makefile.in:  Make stamp-objdir safe for parallel builds.
9813
9814 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9815
9816         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
9817         (info):  Depend on stmp-docobjdir.
9818
9819 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9820
9821         * configure: Regenerate.
9822
9823 2003-07-29  Jan Hubicka  <jh@suse.cz>
9824
9825         PR C++/11131
9826         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
9827         in !unit-at-a-time mode.
9828
9829 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
9830
9831         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
9832         main function.
9833
9834 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
9835
9836         PR c++/11667
9837         * c-common.c (shorten_compare): Take into account differences
9838         between C and C++ representation for enumeration types.
9839         * tree.h (set_min_and_max_values_for_integral_type): Declare.
9840         * stor-layout.c (set_min_and_max_values_for_integral_type): New
9841         function, broken out from ...
9842         (fixup_signed_type): ... here and ...
9843         (fixup_unsigned_type): ... here.
9844
9845 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
9846
9847         * c-decl.c: Update commentary, adjust blank lines throughout.
9848         (struct c_scope): Fix indentation.  Reorder members so
9849         outer-context pointers come first, booleans last.
9850         (duplicate_decls, define_label): Use a 'locus' variable for
9851         diagnostic locations in a few more places.
9852         (warn_if_shadowing): Un-split a conditional that fits on one line.
9853         (c_init_decl_processing): No need to clear current_scope and
9854         current_function_scope.
9855         (start_decl): Merge if/else if statements with same action.
9856         (push_parm_decl): Rename old_immediate_size_expand to use
9857         save_foo convention; save/restore around entire function.
9858         (grokdeclarator): Remove unnecessary braces.
9859
9860 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
9861             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
9862
9863         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
9864         when warn_declaration_after_statement.  Call pedwarn_c90, not
9865         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
9866         * c-common.c (warn_declaration_after_statement): Define.
9867         * c-common.h (warn_declaration_after_statement): Declare.
9868         * c.opt (Wdeclaration-after-statement): New.
9869         * c-errors.c (pedwarn_c90): New function.
9870         * c-opts.c (c_common_handle_option) <case
9871         OPT_Wdeclaration_after_statement>: New.
9872         * c-tree.h (pedwarn_c90): Declare.
9873         * doc/invoke.texi (Option Summary): Document
9874         -Wdeclaration-after-statement.
9875         (Warning Options): Ditto.
9876
9877 2003-07-28  Jan Hubicka  <jh@suse.cz>
9878
9879         * i386.md (memory attribute) Avoid accessing uninitialized memory
9880         for ishift1 type instructions.
9881
9882 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
9883
9884         * configure.in (--enable-checking): Add fold category.
9885         (ENABLE_FOLD_CHECKING): Define if requested.
9886         * configure: Rebuilt.
9887         * config.in: Rebuilt.
9888         * doc/install.texi: Document it.
9889         * fold-const.c: Include md5.h.
9890         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
9891         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
9892         print_fold_checksum): New functions.
9893
9894         * fold-const.c (fold): Never modify argument passed to fold, instead
9895         change a copy and return it.
9896         * convert.c (convert_to_integer): Likewise.
9897
9898 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9899
9900         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
9901         cleanup of junk after #else and #endif directives.  Collapse repeated
9902         clauses into for statment.
9903
9904         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
9905
9906 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
9907
9908         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
9909         (keep_next_if_subblocks): Rename next_is_function_body.
9910         (pushlevel): Adjust commentary.  Always set ->keep on the
9911         outermost level of a function.  Don't set ->keep_if_subblocks.
9912         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
9913         (store_parm_decls): Adjust to match.
9914         (finish_function): Adjust to match.
9915         Call poplevel with all three arguments zero.
9916
9917         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
9918         New functions split out of store_parm_decls.
9919         Avoid unnecessary work. Use local variables consistently.
9920         (store_parm_decls): Likewise.
9921
9922         (finish_function): No need to set functionbody flag on call to
9923         poplevel.
9924         (struct language_function): Remove scope field.
9925         (c_push_function_context, c_pop_function_context): No need to
9926         save and restore current_scope.
9927
9928 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
9929
9930         * doc/extend.texi (Deprecated Features): Implicit typename is
9931         gone. Default args on types is going.
9932
9933 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
9934
9935         * Makefile.in (ifcvt.o): Depend on target.h
9936         * ifcvt.c (target.h): Include.
9937         (if_convert): Don't call mark_loop_exit_edges if we can't
9938         modify jumps.
9939
9940 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9941
9942         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
9943
9944 2003-07-26  Richard Henderson  <rth@redhat.com>
9945
9946         PR inline-asm/11676
9947         * cse.c (count_reg_usage): Handle asm_operands properly.
9948
9949 2003-07-26  Roger Sayle  <roger@eyesopen.com>
9950
9951         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
9952         (DEF_EXT_FALLBACK_BUILTIN): Delete.
9953         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
9954         the regular DEF_EXT_LIB_BUILTIN macro.
9955         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
9956         the regular DEF_LIB_BUILTIN macro.
9957         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
9958         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
9959         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
9960         DEF_EXT_LIB_BUILTIN macro.
9961
9962         * c-decl.c (duplicate_decls): Remove code to handle builtin
9963         functions prototyped without an argument list.
9964
9965 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
9966
9967         * config/i386/winnt.c: Revert 2003-07-08 change.
9968         (i386_pe_section_type_flags): Remove error_with_decl here too.
9969
9970 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9971
9972         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
9973         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
9974         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
9975         (v850_handle_data_area_attribute): Likewise.
9976
9977 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
9978
9979         * varasm.c (output_constant_def_contents): Use
9980         ASM_DECLARE_CONSTANT_NAME if defined.
9981         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
9982         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
9983         objects get at least one byte to prevent assembler problems.
9984         (ASM_DECLARE_CONSTANT_NAME): New.
9985
9986         * Makefile.in (libbackend.o): Remove options_.h.
9987         (mostlyclean): Likewise.
9988
9989         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
9990         insert a label at the end of an function under Mach-O.
9991
9992         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
9993
9994 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
9995
9996         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
9997         equality.
9998         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
9999
10000         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
10001
10002 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10003
10004         * doc/passes.texi (Passes): Mention pretty-printing and
10005         diagnostic files.
10006
10007 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
10008
10009         * doc/extend.texi (Function Attributes): GNU C++ does now allow
10010         unused parameter decls.
10011         (Attribute Syntax): GNU C++ does not allow label attributes to be
10012         after the ':'.
10013
10014 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10015
10016         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
10017         (objc_declare_class): Likewise.
10018         (error_with_ivar): Likewise.
10019         (start_class): Likewise.
10020         (warn_with_method): Likewise.
10021
10022 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10023
10024         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
10025         from GCC.
10026         * calls.c (try_to_integrate): Don't use xxx_with_decl.
10027         (expand_call): Likewise.
10028         * dwarfout.c (output_reg_number): Likewise.
10029         * expr.c (expand_expr): Likewise.
10030         * function.c (assign_temp): Likewise.
10031         (uninitialized_vars_warning): Likewise.
10032         (setjmp_args_warning): Likewise.
10033         (expand_function_end): Likewise.
10034         * stmt.c (fixup_gotos): Likewise.
10035         (warn_about_unused_variables): Likewise.
10036         (expand_end_bindings): Likewise.
10037         * stor-layout.c (layout_decl): Likewise.
10038         (place_field): Likewise.
10039         * toplev.c (check_global_declarations): Likewise.
10040         (rest_of_handle_inlining): Likewise.
10041         (default_tree_printer): New function.
10042         (general_init): Initialize diagnostic machinery before routing
10043         signals to the ICE machinery.  Set default tree printer.
10044         * toplev.h (pedwarn_with_decl): Remove declaration.
10045         (warning_with_decl): Likewise.
10046         (error_with_decl): Likewise.
10047         (pedwarn): Remove attribute for the time being.
10048         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
10049         * varasm.c (named_section): Likewise.
10050         (make_decl_rtl): Likewise.
10051         (assemble_variable): Likewise.
10052         (merge_weak): Likewise.
10053         (declare_weak): Likewise.
10054
10055         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
10056         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
10057         (format_with_decl): Remove.
10058         (diagnostic_for_decl): Likewise.
10059         (pedwarn_with_decl): Likewise.
10060         (warning_with_decl): Likewise.
10061         (error_with_decl): Likewise.
10062         (diagnostic_initialize): Adjust.
10063         (diagnostic_count_diagnostic): Likewise.
10064         (announce_function): Likewise.
10065         (lhd_print_error_function): Likewise.
10066         (diagnostic_report_current_module): Likewise.
10067         (default_diagnostic_starter): Likewise.
10068         (diagnostic_report_diagnostic): Likewise.
10069         (default_diagnostic_finalizer): Likewise.
10070         (verbatim): Likewise.
10071         (error): Likewise.
10072         (warning): Likewise.
10073         * opts.c (common_handle_option): Likewise.
10074         * pretty-print.c: New file.
10075         * c-pretty-print.h (pp_base): Override.
10076         * c-pretty-print.c: Adjust use of macros throughout.
10077         (pp_buffer): New macro.
10078         (pp_newline): Likewise.
10079         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
10080         * Makefile.in (DIAGNOSTIC_H): New variable.
10081         (c-errors.o): Use it.
10082         (c-objc-common.o): Likewise.
10083         (c-common.o): Likewise.
10084         (c-opts.o): Likewise.
10085         (c-format.o): Likewise.
10086         (diagnostic.o): Likewise.
10087         (opts.o): Likewise.
10088         (toplev.o): Likewise.
10089         (rtl-error.o): Likewise.
10090         (dwarf2out.o): Likewise.
10091         (jump.o): Likewise.
10092         (pretty-print.o): New rule.
10093
10094 2003-07-24  Roger Sayle  <roger@eyesopen.com>
10095
10096         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
10097         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
10098         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
10099         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
10100         (DEF_FRONT_END_LIB_BUILTIN): Delete.
10101         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
10102         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
10103
10104         * builtins.c (build_string_literal): New function to construct
10105         a char* pointer to a string literal.
10106         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
10107         "rtx target" to be consistent with other expand_builtin_* functions.
10108         Change 3rd argument from "int unlocked" to "bool unlocked".
10109         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
10110         c-common.c to avoid front-end dependencies.  Optimize printf("")
10111         as a no-op when the result isn't required.  Handle embedded NULs
10112         in format string.
10113         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
10114         from c-common.c to avoid front-end dependencies.  Likewise, optimize
10115         fprintf(fp,"") as a no-op when the result isn't required, evaluating
10116         fp for side-effects.  Handle embedded NULs in format string.
10117         (expand_builtin_sprintf): Fix typo.
10118         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
10119         optimizing.  Adjust calls of expand_builtin_fputs to match the API
10120         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
10121         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
10122         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
10123
10124         * c-common.c (is_valid_printf_arglist): Delete.
10125         (c_expand_builtin): Delete.
10126         (c_expand_builtin_printf): Moved to builtins.c. Delete.
10127         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
10128         (c_expand_expr): No longer treat CALL_EXPRs specially.
10129         (CALLED_AS_BUILT_IN): Delete.
10130
10131 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10132
10133         PR optimization/11631
10134         * gcse.c (store_motion): Connect infinite loops to exit.
10135
10136 2003-07-24  Jason Merrill  <jason@redhat.com>
10137
10138         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
10139         (boolean_true_node, boolean_false_node): Likewise.
10140         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
10141         * tree.c (build_common_tree_nodes): Init boolean_type_node.
10142         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
10143         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
10144         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
10145         (truthvalue_true_node): Renamed from boolean_true_node.
10146         (truthvalue_false_node): Renamed from boolean_false_node.
10147         * c-decl.c: Just set truthvalue_* to integer_*.
10148         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
10149
10150 2003-07-24  Roger Sayle  <roger@eyesopen.com>
10151
10152         * c-decl.c (match_builtin_function_types): New subroutine of
10153         duplicate_decls to test whether a redeclaration of a builtin
10154         function is suitably close, i.e. the return type and all of
10155         the argument types have the same modes as the builtin expects.
10156         (duplicate_decls): Fuzzy type matching for builtin functions
10157         moved to match_builtin_function_types.
10158
10159 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10160
10161         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
10162         flag correctly.
10163
10164 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
10165
10166         * c-decl.c: Search-and-replace change 'binding level' to
10167         'scope' in commentary.
10168         (struct binding_level): Now struct c_scope.
10169         (current_binding_level): Now current_scope.
10170         (free_binding_level): Now scope_freelist.
10171         (current_function_level): Now current_function_scope.
10172         (global_binding_level): Now global_scope.
10173         (make_binding_level): Now make_scope.
10174         (pop_binding_level): Now pop_scope.
10175
10176 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10177
10178         * configure.in (libgcc_visibility): Add missing whitespace.
10179
10180 2003-07-24  Richard Henderson  <rth@redhat.com>
10181
10182         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
10183         __gcc_personality_v0.
10184
10185 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10186
10187         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
10188
10189 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
10190
10191         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
10192         documentation missed from my 2003-07-09 patch.
10193
10194 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
10195
10196         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
10197         it's not provided.
10198         * configure: Rebuild.
10199
10200 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
10201
10202         PR c/10602
10203         * c-typeck.c (type_lists_compatible_p): Do not compare
10204         arguments if one of them is an error_mark_node
10205
10206 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
10207
10208         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
10209         if current_function_calls_eh_return.
10210
10211 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
10212
10213         * doc/c-tree.texi (OFFSET_TYPE): Update description.
10214
10215 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
10216
10217         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
10218         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10219         __umodsi3, __modsi3): Increase frame size to 32.
10220
10221 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
10222
10223         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
10224         prototype.
10225
10226 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
10227
10228         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
10229
10230         PR optimization/10679
10231         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
10232
10233 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10234
10235         PR target/11607 and PR target/11516
10236         * pa.md (extzv, extv, insv): Revert latter half of last patch.
10237
10238 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
10239
10240         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
10241         * varasam.c (output_constant): Likewise.
10242
10243 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
10244
10245         * alias.c: Fix comment formatting.
10246         * c-common.c: Likewise.
10247         * c-decl.c: Likewise.
10248         * c-opts.c: Likewise.
10249         * combine.c: Likewise.
10250         * cpplib.c: Likewise.
10251         * diagnostic.c: Likewise.
10252         * dojump.c: Likewise.
10253         * final.c: Likewise.
10254         * fold-const.c: Likewise.
10255         * gcc.c: Likewise.
10256         * gcse.c: Likewise.
10257         * ggc-page.c: Likewise.
10258         * jump.c: Likewise.
10259         * loop.c: Likewise.
10260         * mips-tfile.c: Likewise.
10261         * recog.c: Likewise.
10262         * regclass.c: Likewise.
10263         * regmove.c: Likewise.
10264         * tree.c: Likewise.
10265         * tree.h: Likewise.
10266
10267 2003-07-22  Per Bothner  <pbothner@apple.com>
10268
10269         * line-map.c (add_line_map):  Handle invalid LEAVE request.
10270         Fixes PR preprocessor/11361.
10271
10272 2003-07-22  Per Bothner  <pbothner@apple.com>
10273
10274         * diagnostic.c.(diagnostic_report_current_module):  Update to match
10275         2003-06-05 changes to push_srcloc and pop_srcloc.
10276
10277 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
10278
10279         * doc/trouble.texi: Better document two-stage name lookup.
10280
10281 2003-07-22  Eric Christopher <echristo@redhat.com>
10282
10283         * config/s390.c (s390_valid_pointer_mode): New.
10284         (TARGET_VALID_POINTER_MODE): Use.
10285         (s390_emit_prologue): Add tpf profiling hooks.
10286         (s390_emit_epilogue): Ditto.
10287         * config/s390.h (MASK_TPF): New.
10288         (TARGET_TPF): Use.
10289         (POINTERS_EXTEND_UNSIGNED): Define.
10290         * config/s390.md (ptr_extend): New pattern.
10291
10292 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
10293
10294         * hashtable.c (approx_sqrt): Make static.
10295         * hashtable.h: Don't prototype approx_sqrt.
10296         * line-map.c (init_line_maps): Rename linemap_init.
10297         (free_line_maps): Rename linemap_free.
10298         (add_line_map): Rename linemap_add.
10299         (lookup_line): Rename linemap_lookup.
10300         (print_containing_files): Rename linemap_print_containing_files.
10301         * linemap.h: Update to match.
10302
10303         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
10304         linemap routines to use new names.
10305
10306 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
10307
10308         * c-common.c (handle_packed_attribute): Don't pack a struct via a
10309         typedef. Propagate packedness from a main variant.
10310
10311 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10312
10313         * Makefile.in (install-common): Add dependency on installdirs.
10314
10315 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
10316
10317         * c-common.c (c_common_type_for_mode): Return integer types for
10318         pointer modes.
10319
10320 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
10321
10322         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
10323         (finish_decl): Call maybe_apply_pragma_weak here.
10324         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
10325         TREE_PUBLIC and TREE_STATIC are decided.
10326         (start_function): Move call to maybe_apply_pragma_weak.  Check that
10327         DECL_ASSEMBLER_NAME isn't set too early.
10328
10329         * cpplex.c (_cpp_process_line_notes): Mention option name in
10330         trigraphs warning.
10331
10332 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
10333
10334         * combine.c (if_then_else_cond): Simplify the comparison of
10335         rtx against -1, 0, and 1.
10336         * loop.c (check_dbra_loop): Likewise.
10337         * optabs.c (emit_conditional_move): Likewise.
10338         (emit_conditional_add): Likewise.
10339         * config/i386/i386.md (*movsi_or): Likewise.
10340         (*movdi_or_rex6): Likewise.
10341
10342 2003-07-22  Jan Hubicka  <jh@suse.cz>
10343
10344         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
10345
10346 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
10347
10348         * cppfiles.c (open_file_pch): Don't put unused entries in the
10349         splay tree.  Remove dead code.
10350
10351 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
10352
10353         * c-common.h (num_in_fnames): Declare.
10354         (c_static_assembler_name): Move from here...
10355         * c-tree.h (c_static_assembler_name): ... to here.
10356         * c-opts.c: Don't include langhooks-def.h.
10357         (c_static_assembler_name): Move to c-decl.c.
10358         (num_in_fnames): Make externally visible.
10359         * c-decl.c: Include langhooks-def.h.
10360         (c_static_assembler_name): Move from c-opts.c.
10361         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
10362         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
10363
10364         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
10365         when it's not needed.
10366
10367 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
10368
10369         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
10370         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
10371         (rs6000_emit_prologue): Save FPRs inline if set.
10372
10373 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
10374
10375         * config/ia64/ia64.md (prefetch): Support predicate.
10376
10377 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
10378
10379         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
10380         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
10381         table.
10382
10383 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
10384
10385         PR optimization/11536
10386         * unroll.c (loop_iterations): Do not replace a register holding
10387         the final value by its equivalent before the loop if it is not
10388         invariant.
10389
10390 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
10391
10392         * doc/extend.texi: Fixes to spelling, grammar, and diction.
10393
10394 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
10395
10396         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
10397         (V850 Options): Spelling fixes.
10398
10399 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
10400
10401         * doc/invoke.texi: Fixes to style, grammar and diction.
10402
10403 2003-07-20  Roger Sayle  <roger@eyesopen.com>
10404
10405         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
10406         * system.h (SMALL_STACK): Poison obsolete target macro.
10407         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
10408
10409 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
10410
10411         * configure.in:  Cache the results of testing for cmp's capabilities.
10412         * configure:  Regenerate.
10413
10414 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
10415
10416         PR debug/11279
10417         * dwarf2out.c (gen_enumeration_type_die): Remember that
10418         enumerators can be unsigned.
10419
10420 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
10421
10422         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
10423         (push_label_level, pop_label_level): Kill.
10424         (struct binding_level): Rename level_chain to outer.
10425         Add outer_function field.  Change parm_flag, function_body,
10426         keep, keep_if_subblocks to 1-bit bitfields of type bool.
10427         (current_function_level): New variable.
10428         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
10429         (keep_next_level, declare_parm_level, warn_if_shadowing):
10430         Update to match.
10431         (struct language_function): Kill named_labels, shadowed_labels fields.
10432         (c_init_decl_processing, start_function, c_push__function_context)
10433         (c_pop_function_context): No need to muck with named_labels nor
10434         shadowed_labels.
10435
10436         (make_binding_level): No need to clear the structure here.
10437         (pop_binding_level): Always operate on current_binding_level.
10438         Update current_function_level if necessary.
10439         (pushlevel): Don't clear named_labels.  Update current_function_level
10440         if necessary.  Use "true" and "false" where appropriate.
10441         (poplevel): Diagnose labels defined but not used, or vice
10442         versa, and clear out label-meanings leaving scope, while
10443         walking down the decls list, for all binding levels.
10444         Handle LABEL_DECLs appearing in the shadowed list.
10445         pop_binding_level takes no arguments.
10446         (pushdecl_function_level): Use current_function_level.
10447
10448         (make_label, bind_label): New static functions.
10449         (declare_label): New exported function.
10450         (lookup_label, define_label): Rewritten for new data structure.
10451         (shadow_label): Kill.
10452
10453         * c-tree.h: Prototype declare_label; don't prototype
10454         push_label_level, pop_label_level, nor shadow_label.
10455         * c-parse.in: Remove all calls to push_label_level and
10456         pop_label_level.  Use declare_label for __label__ decls.
10457
10458         * doc/extend.texi: Clarify that __label__ can be used to
10459         declare labels with local scope in any nested block, not
10460         just statement expressions.  Cross-reference nested functions
10461         section from local labels section.
10462
10463 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10464
10465         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
10466
10467 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
10468
10469         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
10470
10471 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10472
10473         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
10474         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
10475
10476 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
10477
10478         * config/s390/s390.c (legitimize_pic_address): Access local symbols
10479         relative to the GOT instead of relative to the literal pool base.
10480         (s390_output_symbolic_const): Handle new GOT-relative accesses.
10481         * config/s390/s390.md ("call"): Access local functions and PLT stubs
10482         relative to the GOT instead of relative to the literal pool base.
10483         ("call_value"): Likewise.
10484         ("call_value_tls"): Likewise.
10485
10486         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
10487         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
10488         (s390_chunkify_finish): Likewise.
10489         (s390_chunkify_cancel): Likewise.
10490         (s390_reorg): Adapt caller.
10491         (find_base_register_in_addr,
10492         find_base_register_ref, replace_base_register_ref): Delete.
10493         (find_ltrel_base, replace_ltrel_base): New functions.
10494         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
10495         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
10496         base vs. index register usage.
10497         (struct constant_pool): Remove 'anchor'.
10498         (s390_add_anchor): Delete.
10499         (s390_dump_pool): Remove anchor handling.
10500         * config/s390/s390.md ("reload_anchor"): Remove.
10501
10502         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
10503         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
10504         (s390_emit_prologue): Use it.
10505         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
10506         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
10507         hard-code register 14.
10508         * config/s390/s390-protos.h (s390_load_got): Declare.
10509
10510         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
10511         Support TImode constants.
10512         * config/s390/s390.md ("consttable_ti"): New.
10513         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
10514
10515         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
10516         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
10517         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
10518         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
10519         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
10520         New symbolic constants.
10521         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10522         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
10523         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
10524         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
10525         symbolic UNSPEC values.
10526         * config/s390/s390.c (larl_operand, s390_short_displacement,
10527         bras_sym_operand, s390_cannot_force_const_mem,
10528         s390_delegitimize_address, s390_decompose_address,
10529         legitimize_pic_address, s390_output_symbolic_const,
10530         s390_function_profiler): Use symbolic UNSPEC values.
10531
10532 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10533
10534         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
10535         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
10536         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
10537         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
10538         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
10539         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
10540         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
10541         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
10542         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
10543         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
10544         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
10545         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
10546         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
10547         postreload.c prefix.c print-tree.c protoize.c ra-build.c
10548         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
10549         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
10550         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
10551         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
10552         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
10553         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
10554         casts.
10555
10556 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10557
10558         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
10559         * toplev.h (warning): Remove attribute.
10560
10561 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10562
10563         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
10564         (pop_label_level): Likewise.
10565         (duplicate_decls): Likewise.
10566         (implicitly_declare): Likewise.
10567         (shadow_label): Likewise.
10568         (start_decl): Likewise.
10569         (finish_decl): Likewise.
10570         (grokdeclarator): Likewise.
10571         (get_parm_info): Likewise.
10572         (detect_field_duplicates): Likewise.
10573         (finish_struct): Likewise.
10574         (start_function): Likewise.
10575         (store_parm_decls): Likewise.
10576         (finish_function): Likewise.
10577         (c_expand_body_1): Likewise.
10578         (check_for_loop_decls): Likewise.
10579         (merge_translation_unit_decls): Likewise.
10580
10581 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
10582
10583         * common.opt:  Document --param.
10584         * opts.c (columns, undocumented_msg): New.
10585         (print_help): Get number of columns from environment.  Print
10586         --param help.  Tweak newline handling.
10587         (print_param_help): New.
10588         (print_filtered_help): Better handling of duplicates.  Complain
10589         about undocumented switches.
10590         (print_switch): New.
10591         (wrap_help): Improve wrapping, use COLUMNS.
10592         * opts.sh: Ignore comments in records.
10593         * params.def: Fix typos and remove trailing periods.
10594         * toplev.c (display_help): Don't dump --param help.
10595         * doc/sourcebuild.texi: Update.
10596
10597 2003-07-18  Richard Henderson  <rth@redhat.com>
10598
10599         PR target/11556
10600         * optabs.c (prepare_operand): Fail gracefully instead of abort
10601         if the predicate doesn't satisfy.
10602         (gen_cond_trap): Allow prepare_operand to fail.
10603
10604 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10605
10606         * c-common.c: Don't undefine GCC_DIAG_STYLE.
10607         (fname_decl): Don't use xxx_with_decl.
10608         (c_add_case_label): Likewise.
10609         (handle_section_attribute): Likewise.
10610         (handle_alias_attribute): Likewise.
10611         (handle_no_instrument_function_attribute): Likewise.
10612         (handle_no_limit_stack_attribute): Likewise.
10613         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
10614         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
10615
10616 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10617
10618         * Makefile.in (ifcvt.o): Add cfgloop.h.
10619         * basic-block.h (EDGE_LOOP_EXIT): New flag.
10620         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
10621         * ifcvt.c: Include cfgloop.h.
10622         (mark_loop_exit_edges): New static function.
10623         (if_convert): Call it.
10624         (find_if_header): Ignore branches out of loops.
10625
10626 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
10627
10628         * combine.c (simplify_comparison): Don't share rtx when converting
10629         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
10630
10631 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
10632
10633         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
10634         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
10635         (MUST_PASS_IN_STACK): Define.
10636         (BLOCK_REG_PADDING): Define.
10637
10638 2003-07-18  Richard Henderson  <rth@redhat.com>
10639
10640         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
10641         to skip the addr_vec.
10642
10643 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
10644
10645         * combine.c (combinable_i3pat): Don't forbid occurrences of
10646         i2dest or i1dest in inner_dest if inner_dest is a mem.
10647
10648 2003-07-18  Jan Hubicka  <jh@suse.cz>
10649
10650         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
10651
10652 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
10653
10654         PR target/11087
10655         * loop.c (basic_induction_var): Check if convert_modes emitted any
10656         instructions. Remove them and return 0 if so.
10657
10658 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
10659
10660         PR optimization/11083
10661         * toplev.c (rest_of_handle_addresof): Rename into
10662         rest_of_handle_addressof.  Delete unreachable blocks
10663         if dead edges were purged after the addressof pass.
10664
10665 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
10666
10667         * Makefile.in, configure, configure.in: Remove handling of
10668         lang-options.h and options_.h.
10669         * toplev.c (struct lang_opt, documented_lang_options): Remove.
10670         (display_help): Don't use documented_lang_options.
10671
10672 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
10673
10674         * c-decl.c (pushdecl_function_level): Make static, return nothing.
10675         (kept_level_p): Fold into poplevel.
10676         (undeclared_variable): Moved here from c-typeck.c.  Export.
10677         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
10678         (undeclared_variable): Prototype here.  Don't prototype
10679         kept_level_p nor pushdecl_function_level.
10680         * c-parse.in: Change first argument to poplevel from
10681         "kept_level_p()" to "KEEP_MAYBE".
10682         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
10683
10684 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10685
10686         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
10687         commutative operands instead of modifying the RTL in-place.
10688
10689 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
10690
10691         PR optimization/11557
10692         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
10693         unless we know which function is being called.
10694
10695 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10696
10697         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
10698         whether to reorder the operands of a commutative binary operator.
10699
10700 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10701
10702         * fold-const.c (const_binop): Avoid performing the FP operation at
10703         compile-time, if either operand is NaN and we honor signaling NaNs,
10704         or if we're dividing by zero and either flag_trapping_math is set
10705         or the desired mode doesn't support infinities.
10706         (fold_initializer): New function to fold an expression ignoring any
10707         potential run-time exceptions or traps.
10708         * tree.h (fold_initializer): Prototype here.
10709         * c-typeck.c (build_binary_op): Move to the end of the file so
10710         that intializer_stack is in scope.  If constructing an initializer,
10711         i.e. when initializer_stack is not NULL, use fold_initializer to
10712         fold expressions.
10713         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
10714         performing FP operations at compile-time, if they would raise an
10715         exception at run-time.
10716
10717 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
10718
10719         PR 11498
10720         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
10721         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
10722         (GTFILES): Add langhooks.c.
10723         (gt-langhooks.h): New.
10724         * c-common.h (c_static_assembler_name): Prototype.
10725         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
10726         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
10727         * c-opts.c: Include langhooks-def.h.
10728         (c_static_assembler_name): New.
10729         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
10730         (var_labelno): New.
10731         (lhd_set_decl_assembler_name): Give static objects with context
10732         unique names.
10733         * varasm.c (var_labelno): Delete.
10734         (make_decl_rtl): Don't change the assembler name once it's set.
10735
10736         * c-opts.c (this_input_filename): New.
10737         (finish_options): Take new parameter, name of file being compiled.
10738         Update callers.  Set this_input_filename.
10739         (push_command_line_include): Use this_input_filename not
10740         main_input_filename.
10741
10742 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
10743
10744         * Makefile.in: Depend .pot generation on options.c.
10745         * po/exgettext: Add an extra_files variable containing additional
10746         files to scan.
10747
10748 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
10749
10750         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
10751         c_write_global_declarations.
10752
10753         * c-decl.c: Fix typos in several comments.  Remove all
10754         #if 0 blocks; reindent as needed.  Remove unused argument
10755         to declare_parm_level; all callers changed.
10756         * c-parse.in: Update calls to declare_parm_level.  Avoid
10757         issuing a double warning in some circumstances.
10758         * c-typeck.c: Update calls to declare_parm_level.
10759         * c-tree.h: Update prototype of declare_parm_level.
10760
10761         * c-pragma.c (apply_pragma_weak): Don't complain about a
10762         redundant #pragma weak.
10763
10764         * objc/objc-act.c (forward_declare_categories,
10765         build_selector_reference_decl, build_class_reference_decl,
10766         build_objc_string_decl, synth_forward_declarations,
10767         build_protocol_reference): Set TREE_PUBLIC on synthetic
10768         forward decl to 0, consistent with eventual definition.
10769         Correct comments to match.
10770
10771         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
10772         in regexp that don't form a range expression.
10773         * fixinc/fixincl.def: Regenerate.
10774
10775 2003-07-17  Richard Henderson  <rth@redhat.com>
10776
10777         PR target/10907
10778         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
10779         even with !TARGET_CONST_GP.
10780         (ia64_function_ok_for_sibcall): Reject non-local functions.
10781
10782 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
10783
10784         * c-common.c (c_estimate_num_insns_1): Don't handle
10785         METHOD_CALL_EXPR.
10786         * expr.c (safe_from_p): Likewise.
10787         * gengtype.c (adjust_field_tree_exp): Likewise.
10788         * stmt.c (warn_if_unused_value): Likewise
10789         * tree.c (first_rtl_op): Likewise.
10790         * tree.def: Don't define METHOD_CALL_EXPR.
10791         * java/lang.c (java_estimate_num_insns_1): Don't handle
10792         METHOD_CALL_EXPR.
10793
10794 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
10795
10796         PR other/11466
10797         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
10798         and its restrictions for the SPARC64 port.
10799         Move the entry of "-mimpure-text" before that of "-mv8".
10800
10801 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
10802             Phil Edwards <phil@jaj.com>
10803
10804         * doc/install.texi (*-*-solaris2*): Document the step-by-step
10805         procedure to bootstrap and install.
10806         Document the preference for the legacy Sun tools in /usr/bin
10807         over the POSIX tools in /usr/xpg4/bin for the build process.
10808
10809 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
10810
10811         * c.opt: Document Uncodumented; use it.  Document ObjC options.
10812         * opts.c (print_filtered_help): Skip undocumented switches.
10813         * opts.h (CL_UNDOCUMENTED): New.
10814         * opts.sh: Handle Undocumented.
10815         * toplev.c (documented_lang_options): Prevent its becoming empty.
10816 objc:
10817         * lang-options.h: Remove.
10818
10819 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
10820
10821         * loop.c (check_ext_dependent_givs): Pass const struct loop *
10822         instead of struct loop_info * as argument.  Accept BIVs with
10823         increment +/- 1 provided there is a friendly exit test against
10824         a loop-invariant value.
10825         (strength_reduce): Adapt call to check_ext_dependent_givs.
10826
10827 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10828             Con Bradley <con.bradley@superh.com>
10829
10830         * sh-protos.h (sh_get_pr_initial_val): Declare.
10831         * sh.c (regno_reg_class): Make its elements type enum reg_class.
10832         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
10833         and live_regs_mask arguments.  Changed all callers.
10834         (save_schedule_s): New structure.
10835         (save_schedule): New typedef.
10836         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
10837         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
10838         In interrupts handlers, also save registers that are usually
10839         partially saved, and make sure there is at least one general purpose
10840         register saved if a target register needs saving.
10841         Add casts in comparisons to avoid warnings.
10842         (sh_media_register_for_return): return -1 for interrupt handlers.
10843         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
10844         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
10845         registers used are available.
10846         Set RTX_FRAME_RELATED_P where appropriate.
10847         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
10848         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
10849         (initial_elimination_offset): Likewise.
10850         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
10851         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
10852         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
10853         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
10854         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
10855         and for target registers.
10856         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
10857         (regno_reg_class): Make its elements type enum reg_class.
10858         (CONSTRAINT_LEN): Don't use isdigit.
10859         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
10860         (FUNCTION_ARG): Add parentheses to avoid warnings.
10861         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
10862         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
10863         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
10864         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
10865         * sh.md (xordi3+1): Remove unused variable regno.
10866         (return_media): Check that tr0 is available before using it.
10867
10868 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
10869
10870         * c.opt: Document more options.
10871
10872 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10873
10874         * combine.c (subst): Also handle (subreg (const_double ...)) case
10875         if created by a substitution, by using the original inner mode.
10876
10877 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10878
10879         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
10880         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
10881         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
10882
10883 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
10884
10885         * doc/install.texi (--without-headers): New.
10886
10887         Partial Fix PR/10129
10888         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
10889         (machopic_output_function_base_name): New; print the true pic label.
10890         (machopic_classify_ident): Pic Base is always a defined data.
10891         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
10892         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
10893
10894         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
10895         if they are not floating point registers.
10896
10897         PR c/10962
10898         * ggc.h: Add header guards.
10899         * c-decl.c (finish_struct): Sort fields if
10900         number greater than 15 and there are no
10901         anonymous structs/unions.
10902         * c-common.h: Include ggc.h.
10903         (sorted_fields_type): New struct.
10904         (field_decl_cmp): New prototype.
10905         (resort_sorted_fields): New prototype.
10906         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
10907         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
10908         as s, removing other fields.
10909         * c-typeck.c (lookup_field): Use s in lang_type.
10910         These were mostly moved from cp/class.c:
10911         * c-common.c (field_decl_cmp): New static function.
10912         (field_decl_cmp): New function.
10913         (resort_sorted_fields): New function.
10914
10915 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
10916
10917         * config/darwin.c (machopic_select_section): Use decl_readonly_section
10918         to do most of the work.
10919
10920 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
10921
10922         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
10923         * config/mmix/mmix.c: Convert functions to ISO C90.
10924         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
10925         formatting.
10926         (mmix_get_hard_reg_initial_val): Tweak section head comment.
10927
10928 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10929
10930         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
10931
10932 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
10933
10934         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
10935         (uw_update_context_1): Use it.
10936         * config/rs6000/rs6000.c (insn_after_throw): Remove.
10937         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
10938         in parent frame if _Unwind_* called directly instead of through
10939         .plt.
10940         (rs6000_emit_eh_toc_restore): Remove.
10941         (rs6000_emit_prologue): Update stack pointer before doing any saving
10942         if current_function_calls_eh_return.  Generate unwind info for $r2.
10943         (rs6000_emit_epilogue): Restore stack pointer after doing all
10944         restoring if current_function_calls_eh_return.  Restore $r2.
10945         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
10946         * config/rs6000/rs6000.md (eh_return): Remove call to
10947         rs6000_emit_eh_toc_restore.
10948         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
10949         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
10950
10951 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
10952
10953         * expr.c (emit_block_move): Don't move anything if size is const 0.
10954         (clear_storage): Test against const0_rtx instead of comparing INTVAL
10955         against 0.
10956
10957 2003-07-15  David S. Miller  <davem@redhat.com>
10958
10959         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
10960         emit nop if the last real insn is CALL_INSN.
10961
10962 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10963
10964         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
10965         as "nul".
10966         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
10967
10968 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10969
10970         * config/i386/winnt.c (associated_type): Artificial methods are not
10971         affected by the import/export status of their class unless they are
10972         COMDAT.
10973         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
10974
10975         * config/i386/winnt.c: Fix GCC copyright comment.
10976
10977 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
10978
10979         PR c++/11531
10980         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
10981         not recursing on hard error.
10982         (diagnostic_for_decl): Likewise.
10983         * diagnostic.def: Rearrange.
10984
10985 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10986
10987         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
10988         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
10989
10990 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10991             Richard Henderson  <rth@redhat.com>
10992
10993         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
10994         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
10995         (_Unwind_SetGR): Likewise.
10996         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
10997         (Unwind_SpTmp): New typedef.
10998         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
10999         (uw_update_context): Use _Unwind_GetPtr.
11000         (init_dwarf_reg_size_table): Move above uw_init_context_1.
11001         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
11002         Use _Unwind_SetSpColumn.
11003         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
11004         Use _Unwind_GetPtr.
11005
11006 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
11007
11008         * c.opt: Document more options.
11009         * toplev.c (documented_lang_options): Remove all local help strings.
11010
11011 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
11012
11013         PR debug/11473
11014         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
11015         base classes.
11016
11017 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
11018
11019         PR target/10795
11020         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
11021         swap comparison operands if doing so would generate an
11022         unrecognizable insn.
11023
11024 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
11025
11026         PR optimization/11320
11027         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
11028         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
11029         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
11030         current_sched_info->compute_jump_reg_dependencies. Record which
11031         registers are used and which registers are set by the jump.
11032         Clear deps->reg_conditional_sets after a barrier.
11033         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
11034         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
11035         (init_deps): Initialize reg_conditional_sets.
11036         (free_deps): Clear reg_conditional_sets.
11037         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
11038         Mark registers live on entry of the fallthrough block and conditionally
11039         set as set by the jump. Mark registers live on entry of non-fallthrough
11040         blocks as used by the jump.
11041         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
11042         Mark new parameters as unused.
11043
11044 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11045
11046         * doc/invoke.texi: Resync MIPS -march documentation.
11047
11048 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11049
11050         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
11051         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
11052         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
11053         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
11054         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
11055         (mips_issue_rate): Handle PROCESSOR_R9000.
11056         (mips_use_dfa_pipeline_interface): Likewise.
11057         * config/mips/9000.md: New file.
11058         * config/mips/mips.md: Include it.
11059         (define_attr cpu): Add r9000.
11060         (mulsi3_mult3): Use "mul" for rm9000 code.
11061
11062 2003-07-15  Stan Cox  <scox@redhat.com>
11063
11064         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
11065         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
11066         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
11067         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
11068         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
11069         (mips_issue_rate): Handle PROCESSOR_R7000.
11070         (mips_use_dfa_pipeline_interface): Likewise.
11071         * config/mips/7000.md: New file.
11072         * config/mips/mips.md: Include it.
11073         (define_attr cpu): Add r7000.
11074         (mulsi3_mult3): Use "mul" for rm7000 code.
11075
11076 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11077
11078         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
11079         the conditional move patterns.
11080         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
11081         Check for condmove type.
11082         (ir_vr54_arith): Add move type.
11083         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
11084         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
11085
11086 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
11087
11088         * c-opts.c (print_help): Remove.
11089         (c_common_handle_option): Don't handle --help.
11090         * c.opt: Document some options.
11091         (--help): Remove.
11092         * opts.c (print_filtered_help): New.
11093         (print_help): Use it.
11094
11095 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
11096
11097         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
11098         * tree.c: (build_common_tree_nodes_2): Likewise.
11099         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
11100         (V4DF_type_node): New.
11101
11102         * c-opts.c (push_command_line_include): Don't free deferred_opts,
11103         we'll need it.
11104         (finish_options): Reset init_cursor.
11105
11106 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
11107
11108         * expr.c (expand_assignment): Remove an unused argument
11109         SUGGEST_REG.
11110         * expr.h: Update the prototype.
11111         * function.c: Update the callers.
11112         * stmt.c: Likewise.
11113
11114 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
11115
11116         PR debug/11098
11117         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
11118         as DECL_ABSTRACT.
11119
11120 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11121
11122         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
11123         with __cplusplus, not "we must use the C++ compiler's type"
11124         * fixinc/inclhack.def (void_null): Note that Interix needs this.
11125         * fixinc/fixincl.x: Regenerate.
11126
11127 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
11128
11129         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
11130         and unseen_objects from the global data before calling
11131         __deregister_frame_info_bases.
11132         (examine_objects): Insert objects into the seen_objects list,
11133         not unseen_objects.
11134         (_Unwind_Find_FDE): Always unlock the global object lists, even if
11135         we couldn't allocate a data structure to put in it.
11136
11137         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
11138         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
11139         (SET_TYPE_PROTOCOL_LIST): New.
11140         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
11141         (get_object_reference): Likewise.
11142
11143 2003-07-14  Jan Hubicka  <jh@suse.cz>
11144
11145         * cfglayout.c (locator_file): Break out from ....
11146         (insn_file): ... here.
11147         (locator_line): Break out from ....
11148         (insn_line): ... here.
11149         * rtl.h (locator_file, locator_line): Declare.
11150         (final_start_function): Set proper line/file info.
11151
11152 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11153
11154         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
11155         handled by pp_c_cast_expression.
11156
11157 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11158
11159         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
11160         allocate 32768 bytes of stack.  Use addition rather than subtraction
11161         when a single insn is enough.
11162         * config/mips/mips.md: Remove insns and splitters for subtracting
11163         constants.
11164         (subsi3): Only accept register operands.
11165         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
11166         (subdi3_internal_3, subsi3_internal_2): Likewise.
11167         (casesi): Use expand_binop to subtract the lower bound.
11168
11169 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11170
11171         * config/mips/mips.c (mips_in_small_data_p): Don't handle
11172         TARGET_MIPS16 specially.
11173
11174 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11175
11176         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
11177         mips_output_aligned_bss.
11178         * config/mips/linux.h: Likewise.
11179         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
11180         * config/mips/mips.c (mips_output_aligned_bss): New function.
11181
11182         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
11183         * config/mips/elf64.h: Likewise.
11184
11185         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
11186         mips_declare_object_name.
11187         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
11188         * config/mips/elf64.h: As for elf.h.
11189         * config/mips/iris6.h: Likewise.
11190         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
11191         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
11192         do...while (0) block.
11193         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
11194         (mips_finish_declare_object): Declare.
11195         * config/mips/mips.c (mips_declare_object_name): New function.
11196         (mips_finish_declare_object): New function.
11197
11198         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
11199         * config/mips/linux.h: Likewise.
11200
11201         * config/mips/mips.c (inside_function): Delete.
11202         (file_in_function_warning, ignore_line_number): Delete.
11203         (mips_output_filename): Don't warn about changing filenames within
11204         a function.
11205         (mips_output_lineno): Update accordingly.
11206         (mips_output_function_prologue): Don't reset the deleted variables.
11207         * config/mips/mips.h (inside_function): Delete.
11208         (file_in_function_warning, ignore_line_number): Delete.
11209
11210         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
11211         * config/mips/elf64.h: Likewise.
11212         * config/mips/openbsd.h: Likewise.
11213         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
11214         * config/mips/linux.h: Likewise.
11215         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
11216         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
11217
11218         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
11219         to the list of include files when using gas.
11220         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
11221         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
11222         * config/mips/elf64.h: Likewise.
11223         * config/mips/iris5.h: Likewise.
11224         * config/mips/linux.h: Likewise.
11225         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
11226         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
11227         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
11228         * config/mips/sdb.h: ...this new file.
11229
11230 2003-07-14  Douglas Rupp  <rupp@gnat.com>
11231
11232         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
11233         argument to getcwd; use fixed buffer instead.
11234
11235 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11236
11237         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
11238         * fixinc/fixinc.wrap: Delete.
11239
11240 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
11241
11242         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
11243         don't have 2.
11244
11245 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
11246
11247         * ggc-page.c (struct globals): Add new fields to keep track of the
11248         total allocated memory and overhead.
11249         (ggc_print_statistics): Print them.
11250         (ggc_alloc): Keep track of the total allocated memory and the
11251         overhead.
11252
11253         * tree.c (dump_tree_statistics): Increase spacing.
11254         (enum tree_node_kind): Move to ...
11255         * tree.h (enum tree_node_kind): ... here.
11256         (tree_node_counts, tree_node_sizes): Declare.
11257
11258 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
11259
11260         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
11261
11262 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11263
11264         PR optimization/11440
11265         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
11266         SIGN_EXTRACT SETs.
11267
11268 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
11269
11270         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
11271         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
11272         (emit_group_load, emit_group_store): Adjust declarations.
11273         Remove most occurrences of #ifdef TREE_CODE.
11274         * expr.c (emit_group_load): Add "type" param, and use
11275         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
11276         aligned accesses if !SLOW_UNALIGNED_ACCESS.
11277         (emit_group_store): Likewise.
11278         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
11279         emit_group_load and emit_group_store calls.
11280         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
11281         BLOCK_REG_PADDING to determine whether we need endian_correction.
11282         (load_register_parameters): Localize vars.  Handle shifting of
11283         small values to the correct end of regs.  Adjust emit_group_load
11284         call.
11285         (expand_call, emit_library_call_value_1): Adjust emit_group_load
11286         and emit_group_store calls.
11287         * function.c (assign_parms): Set mem alignment for stack slots.
11288         Adjust emit_group_store call.  Store values at the "wrong" end
11289         of regs to the stack.  Use BLOCK_REG_PADDING.
11290         (locate_and_pad_parm): Save where_pad.
11291         (expand_function_end): Adjust emit_group_load call.
11292         * stmt.c (expand_value_return): Adjust emit_group_load call.
11293         * Makefile.in (calls.o): Depend on $(OPTABS_H).
11294         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
11295         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
11296         (MUST_PASS_IN_STACK): Define.
11297         (BLOCK_REG_PADDING): Define.
11298         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
11299         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
11300         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
11301         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
11302         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
11303
11304 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
11305
11306         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
11307
11308 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11309
11310         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
11311         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
11312
11313 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
11314
11315         PR other/11123
11316         * toplev.c: Don't cut off option names.
11317
11318 2003-07-13  Andreas Jaeger  <aj@suse.de>
11319
11320         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
11321         to integer of different size.
11322
11323 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
11324
11325         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
11326         to (eq (and X 1) 0).
11327
11328 2003-07-13  Andreas Jaeger  <aj@suse.de>
11329
11330         * config.gcc: Add pmmintrin.h for x86_64-*-*.
11331
11332 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
11333
11334         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
11335         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
11336         list.  Move these all together down by cpplib.
11337
11338         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
11339         definition of CPPCHAR_SIGNED_T.
11340
11341         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
11342         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
11343         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
11344
11345         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
11346         * cppinit.c (cpp_create_reader): Likewise.
11347
11348         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
11349         * cpptrad.c: Likewise.  All callers changed.
11350         * cpplib.c: All callers changed.
11351         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
11352         * hashtable.h: Define GTY(x) to nothing here too.
11353
11354 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11355
11356         * stor-layout.c (compute_record_mode): Remove very obsolete test
11357         that forces BLKmode for records with fields crossing word boundary.
11358
11359 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
11360
11361         * Makefile.in: Remove orphan reference to acconfig.h.
11362
11363 2003-07-13  Andreas Jaeger  <aj@suse.de>
11364
11365         * cgraphunit.c: Convert prototypes to ISO C90.
11366
11367 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
11368
11369         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
11370         (for OpenBSD).
11371         * fixinc/fixincl.x: Rebuild.
11372
11373 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
11374
11375         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
11376         i?86-*-*.  Use correct name of cache variable.
11377         * configure: Regenerate.
11378
11379 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
11380
11381         * config/alpha/alpha.c: Fix comment typos.
11382         * config/alpha/alpha.md: Likewise.
11383         * config/arm/arm.c: Likewise.
11384         * config/arm/arm.md: Likewise.
11385         * config/arm/lib1funcs.asm: Likewise.
11386         * config/avr/avr.md: Likewise.
11387         * config/arm/README-interworking: Fix typos.
11388
11389 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
11390
11391         * c-format.c: Fix comment formatting.
11392         * c-typeck.c: Likewise.
11393         * coverage.c: Likewise.
11394         * cppcharset.c: Likewise.
11395         * cpplib.c: Likewise.
11396         * dbxout.c: Likewise.
11397         * gcov-io.h: Likewise.
11398         * toplev.c: Likewise.
11399
11400 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11401
11402         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
11403         fix.
11404
11405 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
11406
11407         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
11408         uses three-argument AC_DEFINE so no acconfig.h entries are
11409         needed.
11410         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
11411         which contains the GAS version number as a scaled integer.
11412         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
11413         ability to check for ELF assembler.
11414         (gcc_GAS_CHECK_FEATURE): New macro.
11415         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
11416         assembler feature checks using gcc_GAS_CHECK_FEATURE.
11417         Use three-argument AC_DEFINE everywhere.
11418         * acconfig.h: Deleted.
11419         * config.in, configure: Regenerate.
11420
11421 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11422
11423         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
11424         (on OpenBSD).
11425         * fixinc/fixincl.x: Regenerate.
11426
11427         * fixinc/inclhack.def (gnu_types): Improve comment.
11428
11429 2003-07-12  Andreas Jaeger  <aj@suse.de>
11430
11431         * fp-test.c (main): Use ISO C90 prototype.
11432
11433         * version.c: Remove unneded include of ansidecl.h.
11434
11435         * cgraph.h: Convert prototypes to ISO C90.
11436         * cgraph.c: Likewise.
11437         * fix-header.c: Likewise.
11438         * ra.h: Likewise.
11439         * protoize.c: Likewise.
11440
11441 2003-07-12  Jan Hubicka  <jh@suse.cz>
11442
11443         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
11444         warning.
11445
11446 2003-07-12  Jan Hubicka  <jh@suse.cz>
11447                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11448
11449         * cgraph.c (cgraph_max_uid): New global variable.
11450         (cgraph_node): Set uid field.
11451         (create_edge): Keep inline flags consistent.
11452         (dump_cgraph): Dump more info.
11453         * cgraph.h (struct cgraph_local_info): Remove inline_many and
11454         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
11455         (struct cgraph_global_info): Add insns, calls, cloned_times,
11456         will_be_output.
11457         (struct cgraph_node): Add uid.
11458         (struct cgraph_edge): Add inline_call.
11459         (cgraph_max_uid, cgraph_inline_p): Declare.
11460         * cgraph.c: Include params.h and fibheap.h
11461         (cgraph_mark_functions_to_inline_once): Kill.
11462         (INSNS_PER_CALL): New constant.
11463         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
11464         static variables.
11465         (cgraph_finalize_function): Do not analyze inlining.
11466         (cgraph_finalize_compilation_unit): Set inlining attributes.
11467         (cgraph_mark_functions_to_output): More consistency checks.
11468         (cgraph_optimize_function): Set current_function_decl to NULL.
11469         (cgraph_expand_function): Use new inline flags.
11470         (cgraph_postorder): Expand from cgraph_expand_functions.
11471         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
11472         (cgraph_inlined_into, cgraph_inlined_callees,
11473         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
11474         cgraph_mark_inline, cgraph_check_inline_limits,
11475         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
11476         cgraph_decide_inlining, cgraph_inline_p): New functions.
11477         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
11478         PARAM_INLINE_UNIT_GROWTH): New parameters.
11479         * tree-inline.c (struct inline_data): New field current_decl.
11480         (expand_call_inline): Avoid forward declarations; use
11481         inlinable_function_p.
11482         (optimize_inline_calls): Set id.current_decl.
11483
11484 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
11485
11486         * configure.in: Remove wrongly added definition of
11487         local_prefix.
11488         * configure: Regenerate.
11489
11490 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
11491
11492         * rtl.def (NOTE): Do not use padding.
11493
11494 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
11495
11496         * doc/install.tex: Update required binutils for i?86-*-linux*
11497
11498 2003-07-11  Richard Henderson  <rth@redhat.com>
11499
11500         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
11501
11502 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
11503
11504         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
11505         TRANSLATION_UNIT_DECL as top_level.
11506
11507 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
11508
11509         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
11510         then fall back to cmpstrM.
11511         * builtins.c (expand_builtin_memcmp): Likewise.
11512         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
11513         (s390_expand_cmpmem): ... this.
11514         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
11515         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
11516         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
11517         to s390_expand_cmpmem.
11518         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
11519         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
11520         to cmpmem*.
11521         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
11522         cmpstr* patterns.
11523         * doc/md.texi (cmpstrM): Describe as String compare insn, not
11524         Block compare insn.
11525         (cmpmemM): Add.
11526
11527 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
11528
11529         * config/i386/freebsd.h (SET_ASM_OP): Remove.
11530         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
11531         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
11532          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
11533
11534 2003-07-11  Richard Henderson  <rth@redhat.com>
11535
11536         * function.c (assign_parms): Don't recombine complex args if
11537         fnargs is unchanged from orig_fnargs.
11538         (split_complex_args): Return args without complex before copying.
11539         Re-layout the modified parameters.
11540
11541 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
11542
11543         * regclass.c (choose_hard_reg_mode): Add third argument.
11544         Changed all callers.
11545         * rtl.h (choose_hard_reg_mode): Update declaration.
11546         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
11547         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
11548
11549 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
11550
11551         * c-decl.c (finish_decl): Handle 'used' here...
11552         * cgraphunit.c (cgraph_finalize_function): ... and here ...
11553         * c-common.c: (handle_used_attribute): ... not here.
11554
11555         * configure.in (onstep): Support --enable-intermodule.
11556         * Makefile.in (OBJS-common): New.
11557         (OBJS-md): New.
11558         (OBJS-archive): New.
11559         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
11560         (OBJS-onestep): New.
11561         (libbackend.a): Support @onestep@.
11562         (libbackend.o): New.
11563         * configure: Regenerate.
11564
11565         * c-common.h (c_reset_state): New prototype.
11566         (c_parse_file): New prototype.
11567         (finish_file): Move prototype from c-tree.h.
11568         * c-decl.c: Include <hashtab.h>.
11569         (builtin_decls): New.
11570         (current_file_decl): New.
11571         (duplicate_decls): Add extra parameter. Change all callers.  Don't
11572         output duplicate common symbols.
11573         (link_hash_hash): New.
11574         (link_hash_eq): New.
11575         (poplevel): Handle popping of the top level.
11576         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
11577         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
11578         (pushdecl_top_level): Likewise.
11579         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
11580         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
11581         (finish_decl): Handle TRANSLATION_UNIT_DECL.
11582         (merge_translation_unit_decls): New.
11583         (c_write_global_declarations): New.
11584         (c_reset_state): New.
11585         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
11586         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
11587         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
11588         TRANSLATION_UNIT_DECL.
11589         (c_objc_common_finish_file): Call merge_translation_unit_decls.
11590         * c-opts.c (in_fnames): Rename from in_fname.
11591         (c_common_decode_option): Handle multiple input filenames.
11592         (c_common_post_options): Likewise.
11593         (c_common_parse_file): Likewise; also, call c_parse_file rather than
11594         yyparse.
11595         * c-parse.in: Move cleanup code to c_parse_file.
11596         (free_parser_stacks): Move contents to c_parse_file.
11597         (c_parse_file): New.
11598         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
11599         for integer types.
11600         (C_DECL_FILE_SCOPE): New.
11601         (finish_file): Move prototype to c-common.h.
11602         (merge_translation_unit_decls): New prototype.
11603         (comptypes): Add extra parameter to prototype.
11604         (c_write_global_declarations): New prototype.
11605         * c-typeck.c (tagged_types_tu_compatible_p): New.
11606         (function_types_compatible_p): Add extra parameter, change all callers.
11607         (type_lists_compatible_p): Likewise.
11608         (comptypes): Likewise.
11609         (struct tagged_tu_seen): New.
11610         (tagged_tu_seen_base): New.
11611         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
11612         (c_mark_addressable): Remove #if 0 code.
11613         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
11614         comment explaining why it shouldn't have to.
11615         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
11616         options.
11617         * cppinit.c (cpp_read_next_file): New.
11618         (cpp_read_main_file): Use it.
11619         * cpplib.c (undefine_macros): New.
11620         (cpp_undef_all): New.
11621         * cpplib.h (cpp_read_next_file): Prototype.
11622         (cpp_undef_all): Prototype.
11623         * langhooks-def.h (write_global_declarations): Remove prototype.
11624         * toplev.h (write_global_declarations): Add prototype.
11625         * tree.c (decl_type_context): Use switch statement, handle
11626         TRANSLATION_UNIT_DECL.
11627         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
11628         (TRANSLATION_UNIT_DECL): New kind of tree.
11629         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
11630         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
11631         * doc/invoke.texi: Make attempt to document new functionality.
11632
11633         2003-05-19  Per Bothner <bothner@apple.com>
11634
11635         * gcc.c (combine_inputs): New.
11636         (process_command): Set combine_inputs.
11637         (do_spec_1): Handle combine_inputs.
11638         (main): Likewise.
11639
11640 2003-07-10  James E Wilson  <wilson@tuliptree.org>
11641
11642         PR optimization/9745
11643         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
11644         loop_insn_emit_before.
11645         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
11646
11647 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
11648
11649         * cppcharset.c: Fix comment.
11650         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
11651         (EILSEQ): #define to EINVAL if not already defined.
11652         (convert_using_iconv): #if out when !HAVE_ICONV.
11653         (init_iconv_desc): Handle !HAVE_ICONV here...
11654         (cpp_init_iconv): ...not here.
11655
11656 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
11657
11658         * common.opt: More --help messages.
11659         * opts.c (print_help): Use puts().
11660         * toplev.c (f_options): Remove help text.
11661         (display_help): Don't dump f_options.
11662
11663 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
11664
11665         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
11666         Move i?86-*-interix* to the don't-fix list.
11667         * fixinc/fixinc.interix: Delete with extreme prejudice.
11668
11669 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
11670
11671         PR bootstrap/10758
11672         * doc/install.texi: Document requirements for ia64-*-hpux* target.
11673
11674 2003-07-10  Roger Sayle  <roger@eyesopen.com>
11675
11676         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
11677
11678 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
11679
11680         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
11681         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
11682         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
11683         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
11684         convert_no_conversion, convert_using_iconv): New functions.
11685         (APPLY_CONVERSION): New macro.
11686         (struct conversion, conversion_tab): New data structure.
11687         (init_iconv_desc): Check conversion_tab for a custom conversion
11688         primitive before trying to use iconv.
11689         (convert_cset): Deleted.
11690         (cpp_init_iconv): Use UTF- terminology, not UCS-.
11691         (_cpp_destroy_iconv): Update to match.
11692         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
11693         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
11694         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
11695         (_cpp_interpret_string_notranslate): New function, moved here
11696         from cpplib.c.
11697
11698         * cpphash.h (convert_f, struct cset_converter): New types.
11699         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
11700         are now struct cset_converter, not bare iconv_t.
11701         Update prototypes.
11702         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
11703         all callers changed.
11704
11705 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
11706
11707         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
11708         to opts.sh command line.
11709         * opts.sh: Write to temporary files with a move-if-change at the end.
11710
11711 2003-07-10  Denis Chertykov  <denisc@overta.ru>
11712             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11713
11714         * combine.c (gen_binary): Handle the CLOBBER rtx and
11715         don't build a binary operation with it.
11716
11717 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11718
11719         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
11720         store_killed_after, store_killed_before): Keep track of the correct
11721         dependency function to use.
11722
11723 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
11724         * toplev.c (do_compile): Don't try to open dump files before
11725         lang_dependent_init initializes dump_base_name.
11726
11727 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11728
11729         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
11730         Use ARRAY_SIZE.
11731         * config/frv/frv.c (frv_expand_builtin): Likewise.
11732         * config/sh/sh.c (sh_media_init_builtins): Likewise.
11733
11734 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
11735
11736         PR c++/10032
11737         * doc/invoke.texi (C++ Dialect Options): Change documentation of
11738         -fpermissive.
11739
11740 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
11741
11742         * tm.texi (RETURN_ADDR_OFFSET): Document.
11743
11744 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
11745
11746         * gcov-io.h: Update documentation.
11747         (GCOV_UNSIGNED2STRING): New.
11748         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
11749         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
11750         GCOV_TAG_SUMMARY_LENGTH): Adjust.
11751         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
11752         GCOV_TAG_COUNTER_NUM): New.
11753         (GCOV_BLOCK_SIZE): Number of words.
11754         (gcov_var): Adjust buffer type.
11755         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
11756         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
11757         count, not byte count.
11758         (gcov_open): Adjust overread init.
11759         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
11760         gcov_write_string, gcov_write_tag, gcov_write_length,
11761         gcov_write_tag_length): Adjust.
11762         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
11763         (gcov_sync, gcov_seek): Adjust.
11764         * gcov-dump.c (print_usage): Show gcc version only.
11765         (dump_file): Use GCOV_UNSIGNED2STRING.
11766         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
11767         * gcov.c (print_version): Show gcc version only.
11768         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
11769         GCOV_TAG_*_NUM macros.
11770         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
11771         GCOV_TAG_COUNTER_LENGTH.
11772         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
11773         Use GCOV_TAG_COUNTER_NUM.
11774         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
11775         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
11776
11777 2003-07-10  Andreas Schwab  <schwab@suse.de>
11778
11779         * gcov-dump.c (dump_file): Fix missing address operator.
11780
11781 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11782
11783         PR c/11449
11784         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
11785         of HOST_WIDE_INT.
11786         (fold_single_bit_test): If sign_bit_p() fails, assume that the
11787         bit being tested is not a sign bit.
11788
11789 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11790
11791         * config/h8300/h8300.md (a peephole2): New.
11792
11793 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
11794
11795         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
11796         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
11797         from ld-linux.so.2 to ld.so.1.
11798         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
11799         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
11800         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
11801         nor -Wl,-rpath-link.
11802         (LIB_SPEC): Add -rpath-link if !static.
11803         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
11804         * config/mn10300/mn10300.c (mn10300_protect_label): New
11805         variable.
11806         * config/mn10300/linux.h (PRINT_OPERAND,
11807         PRINT_OPERAND_ADDRESS): Set it during their execution.
11808         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
11809         mn10300_protect_label is set.
11810         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
11811         -Wl,-rpath-link.
11812         (LIB_SPEC, STARTFILE_SPEC): Define.
11813         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
11814         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
11815         FLOAT_BIT_ORDER_MISMATCH.
11816         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11817         * config.gcc (am33_2.0-*-linux*): Added.
11818         * config/mn10300/linux.h: New.
11819         * config/mn10300/t-linux: New.
11820
11821 2003-07-10  Andreas Jaeger  <aj@suse.de>
11822
11823         * fold-const.c: Properly wrap prototypes.
11824
11825 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11826
11827         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
11828         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
11829         Moved from...
11830         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
11831         * config/mn10300/mn10300.h: GTY-declare it.
11832         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
11833         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
11834         prototype.  Use incoming RTL argument.
11835         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
11836         * config/mn10300/mn10300.md (int_label): Move C statements...
11837         (GOTaddr2picreg): ... here.
11838         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
11839         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
11840         * config/mn10300/mn10300.c (mn10300_encode_section_info):
11841         ... here.  New function.
11842         (TARGET_ENCODE_SECTION_INFO): Define to it.
11843         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
11844         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
11845         pattern name.
11846         (mn10300_loadPC): Define as insn splittable after reload.
11847         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
11848         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
11849         be defined in .rodata even in PIC, now that the assembler
11850         supports that.
11851         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11852         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
11853         symbol take an underscore prefix.
11854         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11855         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
11856         legitimize_pic_address): Declare.
11857         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
11858         the PIC register as fixed.
11859         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
11860         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
11861         PIC.
11862         (LEGITIMATE_PIC_OPERAND_P): Define.
11863         (PIC_OFFSET_TABLE_REGNUM): Define.
11864         (GOT_SYMBOL_NAME): Define.
11865         (SYMBOLIC_CONST_P): Define.
11866         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
11867         symbols.
11868         (MN10300_GLOBAL_P): Test it.
11869         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
11870         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
11871         * config/mn10300/mn10300.c (print_operand): Handle unspec.
11872         (expand_prologue): Set PIC register.
11873         (call_address_operand): Don't match SYMBOL_REFs in PIC.
11874         (legitimize_address): Call legitimize_pic_address.
11875         (legitimize_pic_address): New fn.
11876         (legitimate_pic_operand_p): New fn.
11877         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
11878         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
11879         UNSPEC_PLT): New constants.
11880         (pop_pic_reg): New insn.
11881         (movsi): Adjust non-PIC addresses.
11882         (builtin_setjmp_receiver): Restore the PIC register.
11883         (casesi): New insn.
11884         (call): Adjust non-PIC addresses.
11885         (int_label, GOTaddr2picreg): New expands.
11886         (am33_loadPC): New insn.
11887         (mn10300_loadPC): New expand.
11888         (call_next_insn): New insn.
11889         (add_GOT_to_pic_reg): New expand.
11890         (symGOT2reg, symGOT2reg_i): New expands.
11891         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
11892         (sym2PIC, sym2PLT): New expands.
11893
11894 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11895
11896         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
11897         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
11898         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
11899         to flag_unsafe_math_optimizations.
11900         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11901         * config/mn10300/mn10300.c (expand_prologue): Mark
11902         FP-register-saving insns as frame-related.
11903         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
11904         * config/mn10300/mn10300.c
11905         (mn10300_get_live_callee_saved_regs): Don't search past
11906         LAST_EXTENDED_REGNUM.
11907         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
11908         * config/mn10300/mn10300.md: Remove excessive line breaks from
11909         `@' output patterns that were accounted as additional
11910         alternatives.
11911         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
11912         Re-introduce changes accidentally removed in Richard Sandiford's
11913         2000-12-05's patch.
11914         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11915         Re-instate am33-2 lost in merge from net GCC.
11916         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
11917         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
11918         floating-point registers.
11919         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
11920         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
11921         pessimizations that had gone in on 2000-05-08.
11922         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
11923         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
11924         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
11925         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
11926         operand 0.
11927         * (movhi): Likewise.
11928         * (movsi): Likewise.
11929         * (movsf): Likewise.
11930         * (movdi): Likewise.
11931         * (movdf): Likewise.
11932         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
11933         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
11934         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
11935         (expand_prologue, expand_epilogue): Save and restore FP regs.
11936         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
11937         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
11938         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
11939         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
11940         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
11941         Do not clobber cc0.
11942         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
11943         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
11944         Discourage the two-argument, longer opcodes.
11945         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
11946         ones.
11947         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
11948         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
11949         * config/mn10300/mn10300.md (cmpsf): New pattern.
11950         (branch): Test mdep.fpCC and output fbCC.
11951         * config/mn10300/mn10300.c (print_operand): Output conditions.
11952         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
11953         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
11954         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
11955         mulsf3, divsf3): Use the `F' constraint for FP values.
11956         * config/mn10300/mn10300.c (const_1f_operand): New function.
11957         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
11958         * config/mn10300/mn10300.md (sqrtsf2): New expand.
11959         (rsqrtsf2): New insn.
11960         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
11961         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
11962         previous check-in.
11963         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
11964         * config/mn10300/mn10300.md (abssf2, negdf2): On
11965         TARGET_AM33_2, expand to...
11966         (abssf2_am33_2, negdf2_am33_2): New insns.
11967         (addsf3, subsf3, mulsf3, divsf3): Likewise.
11968         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
11969         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
11970         movdi, movdf): Added FP regs.
11971         * invoke.texi (-mam33-2, -mno-am33-2): Document.
11972         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
11973         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
11974         New macros.
11975         (REGNO_AM33_2_FP_P): Renamed to...
11976         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
11977         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
11978         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11979         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
11980         regs from GENERAL_REGS.
11981         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11982         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
11983         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
11984         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
11985         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
11986         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
11987         as FP_REGS.
11988         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
11989         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
11990         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
11991         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
11992         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
11993         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
11994         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
11995         AM33/2.0 floating-point registers.
11996         (CONDITIONAL_REGISTER_USAGE): Adjust.
11997         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
11998         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
11999         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
12000         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
12001         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
12002         (MULTILIB_DIRNAMES): Likewise.
12003         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
12004         `__AM33_2__' when `-mam33-2' is given.
12005         (TARGET_AM33_2): Define.
12006         (TARGET_SWITCHES): Adjust.
12007         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
12008         when appropriate.
12009
12010 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
12011
12012         * doc/install.texi: Add missing @.
12013
12014 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
12015
12016         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
12017
12018 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
12019
12020         PR/11144
12021         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
12022
12023 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
12024
12025         PR bootstrap/11043
12026         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
12027         "x-crtfini.o" with "crtinit.o", "crtfini.o".
12028
12029         * fixinc/inclhack.def (limits_ifndefs): Add select test.
12030         * fixinc/fixincl.x: Rebuild.
12031
12032         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
12033         * fixinc/fixincl.x: Rebuild.
12034
12035 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
12036
12037         * doc/install.texi (Configuration): Document the valgrind option
12038         to --enable-checking.
12039
12040 2003-07-09  Jan Hubicka  <jh@suse.cz>
12041
12042         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
12043
12044 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12045
12046         * c-lex.c (cb_ident): Cast cstr.text to const char *.
12047
12048 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
12049
12050         * gcov-io.h: Update documentation.
12051         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
12052         GCOV_NOTE_MAGIC.
12053         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
12054         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
12055         (struct gcov_var): Change buffer's type. Add endian flag.
12056         (gcov_open): Remove mode in libgcov.
12057         (gcov_magic): Prototype.
12058         * gcov-io.c (from_file): New.
12059         (gcov_open): Clear endian flag.
12060         (gcov_magic): New.
12061         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
12062         pointers.
12063         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
12064         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
12065         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
12066         * gcov-iov.c (main): Correct cast.
12067         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
12068         conversion.
12069         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
12070         (coverage_init): Use GCOV_NOTE_SUFFIX.
12071         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
12072         Rename to gcov_version, and return flag.
12073         (gcov_exit): Use gcov_version.
12074         (__gcov_init): Use gcov_version.
12075         * Makefile.in (coverageexts): Update.
12076         * gcov.c (print_version): Remove endianness conversion.
12077         (create_file_names): Use GCOV_NOTE_SUFFIX.
12078         (read_graph_file): Use gcov_magic.
12079         (read_count_file): Likewise.
12080         * gcov-dump.c (dump_file): Remove endianness conversion, use
12081         gcov_magic.
12082
12083 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
12084
12085         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
12086         coverage is on.
12087         * configure: Regenerated.
12088         * Makefile.in (ALL_CFLAGS): Correct its comment.
12089
12090 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
12091
12092         * fold-const.c (make_range): Do not access operand 1 for a
12093         zero-operand operator.
12094
12095 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
12096
12097         * toplev.c (warn_dummy, W_options): Die.
12098         (display_help): Don't print W_options.
12099         * common.opt: Add W_options help from toplev.c.
12100
12101 2003-07-09  Andreas Jaeger  <aj@suse.de>
12102
12103         * opts.c (wrap_help): Only pass int arguments as arguments to
12104         printf's '*' modifier.  Change argument of function.
12105
12106 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
12107
12108         * doc/invoke.texi: Fix misspelling of "@item".
12109
12110 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
12111
12112         * config/i386/i386.md: Remove an old comment about
12113         NOTICE_UPDATE_CC.
12114
12115 2003-07-09  Jan Hubicka  <jh@suse.cz>
12116
12117         * cgraph.c (cgraph_node_name): New function.
12118         (dump_cgraph): Use it.
12119         * cgraph.h (cgraph_dump_file): Declare.
12120         (cgraph_node_name): Declare.
12121         * cgraphunit.c: Include timevar.h
12122         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
12123         (cgraph_optimize_function): Use TV_INTEGRATION.
12124         (cgraph_mark_local_functions): reorganize dumps.
12125         (cgraph_mark_functions_to_inline_once): Likewise.
12126         (cgraph_optimize): Likewise; use timevar.
12127         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
12128         * toplev.c (dump_file_index): Add DFI_cgraph.
12129         (dump_file_info): Likewise.
12130         (cgraph_dump_file): New global variable.
12131         (do_compile): Open and close cgraph dump.
12132         * invoke.texi (-d): Document new flag; renumber.
12133
12134 2003-07-08  Roger Sayle  <roger@eyesopen.com>
12135
12136         PR c/11370
12137         * calls.c (emit_call_1): Don't bother popping the arguments off of
12138         the stack after a noreturn function call;  The adjustment is dead.
12139         (expand_call): Likewise.
12140
12141 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
12142
12143         * expr.c (MOVE_MAX_PIECES): Move from here...
12144         * defaults.h (MOVE_MAX_PIECES): ... to here.
12145
12146 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
12147
12148         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
12149
12150 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12151
12152         * genattr.c (internal_dfa_insn_code): Don't prototype.
12153         * genattrtab.c (attr_desc): Add `static_p' field.
12154         (expand_units): Make blockage range and ready cost functions
12155         static.
12156         (write_attr_get): Don't add extern prototypes in C file.  Mark
12157         static functions as appropriate.
12158         (find_attr, make_internal_attr): Initialize static_p.
12159         * genattrtab.h (ATTR_STATIC): New macro.
12160         * genautomata.c (output_internal_reset_func): Mark output function
12161         as inline.
12162         (make_internal_dfa_insn_code_attr): Mark output function as static.
12163
12164 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12165
12166         * genattrtab.h: Add new macros for attr `special' flags.
12167         * genattrtab.c (attr_desc): Reorder/resize fields better.
12168         Use attr `special' macros in all calls to make_internal_attr.
12169         * genautomata.c: Likewise.
12170
12171 2003-07-09  Jan Hubicka  <jh@suse.cz>
12172
12173         * c-common.c (c_estimate_num_insns_1): New static function.
12174         (c_estimate_num_insns): New global function.
12175         * c-common.h (DECL_NUM_STMTS): Rename to...
12176         (DECL_ESTIMATED_INSNS): ... this.
12177         (c_estimate_num_insns): Declare.
12178         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
12179         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
12180         * c-semantics.c (add_stmt): Do not account statements.
12181         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
12182         New.
12183         * langhooks.h (lang_hooks_for_tree_inlining): Add
12184         estimate_num_insns
12185         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
12186         to 100.
12187         (max-inline-insns): set to 300.
12188         (min-inline-insns): set to 10.
12189         * tree-inline.c (struct inline_data): Rename inlined_stmts to
12190         inlined-insns.
12191         (INSNS_PER_STMT): Kill.
12192         (inlinable_function_p): Compute and store body size.
12193         (expand_call_inline): Likewise.
12194         (optimize_inline_calls): Likewise.
12195
12196 2003-07-08  James E Wilson  <wilson@tuliptree.org>
12197
12198         PR target/10021
12199         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
12200         loop over new variable t2 instead of t.
12201
12202 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
12203
12204         PR bootstrap/11455
12205         * config/i386/winnt.c: Replace use of error(), warning() with
12206         error_with_decl(), warning_with_decl(),  throughout.
12207
12208 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
12209
12210         * opts.c (wrap_help): Use unsigned int, not size_t.
12211
12212 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
12213
12214         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
12215         as .file/.loc directives are incompatible with linker relaxation.
12216
12217 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
12218
12219         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
12220         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
12221         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
12222         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
12223         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
12224         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
12225         Escape { and } characters which are not part of range expressions.
12226         * fixinc/fixincl.x: Regenerate.
12227         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
12228
12229 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
12230
12231         PR c/1687
12232         * tree-inline.c (find_alloca_call): Use
12233         walk_tree_without_duplicates, instead of walk_tree.
12234         (find_builtin_longjmp_call): Likewise.
12235         * c-objc-common.c (c_cannot_inline_fn): Likewise.
12236         * c-semantics.c (find_reachable_label): Likewise.
12237
12238 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
12239
12240         PR c/11420
12241         * config/i386/i386.c (ix86_check_movabs): New function.
12242         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
12243         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
12244         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
12245
12246 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
12247
12248         * Makefile.in (install-po): Cope with empty CATALOGS.
12249
12250 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
12251
12252         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12253         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
12254         (SECTION_FUNCTION_TEMPLATE): Delete.
12255         * config/mips/elf.h: As for elf64.h.
12256         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
12257         * config/mips/linux.h: As for elf.h
12258         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12259         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
12260         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
12261         of in_sdata from current_section_name and current_section_flags.
12262         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12263         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
12264         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
12265         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
12266         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
12267         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12268         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
12269         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
12270         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
12271         (override_options): Remove setting of MASK_GPOPT.
12272         (mips_output_external): Use mips_in_small_data_p to check whether a
12273         symbol needs an .extern directive.  Don't emit such directives for
12274         TARGET_EXPLICIT_RELOCS.
12275         (mips_declare_object): Update accordingly.
12276         (mips_select_rtx_section): Call named_section rather than
12277         SMALL_DATA_SECTION.
12278         (mips_select_section): Use default_elf_section_section for everything
12279         except .text string constants.
12280         (mips_in_small_data_p): New function.
12281         (mips_encode_section_info): Remove small data handling.
12282         (mips_unique_section): Delete.
12283         (iris6_section_type_flags): New function.
12284         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
12285
12286 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12287
12288         PR Target/11453
12289         * pa.md: Disparage all mtsar constraints.
12290         (extzv, extv, insv): Don't fail on length of {32|64}.
12291
12292 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
12293
12294         * system.h: Poison MAP_CHARACTER.
12295         * config/i370/i370-protos.h (mvs_map_char): Delete.
12296         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
12297         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
12298         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
12299
12300 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
12301
12302         * toplev.c (randomize): Correct call to time().
12303
12304 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
12305
12306         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
12307         REG_EQUIV notes as well.
12308
12309 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
12310
12311         * doc/md.texi: Fix the description of addmodecc.
12312
12313 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
12314
12315         * Makefile.in (top_builddir): Set to "..", not ".".
12316         (INTLLIBS, INTLDEPS): Delete.
12317         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
12318         (LIBDEPS): Add $(LIBICONV_DEP).
12319         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
12320         (INCLUDES): Replace -I../intl with @INCINTL@.
12321         ($(top_builddir)/intl/libintl.a): Delete rule.
12322         (stage2-start, stage3-start, stage4-start, stageprofile-start,
12323         stagefeedback-start): Use $$ for variable to be evaluated by
12324         shell, not make.
12325         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
12326         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
12327         * aclocal.m4: sinclude ../config/progtest.m4.  Add
12328         contents of lcmessage.m4 from gettext distro.
12329         * configure.in: Check for wchar.h and setlocale.  Set
12330         LIBICONV_DEP to the empty string and substitute it.
12331         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
12332         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
12333         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
12334         in $LIBINTL, to avoid linking it twice.
12335         * configure, config.in: Regenerate.
12336
12337 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
12338
12339         * fixinc/mkfixinc.sh: Remove winnt support.
12340         * fixinc/fixinc.winnt: Delete with extreme prejudice.
12341
12342 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
12343
12344         * Makefile.in: Update.
12345         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
12346         * c.opt: Update documentation.
12347         * common.opt: Add some help text.
12348         * opts.c: Include intl.h.
12349         (wrap_help, print_help): New.
12350         (find_opt, handle_option, common_handle_option): opt_text now
12351         contains the '-'.  Use print_help to output help.
12352         * opts.h (struct cl_option): New member "help".
12353         * opts.sh: Update to handle help text output and to prepend
12354         options with '-'.
12355         * toplev.c (display_help): Remove some help text.
12356
12357 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
12358             Fariborz Jahanian  <fjahanian@apple.com>
12359
12360         * configure.in: Test for PowerPC mfcr field support in assembler.
12361         * config.in, configure: Regenderated.
12362
12363         * config/rs6000/power4.md: Add mfcrf reservation.
12364         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
12365         * config/rs6000/rs6000.c (mfcr_operation): Define.
12366         (print_operand): Add 'Q' case for mfcrf.
12367         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
12368         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
12369         (movcc_internal1): Emit optional field operand for mfcr and set
12370         "type" attribute appropriately.
12371         (mfcr SCC): Likewise.
12372         (movesi_from_cr_one): New.
12373
12374 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12375
12376         * config/i386/i386.md: Correct check-in of incorrect version.
12377
12378 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12379
12380         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
12381         adjacent stdio calls.
12382         * c-decl.c (c_print_identifier): Likewise.
12383         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
12384         * print-rtl.c (print_rtx): Likewise.
12385         * print-tree.c (print_node_brief, print_node): Likewise.
12386         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
12387
12388         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
12389         * config.in, configure: Regenerated.
12390
12391 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12392
12393         PR target/10979
12394         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
12395         Changed to define_expand patterns that copy operand[1] to prevent
12396         it from being clobbered before emitting an atan2?f3_1 insn.
12397         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
12398         patterns that actually specify the behaviour of x87's FPATAN.
12399
12400 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
12401
12402         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
12403         clearing of SYMBOL_FLAG_LOCAL bit.
12404         If vcall_offset fits into signed 16-bit immediate, use
12405         one instruction for both addition and load.
12406
12407 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
12408
12409         * opts.c (common_handle_option): Correct handling of the
12410         -falign- switches that do and don't take an argument.
12411
12412 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12413
12414         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
12415         today.
12416         (pushhi1_h8300hs): Likewise.
12417
12418 2003-07-07  Andreas Jaeger  <aj@suse.de>
12419
12420         * genextract.c: Convert remaining prototypes to ISO C90.
12421
12422         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
12423         * fold-const.c (fold_single_bit_test): Likewise.
12424         * diagnostic.c (default_diagnostic_finalizer): Likewise.
12425         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
12426
12427         * gengtype.c (write_array): Generate ISO C90 prototypes.
12428
12429         * genflags.c (gen_proto): Generate ISO C90 prototypes.
12430
12431 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12432
12433         PR optimization/11059
12434         * expr.c (can_store_by_pieces): Return true if length is zero.
12435         (store_by_pieces): If length is zero and endp is two, abort,
12436         othwerise, if length is zero and endp is not two, return "to".
12437         (clear_by_pieces): Do nothing if length is zero.
12438         (clear_storage): Do nothing if length is zero.
12439         (store_constructor): Simplify code when size is zero, or the
12440         target has already been cleared.  This avoids emitting a
12441         blockage instruction when initializing empty structures.
12442
12443 2003-07-07  Andreas Jaeger  <aj@suse.de>
12444
12445         * mips-tfile.c: Convert prototypes to ISO C90.
12446         * mips-tdump.c: Convert prototypes to ISO C90.
12447
12448 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
12449
12450         * rtl.h (emit_line_note): Take a location_t.
12451         (emit_line_note_force): Remove.
12452         (set_file_and_line_for_statement): Take a location_t.
12453         * tree.g (emit_line_note): Take a location_t.
12454         * emit-rtl.c (emit_line_note): Take a location_t.
12455         (emit_line_note_force): Remove.
12456         * function.c (init_function_start): Adjust emit_line_note call.
12457         (expand_function_end): Use force_next_line_note, not
12458         emit_line_note_force.
12459         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
12460         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
12461         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
12462         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
12463         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
12464         genrtl_continue_stmt, genrtl_switch_stmt,
12465         genrtl_asm_stmt): Likewise.
12466         * expr.c (expand_expr): Likewise.
12467         * integrate.c (expand_inline_function): Likewise.
12468         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
12469         (expand_decl_init): Adjust emit_line_note call.
12470
12471 2003-07-07  Dale Johannesen  <dalej@apple.com>
12472
12473         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
12474
12475 2003-07-07  Andreas Jaeger  <aj@suse.de>
12476
12477         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
12478         * config/i386/i386.c: Likewise.
12479
12480 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12481
12482         * config/h8300/h8300.md: Use gen_int_mode instead of
12483         GEN_INT (trunc_int_for_mode (...)).
12484
12485 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12486
12487         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
12488         2 bytes and then subtract 2 from the stack pointer.
12489         (pushhi1_h8300hs): Likewise.
12490
12491 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
12492
12493         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
12494         -frandom-seed.
12495         * configure: Regenerated.
12496         * Makefile.in: Remove extraneous comment.
12497         * toplev.c (randomize): Protect against potential multiple calls.
12498         * doc/invoke.texi (-frandom-seed): Document use for in coverage
12499         files.
12500
12501 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12502             Eric Botcazou  <ebotcazou@libertysurf.fr>
12503
12504         PR optimization/11198
12505         * alias.c (objects_must_conflict_p): Return 1 if the types have
12506         the same alias set, not if the alias sets only conflict.
12507
12508 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
12509
12510         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
12511         (convert_cset): Change inbuf to type ICONV_CONST char.
12512         * Makefile.in (LIBS): Add LIBICONV.
12513
12514         * doc/invoke.texi (-falign-functions): Document that
12515         when n is zero then a machine-dependent default is used.
12516         (-falign-labels): Document that when n is zero then a
12517         machine-dependent default is used and that -falign-labels =1
12518         is equivalent to -fno-align-labels.
12519         (-falign-loops): Likewise.
12520         (-falign-jumps): Likewise.
12521
12522 2003-07-06  Art Haas  <ahaas@airmail.net>
12523
12524         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
12525         initializer syntax.
12526
12527 2003-07-06  James E Wilson  <wilson@tuliptree.org>
12528
12529         PR optimization/9812
12530         * rtl.h (mem_for_const_double): Delete prototype.
12531         * varasm.c (mem_for_const_double): Delete function.
12532         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
12533         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
12534         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
12535         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
12536         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
12537         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
12538         comment about confused support for XFmode constants.
12539
12540 2003-07-07  Jan Hubicka  <jh@suse.cz>
12541
12542         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
12543
12544 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
12545
12546         * config/h8300/h8300.c: Fix comment typos.
12547         * config/h8300/h8300.md: Likewise.
12548         * config/i386/athlon.md: Likewise.
12549         * config/i386/i386.c: Likewise.
12550         * config/i386/pentium.md: Likewise.
12551         * config/ia64/ia64.c: Likewise.
12552         * config/ia64/itanium1.md: Likewise.
12553         * config/ia64/itanium2.md: Likewise.
12554         * config/m32r/m32r.md: Likewise.
12555         * config/m68hc11/m68hc11.c: Likewise.
12556         * config/mcore/mcore.c: Likewise.
12557         * config/mips/sr71k.md: Likewise.
12558         * config/mips/t-iris5-as: Likewise.
12559         * config/mmix/mmix.h: Likewise.
12560         * config/ns32k/ns32k.h: Likewise.
12561         * config/ns32k/NOTES: Fix a typo.
12562
12563 2003-07-06  Andreas Jaeger  <aj@suse.de>
12564
12565         * stmt.c: Convert remaining prototypes to ISO C90.
12566         * cfglayout.c: Likewise.
12567         * dbxout.c: Likewise.
12568         * gcc.c: Likewise.
12569         * genemit.c: Likewise.
12570
12571         * basic-block.h: Convert prototypes to ISO C90.
12572         * c-parse.in: Likewise.
12573         * c-pragma.h: Likewise.
12574         * c-typeck.c: Likewise.
12575         * cfghooks.h: Likewise.
12576         * cfgloopanal.c: Likewise.
12577         * dbxout.h: Likewise.
12578         * debug.h: Likewise.
12579         * dwarf2asm.h: Likewise.
12580         * gcov.c: Likewise.
12581         * gengtype-lex.l: Likewise.
12582         * sched-int.h: Likewise.
12583         * timevar.c: Likewise.
12584
12585 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
12586
12587         * c-common.h (c_comon_handle_filename,
12588         c_common_missing_arguement): New.
12589         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
12590         LANG_HOOKS_MISSING_ARGUMENT): New.
12591         * c-opts.c (missing_arg): Rename c_common_missing_argument,
12592         update to be an appropriate langhook.
12593         (c_common_handle_option): Don't handle filenames.
12594         (c_common_handle_filename): New.
12595         * hooks.c (hook_void_constcharptr,
12596         hook_bool_constcharptr_size_t_false): New.
12597         * hooks.h (hook_void_constcharptr,
12598         hook_bool_constcharptr_size_t_false): New.
12599         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
12600         LANG_HOOKS_MISSING_ARGUMENT): New.
12601         (LANG_HOOKS_INITIALIZER): Update.
12602         * langhooks.h (struct lang_hooks): Add handle_filename and
12603         missing_argument.
12604         * opts.c (handle_option): Don't handle filenames here, but ...
12605         (handle_options): ... here.
12606         (common_handle_option): Don't handle missing arguments here.
12607         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
12608         LANG_HOOKS_MISSING_ARGUMENT): New.
12609
12610 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
12611
12612         * Makfile.in: Remove traces of mbchar.
12613         * c-parse.in (MULTIBYTE_CHARS): Remove.
12614         * config.in (MULTIBYTE_CHARS): Remove.
12615         * configure: Remove --enable-mbchar.
12616         * configure.in: Remove --enable-mbchar.
12617         * mbchar.c, mbchar.h: Remove.
12618         * system.h: Poison MULTIBYTE_CHARS.
12619         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
12620         * config/linux.h (MULTIBYTE_CHARS): Remove.
12621         * config/svr4.h (MULTIBYTE_CHARS): Remove.
12622         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
12623
12624 2003-07-06  Andreas Jaeger  <aj@suse.de>
12625
12626         * varray.c (varray_check_failed): Fix typo.
12627
12628         * unroll.c: Convert prototypes to ISO C90.
12629         * varasm.c: Likewise.
12630         * varray.c: Likewise.
12631         * varray.h: Likewise.
12632         * vmsdbgout.c: Likewise.
12633         * xcoffout.c: Likewise.
12634         * xcoffout.h: Likewise.
12635
12636 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12637
12638         * gcov-io.h: Add a local time stamp.
12639         (struct gcov_info): Add stamp field.
12640         (gcov_truncate): New.
12641         * coverage.c (read_counts_file): Skip the stamp.
12642         (coverage_begin_output): Write the stamp.
12643         (build_gcov_info): Declare and init the stamp.
12644         (coverage_finish): Only unlink data file, if stamp is zero.
12645         * gcov-dump.c (dump_file): Dump the stamp.
12646         * gcov.c (bbg_stamp): New.
12647         (release_structures): Clear bbg_stamp.
12648         (read_graph_file): Read stamp.
12649         (read_count_file): Check stamp.
12650         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
12651
12652 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12653
12654         * tree.h (default_flag_random_seed): Remove.
12655         * toplev.h (local_tick): Declare.
12656         * tree.c (flag_random_seed, default_flag_random_seed): Move to
12657         toplev.c.
12658         (append_random_chars): Don't call default_flag_random_seed.
12659         * toplev.c (flag_random_seed): Define here. Set local_tick.
12660         (local_tick): Define.
12661         (randomize): New, moved from tree.c.
12662         (print_switch_values): Adjust.
12663         (toplev_main): Call randomize.
12664
12665 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12666
12667         * tree.h (crc32_string): Declare.
12668         * tree.c (append_random_chars): Remove.
12669         (crc32_string): New.
12670         (get_file_function_name_long): Use crc32_string here.
12671
12672 2003-07-06  Andreas Jaeger  <aj@suse.de>
12673
12674         * gcc.c: Convert prototypes to ISO C90.
12675         * gcc.h: Likewise.
12676         * gcov-dump.c: Likewise.
12677         * gcov-iov.c: Likewise.
12678         * gcse.c: Likewise.
12679         * genattrtab.h: Likewise.
12680         * ggc.h: Likewise.
12681         * global.c: Likewise.
12682         * graph.c: Likewise.
12683         * graph.h: Likewise.
12684         * hosthooks.h: Likewise.
12685         * hooks.h: Likewise.
12686         * hooks.c: Likewise.
12687         * hashtable.h: Likewise.
12688         * hashtable.c: Likewise.
12689         * haifa-sched.c: Likewise.
12690         * integrate.h: Likewise.
12691         * integrate.c: Likewise.
12692         * input.h: Likewise.
12693         * ifcvt.c: Likewise.
12694         * jump.c: Likewise.
12695         * langhooks-def.h: Likewise.  Add extern to prototypes.
12696         * langhooks.c: Likewise.
12697         * langhooks.h: Likewise.
12698         * lcm.c: Likewise.
12699         * local-alloc.c: Likewise.
12700         * loop-init.c: Likewise.
12701         * loop-unroll.c: Likewise.
12702         * loop-unswitch.c: Likewise.
12703         * loop.c: Likewise.
12704         * loop.h: Likewise. Add extern to prototypes.
12705         * machmode.h: Likewise.
12706         * main.c: Likewise.
12707         * mbchar.c: Likewise.
12708         * mbchar.h: Likewise.
12709         * mkdeps.c: Likewise.
12710         * mkdeps.h: Likewise.
12711         * optabs.c: Likewise.
12712         * optabs.h: Likewise.
12713         * output.h: Likewise.
12714         * gccspec.c: Likwise.
12715         * postreload.c: Likewise.
12716         * prefix.c: Likewise.
12717         * prefix.h: Likewise.
12718         * print-rtl.c: Likewise.
12719         * print-tree.c: Likewise.
12720         * profile.c: Likewise.
12721         * read-rtl.c: Likewise.
12722         * real.c: Likewise.
12723         * real.h: Likewise.
12724         * recog.c: Likewise.
12725         * recog.h: Likewise.
12726         * reg-stack.c: Likewise.
12727         * regclass.c: Likewise.
12728         * regmove.c: Likewise.
12729         * regrename.c: Likewise.
12730         * regs.h: Likewise.
12731         * reload.c: Likewise.
12732         * reload.h: Likewise.
12733         * reload1.c: Likewise.
12734         * reorg.c: Likewise.
12735         * resource.c: Likewise.
12736         * resource.h: Likewise.
12737         * rtl-error.c: Likewise.
12738         * rtl.c: Likewise.
12739         * rtl.h: Likewise.
12740         * rtlanal.c: Likewise.
12741         * sbitmap.c: Likewise.
12742         * sbitmap.h: Likewise.
12743         * scan-decls.c: Likewise.
12744         * scan.c: Likewise.
12745         * sched-deps.c: Likewise.
12746         * sched-ebb.c: Likewise.
12747         * sched-int.h: Likewise.
12748         * sched-rgn.c: Likewise.
12749         * sched-vis.c: Likewise.
12750         * sibcall.c: Likewise.
12751         * simplify-rtx.c: Likewise.
12752         * sreal.c: Likewise.
12753         * sreal.h: Likewise.
12754         * ssa-ccp.c: Likewise.
12755         * ssa-dce.c: Likewise.
12756         * ssa.c: Likewise.
12757         * ssa.h: Likewise.
12758         * stack.h: Likewise.
12759         * stmt.c: Likewise.
12760         * stor-layout.c: Likewise.
12761         * stringpool.c: Likewise.
12762         * target.h: Likewise.
12763         * timevar.c: Likewise.
12764         * timevar.h: Likewise.
12765         * tlink.c: Likewise.
12766         * tracer.c: Likewise.
12767         * tree-inline.c: Likewise.
12768         * tree-inline.h: Likewise.
12769         * tree.c: Likewise.
12770         * tree.h: Likewise.
12771
12772 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12773
12774         * combine.c (nonzero_bits1): Fix a warning.
12775
12776 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12777
12778         * config/h8300/h8300.c (compute_mov_length): Correct the
12779         length of loading CONST0_RTX (SFmode).
12780
12781 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12782
12783         * toplev.c (output_clean_symbol_name): Remove.
12784         * toplev.h (output_clean_symbol_name): Remove.
12785         * config/alpha/alpha.c (unicosmk_output_module_name): Use
12786         lbasename & clean_symbol_name.
12787
12788 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12789
12790         * ggc.h: Follow spelling conventions.
12791         * config/i386/i386.c: Likewise.
12792         * config/i386/winnt.c: Likewise.
12793         * config/rs6000/rs6000.c: Likewise.
12794
12795 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12796
12797         * bt-load.c: Fix comment typos.
12798         * c-incpath.c: Likewise.
12799         * cfg.c: Likewise.
12800         * cfgcleanup.c: Likewise.
12801         * cfgloop.h: Likewise.
12802         * cfgloopmanip.c: Likewise.
12803         * cfgrtl.c: Likewise.
12804         * diagnostic.h: Likewise.
12805         * dwarfout.c: Likewise.
12806         * emit-rtl.c: Likewise.
12807         * et-forest.c: Likewise.
12808         * et-forest.h: Likewise.
12809         * expr.c: Likewise.
12810         * gcse.c: Likewise.
12811         * genattr.c: Likewise.
12812         * jump.c: Likewise.
12813         * langhooks.h: Likewise.
12814         * local-alloc.c: Likewise.
12815         * loop-unroll.c: Likewise.
12816         * loop-unswitch.c: Likewise.
12817         * ra-build.c: Likewise.
12818         * regclass.c: Likewise.
12819         * regmove.c: Likewise.
12820         * rtl.def: Likewise.
12821         * rtlanal.c: Likewise.
12822         * sched-ebb.c: Likewise.
12823         * sched-rgn.c: Likewise.
12824         * simplify-rtx.c: Likewise.
12825         * ssa.c: Likewise.
12826         * tracer.c: Likewise.
12827         * tree.c: Likewise.
12828
12829 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
12830
12831         * cppcharset.c: Use the correct return type for the fallback iconv
12832         macro.
12833
12834 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12835
12836         Blame to Jan Hubicka  <jh@suse.cz>
12837         * cfglayout.c (record_effective_endpoints): Split insns before
12838         first basic block correctly.
12839
12840 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12841
12842         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
12843         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
12844         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
12845
12846 2003-07-05  Andreas Jaeger  <aj@suse.de>
12847
12848         * genattrtab.c (write_attr_get): Revert part of last patch to
12849         always write out a prototype.
12850
12851         * genemit.c (gen_split): Readd lost unused attributes in last
12852         patch.
12853
12854 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12855
12856         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
12857         different from header.
12858
12859 2003-07-05  Andreas Schwab  <schwab@suse.de>
12860
12861         * config/m68k/m68k.c: Remove code protected by CRDS.
12862         * config/m68k/m68k.md: Likewise.
12863
12864 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
12865
12866         PR driver/11417
12867         * c-opts.c (permit_fortran_options): New.
12868         (c_common_init_options): Accept fortran front end options if
12869         it looks like we might be preprocessing Fortran.
12870         (c_common_handle_option): Don't reject switch if permit_fotran_options.
12871
12872 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12873
12874         * genattr.c (internal_dfa_insn_code): Output prototype.
12875         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
12876         * genautomata.c: Likewise.
12877         * genconditions.c: Likewise.
12878         * genemit.c: Likewise.
12879         * genextract.c: Likewise.
12880         * gengenrtl.c: Likewise.
12881         * gengtype.c: Likewise.
12882         * genopinit.c: Likewise.
12883         * genoutput.c: Likewise.
12884         * genpeep.c: Likewise.
12885         * genrecog.c: Likewise.
12886
12887 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
12888
12889         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
12890         (struct cpp_options): Add narrow_charset, wide_charset,
12891         bytes_big_endian fields.  Remove EBCDIC field.
12892         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
12893
12894         * cpphash.h: Include <iconv.h> if we have it, otherwise
12895         provide a dummy definition of iconv_t.
12896         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
12897         (_cpp_valid_ucn): Update prototype.
12898         (_cpp_destroy_iconv): New prototype.
12899
12900         * doc/cpp.texi: Document character set handling.
12901         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
12902         * doc/extend.texi: Delete entire section on multiline strings.
12903         Rewrite section on __FUNCTION__ etc now that these are
12904         variables in C.
12905
12906         * cppucnid.tab, cppucnid.pl: New files.
12907         * cppucnid.h: New generated file.
12908         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
12909         (iconv_open, iconv, iconv_close): Provide dummy definitions
12910         if !HAVE_ICONV.
12911         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
12912         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
12913         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
12914         cpp_interpret_string, narrow_str_to_charconst,
12915         wide_str_to_charconst): New.
12916         (ucn_valid_in_identifier): Use a binary search through the
12917         ucnranges table defined in cppucnid.h, not a long chain of if
12918         statements.
12919         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
12920         character names are only valid in C++ and C99" to a warning.
12921         Issue the "meaning of \[uU] is different in traditional C"
12922         warning here.  Take care not to let iconv see an invalid UCS
12923         value if we get a malformed UCN.  Issue an error if we don't
12924         have iconv.
12925         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
12926         cpp_interpret_string to do the heavy lifting.
12927
12928         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
12929         narrow_charset, wide_charset fields of options structure.
12930         (cpp_destroy): Call _cpp_destroy_iconv.
12931         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
12932         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
12933         (cpp_interpret_charconst): Moved to cppcharset.c.
12934         * cpplib.c (dequote_string): Delete.
12935         (interpret_string_notranslate): New.
12936         (do_line, do_linemarker): Use interpret_string_notranslate.
12937
12938         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
12939
12940         * c-common.c (fname_string, combine_strings): Delete.
12941         * c-common.h (fname_string, combine_strings): Delete prototypes.
12942         * c-lex.c (ignore_escape_flag): Delete.
12943         (cb_ident): Use cpp_interpret_string, not lex_string.
12944         (get_nonpadding_token): New function.
12945         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
12946         Adjust calls to lex_string.  Don't write *value twice.
12947         (lex_string): Now handles string constant concatenation.
12948         Most of the work handed off to cpp_interpret_string.
12949         Call fix_string_type here.
12950         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
12951         FUNC_NAME, throughout.
12952         (OBJC_STRING): New token type.
12953         (primary:STRING): No need to call fix_string_type here.
12954         (primary:objc_string): Make that OBJC_STRING.
12955         (objc_string nonterminal): Delete.
12956         (yylexname): Delete code to handle fake string constants.
12957         (yylexstring): Delete entirely.
12958         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
12959         to handle CPP_ATSIGN.
12960
12961         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
12962         * c-opts.c (missing_arg, c_common_handle_option): Handle
12963         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
12964         (c_common_init): Set cpp_opts->bytes_big_endian, not
12965         cpp_opts->EBCDIC.  Call cpp_init_iconv.
12966         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
12967         (TARGET_EBCDIC): Delete default definition.
12968
12969         * objc/objc-act.c (build_objc_string_object): No need to
12970         handle string constant concatenation.
12971
12972 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12973
12974         * doc/install.texi: Fix typos.
12975         * doc/invoke.texi: Likewise.
12976         * doc/tm.texi: Likewise.
12977
12978 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12979
12980         * config/pa/fptr.c: Fix comment typos.
12981         * config/pa/pa-64.h: Likewise.
12982         * config/pa/pa.c: Likewise.
12983         * config/pa/pa.h: Likewise.
12984         * config/rs6000/603.md: Likewise.
12985         * config/rs6000/7xx.md: Likewise.
12986         * config/rs6000/darwin.h: Likewise.
12987         * config/rs6000/freebsd.h: Likewise.
12988         * config/rs6000/rs6000.c: Likewise.
12989         * config/rs6000/rs6000.md: Likewise.
12990         * config/rs6000/spe.h: Likewise.
12991
12992 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
12993
12994         * config/s390/2064.md: Change GNU CC to GCC.
12995         * config/s390/2084.md: Likewise.
12996         * config/s390/fixdfdi.h: Likewise.
12997         * config/s390/linux.h: Likewise.
12998         * config/s390/s390-modes.def: Likewise.
12999         * config/s390/s390-protos.h: Likewise.
13000         * config/s390/s390.c: Likewise.
13001         * config/s390/s390.h: Likewise.
13002         * config/s390/s390.md: Likewise.
13003         * config/s390/s390x.h: Likewise.
13004
13005 2003-07-04  Jeff Law  <law@redhat.com>
13006
13007         PR c/11428
13008         * expr.c (do_store_flag): Pass in the correct result type
13009         when calling fold_single_bit_test.
13010         * fold-const.c (fold_single_bit_test): Use result_type for the
13011         result when folding a sign bit test.
13012
13013 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
13014
13015         * opts.c (common_handle_options): Negate sense of -falign- switches.
13016
13017 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
13018
13019         * Makefile.in: Replace PWD with PWD_COMMAND.
13020
13021 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13022
13023         * cfgloopanal.c (count_strange_loop_iterations): New static function.
13024         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
13025         Handle strange loops.
13026
13027 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
13028
13029         * install.texi: Even the g77 manpage is derived from
13030         the full g77 manual.
13031
13032 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
13033
13034         * ABOUT-NLS: Delete.
13035         * intl: Delete entire directory.
13036         * aclocal.m4: Include ../config/gettext.m4.  Delete
13037         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
13038         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
13039         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
13040         Remove intl/Makefile from all_outputs.
13041         * configure, config.in: Regenerate.
13042         * Makefile.in: Expunge all references to intl subdirectory.
13043         Add -I../intl to INCLUDES.
13044         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
13045
13046 2003-07-04  Roger Sayle  <roger@eyesopen.com>
13047
13048         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
13049         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
13050
13051 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
13052
13053         PR c++/5287, PR c++/7910, PR c++/11021
13054         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
13055         dllimport attribute if function is defined at declaration, but
13056         report error instead. Likewise for dllimport'd variable
13057         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
13058         declared within functions, Report error if dllimport or dllexport
13059         symbol is not global.
13060         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
13061         if defined after declaration or if inlined. Don't allow definition
13062         of static data members of C++ classes. Don't dllimport virtual
13063         methods.
13064         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
13065         (i386_pe_mark_dllimport): Remove unnecessary checks.
13066         (i386_pe_encode_section_info): Warn if the dllimport attribute
13067         and symbol prefix have been instantiated and then overridden.
13068
13069         * doc/extend.texi: Document dllimport and dllexport attributes.
13070
13071         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
13072
13073 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
13074
13075         * config/kaos.h (CPP_PREDEFINES): Delete.
13076         (TARGET_OS_CPP_BUILTINS): New.
13077
13078 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13079
13080         * c-aux-info.c: Include toplev.h after c-tree.h.
13081         * c-common.c: Likewise.
13082         (GCC_DIAG_STYLE): Undef.
13083         * c-semantics.c (GCC_DIAG_STYLE): Define.
13084         * c-tree.h (GCC_DIAG_STYLE): Likewise.
13085         * diagnostic.h (inform): Move prototype to toplev.h.
13086         * jump.c: Include diagnostic.h before toplev.h.
13087         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
13088         (warning, error, fatal_error, pedwarn, sorry, inform,
13089         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
13090
13091 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13092
13093         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
13094         at all if edge is not specified.
13095         (can_copy_bbs_p, copy_bbs): New.
13096         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
13097         * cfgloop.c (get_loop_body): Comment more precisely.
13098         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
13099         (scale_bbs_frequencies): Fix comment typo.
13100         (can_duplicate_loop_p): Use can_copy_bbs_p.
13101         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
13102
13103 2003-07-03  Devang Patel <dpatel@apple.com>
13104
13105         * c-opts.c (c_common_parse_file): Remove extra
13106         debug_hooks->start_source_file call.
13107
13108 2003-07-03  Roger Sayle  <roger@eyesopen.com>
13109
13110         * real.c (real_trunc, real_floor, real_ceil): New functions
13111         to implement trunc, floor and ceil respectively.
13112         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
13113         * builtins.c (integer_valued_real_p): New function to test if
13114         a floating point expression has an integer valued result.
13115         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
13116         foo(x) where foo is an integer rounding function.  Similarly,
13117         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
13118         (double)(int)x when both foo and bar are integer rounding
13119         functions and we don't need to honor errno.
13120         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
13121         New functions to fold trunc, floor and ceil.
13122         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
13123         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
13124         to fold BUILT_IN_CEIL*.
13125         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
13126         the remaining integer rounding functions.
13127
13128 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
13129
13130         * config/sparc/sparc.c (function_arg_partial_nregs): Use
13131         SPARC_INT_ARG_MAX to determine where to split unnamed
13132         complex FP arguments.
13133
13134 2003-07-03  Jan Hubicka  <jh@suse.cz>
13135
13136         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
13137         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
13138         (merge_blocks_move_predecessor_nojumps,
13139          merge_blocks_move_successor_nojumps): Use merge_blocks.
13140         (try_optimize_cfg): Use merge_blocks_move.
13141         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
13142         (merge_blocks_nomove): Rename to rtl_merge_blocks.
13143         (cfg_layout_create_basic_block): New.
13144         (rtl_can_merge_blocks): New.
13145         (cfg_layout_split_block): Do not alloc aux by hand.
13146         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
13147         merge_blocks.
13148         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
13149         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
13150         * cfgloopmanip.c (loop_split_edge_with): Likewise.
13151         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
13152
13153         * basic-block.h (basic_block_def): Add field 'rbi'.
13154         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
13155         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
13156         * cfg.c (entry_exit_blocks): Add new field.
13157         * cfglayout.c: Include alloc-pool.h;
13158         (cfg_layout_pool): New.
13159         (record_effective_endpoints, fixup_reorder_chain,
13160         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
13161         of rbi.
13162         (cfg_layout_initialize_rbi): New function.
13163         (cfg_layout_initialize): Use it.
13164         (cfg_layout_finalize): Clear rbi fields.
13165         * cfglayout.h (RBI): Kill.
13166         (cfg_layout_initialize_rbi): Declare.
13167         * cfgloopmanip.c (copy_bbs): Use rbi.
13168         (record_exit_edges): Likewise.
13169         (duplicate_loop_to_header_edge): Likewise.
13170         * cfgrtl.c (cfg_layout_create_basic_block): Use
13171         cfg_layout_initialize_rbi.
13172         (cfg_layout_split_block): Use rbi.
13173         (cfg_layout_delete_block): Likewise.
13174         * loop-init.c (loop_optimizer_finalize): Likewise.
13175         * loop-unswitch.c (unswitch_loop): Likewise.
13176         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
13177
13178         * cfgrtl.c: Update comments.
13179         (try_redirect_by_replacing_jump): New argument.
13180         (redirect_branch_edge): Break out from ...
13181         (rtl_redirect_edge_and_branch): ... this one.
13182         (update_cfg_after_block_merging): Break out from ...
13183         (rtl_merge_blocks): ... this one.
13184         (cfg_layout_split_edge): New.
13185         (cfg_layout_merge_blocks): New.
13186         (cfg_layout_can_merge_blocks_p): New.
13187         (cfg_layout_redirect_edge_and_branch): Reorganize.
13188         (cfg_layout_rtl_cfg_hooks): Fill in.
13189         (cfg_layout_delete_block): Kill barriers.
13190         * cfganal.c (can_fallthru): Deal with exit blocks
13191         * cfglayout.c (cfg_layout_function_header): New function
13192         (record_effective_endpoints): Record function header.
13193         (fixup_reorder_chain): Fixup dead jumptables; place header
13194
13195         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
13196         * bb-reorder.c (cfg_layout_initialize): Update call.
13197         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
13198         edges in cfglayout mode.
13199         * cfglayout.c (cleanup_unconditional_jumps): Kill.
13200         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
13201         * cfglayout.h (cfg_layout_initialize): Update prototype.
13202         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
13203         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
13204         * flow.c (propagate_block): Do not crash when basic block ends
13205         by first insn in the chain.
13206         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
13207         do loop discovery.
13208         * tracer.c (tracer): Update call of cfg_layout_initialize.
13209
13210 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13211
13212         * Makefile.in: Use dependency variables in lieu of explicit
13213         files throughout.
13214
13215 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
13216
13217         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
13218         * tree.h: ...to here.
13219
13220 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
13221
13222         * config/s390/2064.md: Fix comment typos.
13223         * config/s390/2084.md: Likewise.
13224         * config/s390/s390.c: Likewise.
13225         * config/s390/s390.md: Likewise.
13226         * config/sh/sh.c: Likewise.
13227         * config/sh/sh.h: Likewise.
13228         * config/sh/sh.md: Likewise.
13229         * config/sparc/sparc.c: Likewise.
13230         * config/sparc/sparc.h: Likewise.
13231         * config/sparc/sparc.md: Likewise.
13232         * config/stormy16/stormy16.c: Likewise.
13233         * config/stormy16/stormy16.h: Likewise.
13234         * config/stormy16/stormy-abi: Fix a typo.
13235
13236 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
13237
13238         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
13239
13240 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13241
13242         * config/mips/mips.h (save_argv): Delete.
13243
13244 2003-07-03  Roger Sayle  <roger@eyesopen.com>
13245
13246         PR target/10700
13247         * fold-const.c (extract_muldiv_1): There's nothing that can be done
13248         if the expression is a SAVE_EXPR.
13249
13250 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
13251
13252         * config/m32r/m32r.c: Fix comment typos.
13253         * config/m68hc11/m68hc11.c: Likewise.
13254         * config/m68hc11/m68hc11.h: Likewise.
13255         * config/m68k/m68k.c: Likewise.
13256         * config/mcore/mcore.c: Likewise.
13257         * config/mcore/mcore.h: Likewise.
13258         * config/mcore/mcore.md: Likewise.
13259         * config/mips/mips.c: Likewise.
13260         * config/mips/mips.h: Likewise.
13261         * config/mips/mips.md: Likewise.
13262         * config/mips/netbsd.h: Likewise.
13263         * config/mn10300/mn10300.c: Likewise.
13264
13265 2003-07-03  Andreas Schwab  <schwab@suse.de>
13266
13267         * dbxout.c (pending_bincls): Move decl down inside
13268         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
13269
13270 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13271
13272         * rtl.h (NOTE_DATA): Refer to whole union.
13273         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
13274
13275 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
13276
13277         PR optimization/11381
13278         * simplify-rtx.c (simplify_relational_operation): Check that
13279         two equal operands have no side-effects before simplifying
13280         the comparison.
13281
13282 2003-07-02  Jeff Law  <law@redhat.com>
13283
13284         * expr.c (do_store_flag): Remove special case folding for
13285         single bit tests.  Instead call back into the commonized folder
13286         routine.
13287         * fold-const.c (fold_single_bit_test): New function, mostly
13288         extracted from do_store_flag, with an additional case extracted
13289         from fold.
13290         (fold): Call fold_single_bit_test appropriately.
13291         * tree.h (fold_single_bit_test): Prototype.
13292
13293 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
13294
13295         * system.h: Include filenames.h.
13296         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
13297         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
13298         define based on HAVE_DOS_BASED_FILE_SYSTEM.
13299         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
13300         * config/i386/xm-mingw32.h: Don't define
13301         HAVE_DOS_BASED_FILE_SYSTEM,
13302         DIR_SEPARATOR, or DIR_SEPARATOR_2.
13303         * doc/hostconfig.texi: Update to match.
13304
13305         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
13306         config/i386/cygwin.h:
13307         Use IS_ABSOLUTE_PATH throughout.
13308         * gcc.c (DIR_UP): Delete, unused.
13309         * protoize.c (IS_SAME_PATH): Define in terms of
13310         FILENAME_CMP.
13311         (is_abspath): Delete.
13312
13313 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
13314
13315         * config/i386/emmintrin.h: Fix comment typos.
13316         * config/i386/i386.c: Likewise.
13317         * config/i386/i386.h: Likewise.
13318         * config/i386/sco5.h: Likewise.
13319         * config/ia64/ia64.c: Likewise.
13320         * config/ia64/itanium2.md: Likewise.
13321
13322 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
13323
13324         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
13325         DBX_USE_BINCL.
13326         (emit_bincl_stab): Same.
13327         (emit_pending_bincls): Same.
13328
13329 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
13330
13331         * config/h8300/h8300.c (compute_mov_length): Fix the length of
13332         loading CONST0_RTX (SFmode).
13333         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
13334         'G' to CONST0_RTX (SFmode).
13335         * config/h8300/h8300.md (movsf_h8300): Change the first
13336         constraint to 'G'.
13337         (movsf_h8300h): Likewise.
13338
13339 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13340
13341         * c-common.h (c_common_init_options): New prototype.
13342         * c-opts.c (deferred_size): Remove.
13343         (defer_opt): Array is now pre-allocated.
13344         (c_common_init_options): Pre-allocate deferred_opts.  Make
13345         lang_flags unsigned.
13346         (push_command_line_options): Free deferred_opts.
13347         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
13348         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
13349         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
13350         * langhooks.h (struct lang_hooks): New prototype for init_options.
13351         * main.c (main): Cast argv.
13352         * opts.c (handle_option, handle_options): Update prototypes.
13353         (decode_options): save_argc, save_argv are not global.  Constify.
13354         * opts.h (decode_options): New prototype.
13355         * toplev.c (general_init): New protoype.
13356         (save_argv): Make static.
13357         (save_argc): Remove.
13358         (print_switch_values, general_init): Constify.
13359         (toplev_main): Save argv.
13360         * toplev.h (toplev_main): Update prototype.
13361         (save_argc, save_argv): Remove.
13362
13363 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
13364
13365         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
13366         (emit_bincl_stab): Same.
13367         (emit_pending_bincls): Same.
13368
13369 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13370
13371         PR c++/11072
13372         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
13373
13374 2003-07-02  Andreas Schwab  <schwab@suse.de>
13375
13376         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
13377
13378 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
13379
13380         PR optimization/11210
13381         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
13382         about the behaviour with regard to bitfields.
13383         * fold-const (decode_field_reference): Record outermost type in
13384         case the expression is a NOP. Strip all NOPs. Set the signedness
13385         to that of the outermost type (if any) when the bitsize is equal
13386         to the size of the type.
13387
13388 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
13389
13390         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
13391         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
13392         (adddi3_internal_3, addsi3_internal_2): Likewise.
13393
13394 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
13395
13396         * config/mips/mips.c (machine_function): Add new fields:
13397         ignore_hazard_length_p and all_noreorder_p.
13398         (mips_flag_delayed_branch): New variable.
13399         (override_options): Treat '/' as an operand punctuation character.
13400         Set up mips_flag_delayed_branch.
13401         (print_operand): Handle '/'.
13402         (mips_output_function_prologue): Put the whole function in
13403         .set noreorder and .set nomacro if all_noreorder_p is true.
13404         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
13405         (mips16_optimize_gp): Remove "first insn" parameter.
13406         (mips16_lay_out_constants): New function, split out from mips_reorg.
13407         (mips_avoid_hazard, mips_avoid_hazards): New functions.
13408         (mips_reorg): For mips16 code, call mips16_lay_out_constant
13409         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
13410         do delayed-branch scheduling followed by hazard detection.
13411         (mips_adjust_insn_length): Only account for hazards if
13412         !ignore_hazard_length_p.
13413         (mips_output_load_label): Add a nop to the o32 sequence if
13414         the target suffers from load delays.
13415         (mips_output_conditional_branch): Add %/ to the end of branches.
13416         (mips_output_division): Fill the branch delay slot with %#.
13417         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
13418         instructions.  End all other %* branches with %/.
13419         (ffssi2, ffsdi2): Fix lengths.
13420         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
13421         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
13422         (fix_truncsfsi2_macro): Likewise.
13423         (mov_lwl): Set hazard to "none".
13424         (ashldi3_internal): Fill the branch delay slot with %#.
13425         (ashrdi3_internal, lshrdi3_internal): Likewise.
13426         (exception_receiver): Explicitly set $28.
13427         (hazard_nop): New pattern.
13428
13429 2003-07-02  Jan Hubicka  <jh@suse.cz>
13430
13431         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
13432         before calling tree_inlinable_function_p.
13433
13434 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13435
13436         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
13437         <internal/stdio_core.h> too.
13438         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
13439         <internal/wchar_core.h> too.
13440         Substitute va_list uses in inline definition.
13441         * fixinc/fixincl.x: Regenerate.
13442
13443 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13444
13445         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
13446         Undef before redefinition.
13447         (LABEL_AFTER_LOC): Likewise.
13448         (DEFAULT_SIGNED_CHAR): Likewise.
13449         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
13450         Fix IRIX spelling.
13451
13452         * config/mips/iris3.h: Remove, unused.
13453         * config/mips/iris4.h: Likewise.
13454
13455         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
13456
13457         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
13458         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
13459         target_cpu_default.
13460
13461         * config/mips/iris5.h: Move explicit includes ...
13462         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
13463
13464         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
13465         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
13466         tm_defines.
13467
13468         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
13469         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
13470         target_cpu_default.
13471
13472         * config/mips/iris6.h: Fix IRIX spelling.
13473         (MULTILIB_DEFAULTS): Undef before redefinition.
13474
13475         * config/mips/iris6.h: Move explicit includes ...
13476         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
13477
13478 2003-07-02  Jan Hubicka  <jh@suse.cz>
13479
13480         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
13481         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
13482         Use next_needed field instead of aux to maintain the queue.
13483         * cgraph.h (cgraph_node): Add next_needed.
13484         (cgraph_varpool_node): Add next_needed; remove aux.
13485         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
13486
13487 2003-07-02  Jan Hubicka  <jh@suse.cz>
13488
13489         * cgraphunit.c (cgraph_finalize_function): Set finalized.
13490         (cgraph_finalize_function): Do not examine inlinablility.
13491         (cgraph_finalize_compilation_unit): Do it here.
13492         * cgraph.h (cgraph_local_info): Add finalized field.
13493
13494 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13495
13496         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
13497         (gt_pch_restore): Likewise.
13498
13499 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13500
13501         * config/alpha/alpha.c: Fix comment typos.
13502         * config/alpha/elf.h: Likewise.
13503         * config/arm/arm.c: Likewise.
13504         * config/arm/arm.h: Likewise.
13505         * config/arm/arm.md: Likewise.
13506         * config/arm/t-arm-coff: Likewise.
13507         * config/arm/t-strongarm-pe: Likewise.
13508         * config/arm/xscale-elf.h: Likewise.
13509         * config/avr/avr.h: Likewise.
13510
13511 2003-07-01  Jeff Law  <law@redhat.com>
13512
13513         * stmt.c (any_pending_cleanups): Remove another redundant test.
13514
13515 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
13516             J"orn Rennecke <joern.rennecke@superh.com>
13517
13518         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
13519         for MEM case.
13520
13521 2003-07-01  Devang Patel  <dpatel@apple.com>
13522
13523         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
13524         (binclstatus): New.
13525         (struct dbx_file): New members - bincl_status, pending_bincl_name and
13526         prev.
13527         (pending_bincls): New.
13528         (dbxout_init): Initialize new dbx_file members.
13529         (dbxout_start_source_file): Same.
13530         (emit_bincl_stab): New function.
13531         (emit_pending_bincls): Same.
13532         (emit_pending_bincls_if_required): Same.
13533         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
13534         processed.
13535         (dbxout_begin_block): Emit pending BINCL stabs.
13536         (dbxout_end_block): Same.
13537         (dbxout_function_decl): Same.
13538         (dbxout_continue): Same.
13539         (dbxout_type): Same.
13540         (dbxout_class_name_qualifiers): Same.
13541         (dbxout_symbol): Same.
13542         (dbxout_symbol_location): Same.
13543         (dbxout_parms): Same.
13544
13545 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13546
13547         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
13548         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
13549
13550 2003-07-01  Andreas Jaeger  <aj@suse.de>
13551
13552         * fold-const.c: Convert prototypes to ISO C90.
13553         * function.c: Likewise.
13554         * function.h: Likewise.
13555
13556 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13557
13558         * doc/contrib.texi: Fix typos.
13559         * doc/invoke.texi: Likewise.
13560         * doc/passes.texi: Likewise.
13561         * doc/sourcebuild.texi: Likewise.
13562         * doc/tm.texi: Likewise.
13563
13564 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13565
13566         * basic-block.h: Fix comment typos.
13567         * bb-reorder.c: Likewise.
13568         * c-format.c: Likewise.
13569         * cfgcleanup.c: Likewise.
13570         * cfghooks.h: Likewise.
13571         * cfgloop.c: Likewise.
13572         * cfgloopmanip.c: Likewise.
13573         * cfgrtl.c: Likewise.
13574         * cgraph.h: Likewise.
13575         * cgraphunit.c: Likewise.
13576         * combine.c: Likewise.
13577         * convert.c: Likewise.
13578         * dbxout.c: Likewise.
13579         * df.c: Likewise.
13580         * df.h: Likewise.
13581         * diagnostic.c: Likewise.
13582         * dwarf2out.c: Likewise.
13583         * et-forest.h: Likewise.
13584         * flow.c: Likewise.
13585         * fold-const.c: Likewise.
13586         * function.h: Likewise.
13587         * gcov-io.h: Likewise.
13588         * gcov.c: Likewise.
13589         * gcse.c: Likewise.
13590         * genautomata.c: Likewise.
13591         * ggc-common.c: Likewise.
13592         * ggc-page.c: Likewise.
13593         * loop-unroll.c: Likewise.
13594         * loop-unswitch.c: Likewise.
13595         * loop.c: Likewise.
13596         * mips-tfile.c: Likewise.
13597         * optabs.c: Likewise.
13598         * ra-build.c: Likewise.
13599         * ra-colorize.c: Likewise.
13600         * ra-rewrite.c: Likewise.
13601         * ra.h: Likewise.
13602         * regmove.c: Likewise.
13603         * reload.c: Likewise.
13604         * rtlanal.c: Likewise.
13605         * sched-ebb.c: Likewise.
13606         * sched-int.h: Likewise.
13607         * sched-vis.c: Likewise.
13608         * sreal.c: Likewise.
13609         * ssa-ccp.c: Likewise.
13610         * ssa.c: Likewise.
13611         * toplev.c: Likewise.
13612         * tree-inline.c: Likewise.
13613         * value-prof.c: Likewise.
13614         * value-prof.h: Likewise.
13615
13616 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13617
13618         * rtl.h (emit_line_note_after): Remove.
13619         (emit_note_copy_after, emit_note_copy): New.
13620         * emit-rtl.c (reorder_insns_with_line_notes): Replace
13621         emit_line_note_after with emit_note_copy_after.
13622         (emit_insn_after_with_line_notes): Likewise.
13623         (emit_line_note_after): Kill.
13624         (emit_note_copy_after): New.
13625         (emit_note_copy): New.
13626         * function.c (emit_return_into_block): Use emit_note_copy_after.
13627         (thread_prologue_and_epilogue_insns): Likewise.
13628         * integrate.c (expand_inline_function): Use emit_note_copy.
13629         (copy_insn_list): Likewise.
13630         * unroll.c (copy_loop_body): Likewise.
13631         * cfglayout.c (duplicate_insn_chain): Likewise.
13632
13633 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13634
13635         * c-tree.h (define_label): Replace filename and lineno arguments
13636         with a location_t.
13637         * c-decl.c (poplevel): Adjust define_label call.
13638         (pop_label_level): Likewise.
13639         (define_label): Replace filename and lineno arguments with a
13640         location_t.
13641         (store_parm_decls): Use DECL_SOURCE_LOCATION.
13642         * c-parse.in (label): Adjust define_label call.
13643
13644 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
13645
13646         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
13647         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
13648         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
13649         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
13650         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
13651
13652 2003-07-01  Andreas Jaeger  <aj@suse.de>
13653
13654         * final.c: Convert prototypes to ISO C90.
13655         * flow.c: Likewise.
13656         * flags.h: Likewise.
13657         * gcov-io.c: Likewise.
13658         * gcov-io.h: Likewise.
13659
13660 See ChangeLog.9 for earlier changes.