OSDN Git Service

* config/h8300/h8300.md: Remove constraints from expanders.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/h8300/h8300.md: Remove constraints from expanders.
4
5 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
6
7         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
8         stm_h8300s_2_advanced.
9         (stm_h8300s_2_normal): New.
10         (stm_h8300s_2): Likewise.
11         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
12         (stm_h8300s_3_normal): New.
13         (stm_h8300s_3): Likewise.
14         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
15         (stm_h8300s_4_normal): New.
16         (stm_h8300s_4): Likewise.
17         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
18         (ldm_h8300s_2_normal): New.
19         (ldm_h8300s_2): Likewise.
20         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
21         (ldm_h8300s_3_normal): New.
22         (ldm_h8300s_3): Likewise.
23         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
24         (ldm_h8300s_4_normal): New.
25         (ldm_h8300s_4): Likewise.
26         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
27         (two peephole2's): New.
28
29 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
30
31         * genattrtab.c (simplify_cond): Update indices correctly.
32         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
33         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
34         (check_attr_test, encode_units_mask, compute_alternative_mask,
35         make_alternative_compare, simplify_and_tree,
36         attr_rtx_cost, simplify_test_exp, gen_attr,
37         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
38         * rtl.def (EQ_ATTR_ALT): New.
39
40 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
41
42         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
43         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
44         New variables.
45         (main): Initialize them.
46         (find_attr): Canonicalize the attribute name string.
47         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
48         string arguments.
49         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
50         (check_attr_test, check_attr_value, make_length_attrs,
51         write_length_unit_log, simplify_by_exploding, gen_attr,
52         write_test_expr, write_attr_value, write_eligible_delay,
53         write_complex_function, make_internal_attr,
54         write_const_num_delay_slots): Changed due to change of type of
55         find_attr.
56         (fill_attr, evaluate_eq_attr, simplify_and_tree,
57         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
58         strcmp_check.
59
60 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
61
62         PR target/13122
63         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
64         normal mode.
65         (pop): Call pop_h8300hs_normal in normal mode.
66         * config/h8300/h8300.md: Likewise.
67         (pushqi1_h8300hs_normal): New.
68         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
69         (pushhi1_h8300hs_normal): New.
70         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
71         (push_h8300hs_normal): New.
72         (pop_h8300hs_normal): Likewise.
73
74 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
75
76         * genattrtab.c (count_sub_rtxs): Removed.
77
78 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
79
80         * recog.c (preprocess_constraints): Only zero those elements of
81         recog_op_alt that are needed for this insn.
82         * arm.c (note_invalid_constants): A function can't contain invalid
83         constants if it has no constraints.
84
85 2003-11-22  Jan Hubicka  <jh@suse.cz>
86
87         * i386.c (classify_argument): Pass __float128 in memory.
88         (ix86_return_in_memory): Likewise.
89         (ix86_libcall_value): Likewsie.
90
91 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
92
93         * config/h8300/h8300.c (dosize): Convert to ISO-C.
94
95 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
96
97         * flow.c (update_life_info): Amend comment about when a register
98         can become dead.
99
100 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
101
102         * doc/.cvsignore: Delete.
103
104 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
105             David Edelsohn  <edelsohn@gnu.org>
106
107         * dwarf2out.c (add_location_or_const_value_attribute): Add support
108         for PARALLEL.
109
110 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
111
112         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
113         (TARGET_LIBGCC2_CFLAGS): Define.
114
115         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
116         (__do_global_ctors): Likewise.
117
118 2003-11-21  Mark Wielaard  <mark@klomp.org>
119
120         * doc/invoke.texi (-O2): Doesn't enable -fweb.
121
122 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
123
124         * doc/invoke.texi: Mention dV and dZ.
125
126 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
127
128         * doc/invoke.texi: Update dump file names.
129         Remove de, dW, and dX.
130
131 2003-11-20  James E Wilson  <wilson@specifixinc.com>
132
133         PR c/13133
134         * reload1.c (reload): Delete special handling for setjmp.
135
136 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
137
138         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
139         step too.
140         * config/t-slibgcc-darwin: Adjust install path.
141         * config/rs6000/t-darwin: Revert multilib matches since
142         it is not used on darwin.
143
144 2003-11-20  Richard Henderson  <rth@redhat.com>
145
146         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
147         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
148         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
149         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
150         * flow.c: Don't include ssa.h.
151         (set_phi_alternative_reg): Remove.
152         (calculate_global_regs_live): Don't call it.
153         (mark_used_regs): Don't handle PHI.
154         * gengtype.c (open_base_files): Don't reference ssa.h.
155         * rtl.def (PHI): Remove.
156         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
157         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
158         * opts.c (common_handle_option): Likewise.
159         * toplev.c (f_options): Likewise.
160         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
161         (dump_file): Update to match.
162         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
163         (rest_of_handle_ssa): Remove.
164         (rest_of_compilation): Don't call it.
165         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
166         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
167         * doc/passes.texi (SSA optimizations): Remove.
168
169 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
170
171         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
172         * configure: Regenerate.
173
174 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
175
176         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
177
178 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
179
180         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
181         (SHLIB_LC): Define.
182         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
183         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
184
185 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
186             David Edelsohn  <edelsohn@gnu.org>
187
188         * calls.c (expand_call): Allocate new temp in pass1.
189         (store_one_arg): If PARALLEL, calculate excess using mode size of
190         rtvec elt. 
191         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
192         mode size of rtvec elt.
193         * function.c (assign_parms): Use parm in register, if available.
194
195 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
196
197         * config/h8300/lib1funcs.asm (MOVP): Remove.
198         (ADDP): Likewise.
199         (CMPP): Likewise.
200
201 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
202
203         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
204         with a single instruction if the stack has been decremented by 4
205         and we have a frame pointer.  Update all callers.
206         (output_return_instruction): Likewise.
207         (arm_output_epilogue): Change argument to SIBLING.  Calculate
208         really_return from the new argument.  Update all callers.
209         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
210         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
211         pass the sibling call.
212         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
213         prototypes.
214
215 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
216
217         * Makefile.in (extraclean): Delete.
218         * configure.in (target_list): Remove extraclean.
219         * configure: Regenerate.
220         * doc/makefile.texi, doc/sourcebuild.texi: Update.
221         * objc/Make-lang.in (objc.extraclean): Delete.
222
223 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
224
225         * Makefile.in (lang_checks): Add.
226         (check-c++, check-f77, check-java, check-g++, check-g77,
227         check-objc): Remove hardcoded targets.
228         * doc/sourcebuild.texi: Document testsuite hooks.
229         * objc/Make-lang.in (check-objc, lang_checks): Add.
230
231 2003-11-19  Scott Snyder  <snyder@fnal.gov>
232
233         PR target/13131
234         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
235         flag, not a constant.
236
237 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
238
239         * config/arc/arc-protos.h: Update to C90 prototypes.
240         * config/arc/arc.c: Likewise.
241         * config/arc/initfini.c: Likewise.
242
243 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
244
245         * stmt.c (expand_goto): Memory clobbers added.
246
247 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
248
249         * reload.c (find_reloads): Added missing type casts.
250
251 2003-11-19  James E Wilson  <wilson@specifixinc.com>
252
253         * combine.c (sets_function_arg_p): Delete unused function.
254
255 2003-11-19  Eric Christopher  <echristo@redhat.com>
256
257         * reload1.c (reload): Revert 2 previous checkins.
258
259 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
260
261         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
262         whether directive begins at the beginning of a line.
263
264 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
265
266         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
267
268 2003-11-19  Gerald Pfeifer  <gp@suse.de>
269
270         * doc/install.texi (Specific): Remove information on old versions
271         of glibc versus old versions of GCC.
272
273 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
274
275         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
276         the register lowpart is a TRULY_NOOP_TRUNCATION.
277
278 2003-11-19  Richard Henderson  <rth@redhat.com>
279
280         * config/i386/i386.c (print_reg): Handle QI and HI modes for
281         non Q regs.
282
283 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
284
285         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
286         specification file.
287         * config/t-slibgcc-darwin: New file, libgcc build specification.
288         * config/t-darwin: Add libgcc2 flag -fPIC.
289         * config/rs6000/t-darwin: Multilib matches float.
290         * libgcc-darwin.ver: New file, contains libgcc symbols.
291
292 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
293
294         * config/ns32k/ns32k.h: Remove obsolete comment.
295
296 2003-11-18  Roger Sayle  <roger@eyesopen.com>
297
298         PR middle-end/11821
299         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
300         size for calls to libgcc's div & mod subroutines when using -Os.
301
302 2003-11-18  Jan Hubicka  <jh@suse.cz>
303
304         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
305
306 2003-11-18  Marc Espie  <espie@openbsd.org>
307
308         * config/rs6000/sysv4.h: OpenBSD hooks.
309
310 2003-11-18  Richard Henderson  <rth@redhat.com>
311
312         * expr.c (expand_expr): Don't look through constant arrays if
313         they don't bind locally.
314
315 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
316
317         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
318         when seeing if truncation or extension.
319
320 2003-11-17  Eric Christopher  <echristo@redhat.com>
321
322         * reload1.c (reload): Fix previous change.
323
324 2003-11-17  Scott Snyder  <snyder@fnal.gov>
325
326         PR debug/11325
327         * dwarf2out.c (struct die_struct): Add die_definition field.
328         (add_AT_specification): New.
329         (gen_subprogram_die, gen_variable_die,
330         gen_struct_or_union_type_die): Use it.
331         (prune_unused_types_mark): If we're marking a forward declaration,
332         also mark the full definition, if it exists.
333
334 2003-11-16  Nick Clifton  <nickc@redhat.com>
335
336         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
337         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
338         Remove prototype.
339         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
340         to xstormy16_build_builtin_va_list and make static.
341         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
342
343 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
344
345         * config/h8300/h8300-protos.h: Add the prototype for
346         same_cmp_following_p.
347         * config/h8300/h8300.c (same_cmp_following_p): New.
348         * config/h8300/h8300.md (peephole2): Use it.
349
350 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
351
352         * config/h8300/h8300.md: Don't use REGNO when its operand is
353         not guaranteed to be a REG.
354
355 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
356
357         * Makefile.in (expr.o): Depend on $(TARGET_H).
358         * target.h (return_in_msb): New target hook.
359         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
360         (TARGET_CALLS): Include it.
361         * calls.c (shift_returned_value): New function.
362         (expand_call): Use it.
363         * expr.c: Include target.h.
364         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
365         deciding what padding is needed.  Change the name of the local
366         padding variable from big_endian_correction to padding_correction.
367         * stmt.c (shift_return_value): New function.
368         (expand_return): Use it.  Adjust memory->register copy in the same
369         way as copy_blkmode_from_reg.  Only change the return register's
370         mode if it was originally BLKmode.
371         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
372         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
373         (mips_fpr_return_fields): New, split out from mips_function_value.
374         (mips_return_in_msb, mips_return_fpr_pair): New functions.
375         (mips_function_value): Rework to use the functions above.
376         * config/mips/irix6-libc-compat.c: Delete.
377         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
378
379 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
380
381         * doc/install.texi (--enable-checking): Update valgrind's URL.
382
383 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
384
385         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
386         with -2147483647 - 1.
387
388 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
389
390         Fix links in online manuals.
391         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
392         (Precompiled Headers): @pxref to cpp, not cpp.info.
393
394 2003-11-16  Jason Merrill  <jason@redhat.com>
395
396         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
397         files in each directory and TAGS files that include them for each
398         front end.
399
400 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
401
402         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
403         3 of S2L.
404         (modnorm): Likewise.
405         (exitdiv): Look at bit 3 of S2L only.
406
407 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
408
409         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
410         (DO_GLOBAL_DTORS_BODY): Likewise.
411
412 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
413
414         * doc/install.texi (Prerequisites): Refine documentation of
415         autoconf, automake and perl requirements.  Document required
416         gettext version.
417
418 <2003-11-14  Jason Merrill  <jason@redhat.com>
419
420         * function.c (assign_parms): Use TREE_TYPE to determine the real
421         type of the argument object.
422
423 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
424
425         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
426         iteration.
427
428 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
429
430         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
431           New routine to save vararg registers on stack. Support for
432           -mpowerpc64 in mixed mode.
433
434 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
435
436         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
437         for MOTOROLA versus MIT syntax.  Improves readability and provides
438         better compile-time error checking for both code paths.
439
440 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
441
442         * config/frv/frv-protos.h: Update for C90.
443         * config/frv/frv.h: Likewise.
444         * config/frv/frvbegin.c: Likewise.
445         * config/frv/frv.c: Likewise.
446         (frv_adjust_field_align): Delete unused variable.
447
448 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
449
450         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
451         to each place where TARGET_LONG_DOUBLE_128 is used with
452         DEFAULT_ABI == ABI_AIX.
453
454         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
455         message comply with GNU standards.
456
457 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
458
459         PR/6552
460         * function.c (struct epi_info): New field const_equiv.
461         (update_epilogue_consts): New function.
462         (keep_stack_depressed): Clear new field and verify scratch register
463         doesn't have it set.
464         Call new function via note_stores.
465         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
466         Allow PLUS where second operand is register known set to constant.
467         (emit_equiv_load): Write load using proper mode if source different.
468         * config/mips/mips.md (return_internal): Put (return) first.
469
470 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
471
472         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
473
474 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
475
476         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
477         registers.
478         (divsi3): Likewise.
479         (reti): Don't restore unused registers.
480
481 2003-11-14  Nick Clifton  <nickc@redhat.com>
482
483         * config/fr30/fr30.c: Include toplev.h
484
485 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
486
487         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
488
489 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
490
491         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
492         function definition syntax.
493
494 2003-11-14  Eric Christopher  <echristo@redhat.com>
495
496         * reload1.c (reload): Revert previous patch. Make
497         check for assignment into reg_equiv_address stricter.
498
499 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
500
501         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
502
503 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
504
505         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
506         section names.
507
508 2003-11-14  Jason Merrill  <jason@redhat.com>
509
510         PR middle-end/12526
511         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
512         * calls.c (call_expr_flags): New fn.
513         * tree.h: Declare it.
514
515 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
516
517         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
518         (divmodsi3): Change the name to ___udivsi3.
519         Update all callers.
520
521 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
522
523         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
524         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
525         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
526         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
527         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
528         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
529         Const-ify and/or initialize automatic variables at declaration.
530
531 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
532
533         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
534         of er4 with er3.  Adjust all callers.
535
536 2003-11-13  Andrew Pinski <apinski@apple.com>
537
538         * config/darwin.c (machopic_output_possible_stub_label):
539         Allow stub symbol be not defined when outputting possible
540         stub label.
541
542 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
543
544         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
545         instead of exitdiv.
546         (___umodsi3): Likewise.
547         (exitdiv): Do not restore any register.
548         (reti): Restore registers.
549
550 2003-11-13  Steven Bosscher  <stevenb@suse.de>
551
552         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
553
554 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
555
556         * config/h8300/lib1funcs.asm: Fix comment typos.
557
558 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
559
560         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
561         unused registers.  Don't jump to exitdiv.
562         (umodsi3): Likewise.
563
564 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
565             Kean Johnston <jkj@sco.com>
566
567         PR c/13029
568         * toplev.c (check_global_declarations): Do not warn about unused
569         static consts.
570
571 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
572             Kazu Hirata  <kazu@cs.umass.edu>
573
574         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
575         the approximate quotient method.
576
577 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
578
579         * combine.c (distribute_notes): When re-distributing the notes from
580         an insn we are about to delete, ensure we can't end up with a cyclic
581         list of notes.
582
583 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
584
585         PR optimization/12926
586         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
587         the UNCHANGING_RTX_P flag on memory references to read-only
588         components that are not addressable.
589
590 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
591
592         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
593         DenHighNonZero.
594
595 2003-11-13  Jan Hubicka  <jh@suse.cz>
596
597         PR opt/12275
598         * c-decl.c (finish_decl): Use change_decl_assembler_name.
599         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
600         * varasm.c (make_decl_rtl): Likewise.
601         * cgraph.c (change_decl_assembler_name): New function.
602         * tree.h (set_decl_assembler_name): Kill dead declaration.
603         (change_decl_assembler_name): Declare.
604
605         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
606         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
607
608 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
609
610         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
611         an unused register.
612
613 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
614
615         PR bootstrap/12752
616         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
617         (MULTILIB_OSDIRNAMES): Reorder accordingly.
618
619 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
620
621         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
622         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
623         (rs6000_emit_eh_reg_restore): Add
624         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
625         of vars_size and total_size to HOST_WIDE_INT.
626         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
627         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
628         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
629         values.
630         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
631         (rs6000_initial_elimination_offset): New, with code formerly in
632         INITIAL_ELIMINATION_OFFSET.
633         * rs6000.h (rs6000_stack_t): Remove.
634         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
635         rs6000_initial_elimination_offset.
636         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
637         rs6000_emit_eh_reg_restore.
638
639 2003-11-12  Mike Stump  <mrs@apple.com>
640
641         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
642         is the argumnt we are processing so that warnings and errors
643         will have that information.
644         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
645         * lang-hooks-def.h
646         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
647         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
648         * langhooks.h (convert_parm_for_inlining): Likewise.
649         * tree-inline.c (initialize_inlined_parameters): Compute and
650         pass argnum down.
651
652 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
653             Roger Sayle  <roger@eyesopen.com>
654
655         PR optimization/12953
656         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
657         before switch by FUNCTION_CODE.
658
659 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
660
661         * arm.md (storehi): Avoid use of explicit subreg.
662         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
663
664 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
665
666         * config/sh/sh.md (prefetch): New pattern.
667
668 2003-11-11  Eric Christopher  <echristo@redhat.com>
669
670         * reload1.c (reload): Verify that addresses for
671         reg_equiv_* are valid for the architecture.
672
673 2003-11-11  Eric Christopher  <echristo@redhat.com>
674
675         * function.c (purge_addressof_1): Add libcall check.
676         Remove test for cached replacements on fallback case.
677         Simplify mode comparisons. Add libcall test for
678         paradoxical subregs.
679
680 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
681
682         * config/h8300/t-h8300: Fix an obsolete comment.
683
684 2003-11-11  James E Wilson  <wilson@specifixinc.com>
685
686         * expmed.c (store_bit_field, extract_bit_field): Revert last two
687         changes.
688
689 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
690
691         * config/h8300/lib1funcs.asm: Replace DenHighZero with
692         DenHighNonZero.
693
694 2003-11-11  Jan Hubicka  <jh@suse.cz>
695
696         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
697         really_no_inline.
698
699 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
700
701         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
702         generating 64-bit code.
703
704 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
705
706         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
707         accidental commit in previous change.
708
709 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
710
711         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
712         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
713         address recognition.
714         (macho_lo_sum_memory_operand): Routine to recognize macho-style
715         address recognition.
716
717 2003-11-10  Richard Henderson  <rth@redhat.com>
718
719         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
720
721 2003-11-10  Matt Austern  <austern@apple.com>
722
723         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
724         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
725         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
726         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
727         darwin_assemble_visibility instead of default.
728
729 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
730
731         PR target/12865
732         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
733         __enable_execute_stack only after writing onto the stack.
734         (sparc64_initialize_trampoline): Likewise.
735
736 2003-11-09  Roger Sayle  <roger@eyesopen.com>
737
738         * loop.c (check_dbra_loop): Try swapping the comparison operands
739         of the loop condition to identify a suitable induction variable.
740         * unroll.c (loop_iterations): Likewise.
741
742 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
743
744         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
745         sparc64 #cpu and #machine assertions.
746
747 2003-11-09  Richard Henderson  <rth@redhat.com>
748
749         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
750
751 2003-11-09  Jan Hubicka  <jh@suse.cz>
752
753         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
754
755         * cgraphunit.c (cgraph_expand_function): Use
756         cgraph_possibly_inlined_p.
757         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
758
759         * opts.c (common_handle_option): Do not set max-inline-insns.
760         * params.def: Update comments.
761         (PARAM_MAX_INLINE_INSNS): Kill.
762         * invoke.texi (max-inline-insns): Kill.
763
764 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
765
766         PR c/3190
767         PR c/8714
768         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
769         * invoke.texi: Update.
770
771 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
772
773         PR optimization/12630
774         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
775         Handle length computation 64-bit moves.
776         (compute_clrstr_length, output_block_clear): Implement block clear.
777         (output_block_move): Handle 64-bit moves.
778         (pa_adjust_insn_length): Use compute_movstr_length and
779         compute_clrstr_length.
780         * pa.md (movstrsi): Revise operand order and comments.  Don't use
781         match_scratch.
782         (movstrsi_internal): Delete.
783         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
784         and peephole2 patterns to transform prereload to postreload form.
785         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
786         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
787         clrstrdi_postreload): New patterns for 64-bit block move, and block
788         clear.
789         * pa-protos.h (output_block_clear): New prototype.
790
791 2003-11-08  Andreas Schwab  <schwab@suse.de>
792
793         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
794         XCOFF_DEBUGGING_INFO.
795
796 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
797
798         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
799
800 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
801
802         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
803         redundant parens.
804
805         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
806         (find_file_in_dir): Likewise.
807         (_cpp_find_file): Print message if no header file is found
808         but an invalid PCH file was.
809
810 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
811
812         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
813         expressions as lvalues.
814         (internal_build_compound_expr): Remove special handling for
815         non-pedantic case.
816         * doc/extend.texi: Document that all extended lvalues are now
817         deprecated.
818
819 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
820
821         PR 11654
822         * dbxout.c (struct dbx_file): Do not save for PCH.
823         (current_file): Likewise.
824         (dbxout_init): Don't allocate struct dbx_file using GC.
825         (dbxout_start_source_file): Likewise.
826
827 2003-11-07  Falk Hueffner  <falk@debian.org>
828
829         * config/alpha/elf.h, config/alpha/unicosmk.h,
830         config/alpha/vms.h: Convert to ISO C90.
831
832 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
833
834         * config/arm/pe.h: Convert to ISO C90.
835
836 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
837
838         * sh-protos.h (sh_pch_valid_p): Declare.
839         * sh.c ("intl.h"): Include.
840         (TARGET_PCH_VALID_P): Override.
841         (sh_target_switches): New variable.
842         (target_switches): Define.
843         (sh_pch_valid_p): New function.
844
845         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
846
847 2003-11-07  Jan Hubicka  <jh@suse.cz>
848
849         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
850         (x86_64_zero_extended_value):  likewise.
851
852 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
853
854         * config/mips/mips.md (loadgp): Take $25 as a second operand.
855         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
856
857 2003-11-06  Matt Austern <austern@apple.com>
858
859         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
860         field instead of hanging an attribute object off the decl.
861         * tree.h (DECL_VISIBLITY): New accessor macro for
862         symbol_visibility field in struct tree_decl.
863         (enum symbol_visibility): Move definition to before tree_decl.
864         (struct tree_decl): Define new two-bit field, symbol_visibility.
865         (decl_visibility): Remove declaration.
866         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
867         instead of decl_visibility.
868         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
869         decl_visibility.
870         (decl_visibility): Remove.
871
872 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
873
874         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
875         where register 14 will be saved.
876
877 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
878
879         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
880         (USE_ALTIVEC_FOR_ARG_P): Likewise.
881         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
882         Take a pointer as the CUM parameter.  Update callers.
883         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
884         32-bit ABIs.
885         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
886         of vector parameters as named arguments of stdarg function.
887         (function_arg): Likewise.
888
889         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
890         -maltivec is specified, not the non-existent -faltivec.
891
892 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
893
894         * config/s390/s390-protos.h (s390_function_value): Declare.
895         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
896         (s390_return_in_memory): New function.
897         (s390_function_value): New function.
898         (s390_function_arg_float): Return false for all arguments larger
899         than 8 bytes.
900         (s390_function_arg_pass_by_reference): Likewise.  Return true for
901         all vector arguments.
902         (s390_function_arg_integer): New function.
903         (s390_function_arg_advance): Call it.  Add sanity checks.
904         (s390_function_arg): Likewise.
905         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
906         (LIBCALL_VALUE): Likewise.
907         (RET_REG): Remove.
908         (RETURN_IN_MEMORY): Remove.
909
910 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
911
912         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
913         return type to HOST_WIDE_INT.
914         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
915         Make initialized a bool.  Make register masks unsigned ints.
916         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
917         where appropriate.
918         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
919         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
920
921 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
922
923         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
924         negation.
925
926 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
927
928         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
929
930 2003-11-06  Momchil Velikov  <velco@fadata.bg>
931
932         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
933         for VR4111 too.
934
935 2003-11-06  Jan Hubicka  <jh@suse.cz>
936
937         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
938         missing casts.
939
940 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
941
942         * genmodes.c: Change the word "bitsize" to "precision" throughout.
943         * machmode.def: Likewise.
944         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
945         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
946         (GET_MODE_PRECISION): New macro.
947         (mode_bitsize): Renamed mode_precision.
948         * stor-layout.c (mode_for_size, smallest_mode_for_size):
949         Use GET_MODE_PRECISION; clarify comments.
950
951 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
952
953         * doc/install-old.texi: Remove old documentation of building
954         cross-compilers.
955         * doc/install.texi: Move some of it to here.
956
957 2003-11-05  Per Bothner  <pbothner@apple.com>
958
959         PR preprocessor/12891
960         * c-opts.c (finish_options):  Set include_cursor to disable premature
961         calls to push_command_line_include from cpp_scan_nooutput.
962         Fixes bug reported by DJ Delorie.
963
964 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
965
966         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
967         code supporting old-style varargs.
968
969         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
970         an intermediate register for better optimisation.
971
972 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
973
974         PR optimization/10080
975         * cfgloopanal.c (variable_initial_value, variable_initial_values,
976         simple_loop_exit_p): Record the fact that initial value is extended
977         from inner mode.
978         (count_strange_loop_iterations, count_loop_iterations): Handle
979         ivs that iterate in a narrower mode. Fix handling of overflows.
980         Improve handling of NE conditions.
981         (inverse, fits_in_mode_p): New static functions.
982         (simple_increment): Detect variables that iterate in a narrower mode.
983         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
984
985 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
986
987         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
988         error.
989
990         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
991         needs VRSAVE.
992
993 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
994
995         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
996         conditional expressions as lvalues.
997
998 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
999
1000         * tsystem.h: Add the prototype of strlen.
1001         * unwind-pe.h (read_encoded_value_with_base): Add an
1002         appropriate cast to handle a case where the pointer size is
1003         smaller than sizeof (int).
1004
1005 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1006
1007         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1008         (mips_delegitimize_address): Delete.
1009         (mips_gotoff_global, mips_load_got_page): Declare.
1010         (mips_load_got_global, mips_rewrite_small_data): Declare.
1011
1012         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1013         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1014         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1015         small_data_pattern.  Remove CONST from const_arith_operand's entry.
1016
1017         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1018         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1019         (mips_constant_type): Delete.
1020         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1021         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1022         (NUM_SYMBOL_TYPES): New macro.
1023         (mips_address_type): Remove ADDRESS_INVALID.
1024         (machine_function): Add has_gp_insn_p.
1025         (mips_constant_info): Delete.
1026         (mips_address_info): Add the address type as an extra field.  Replace
1027         the c field with symbol_type.
1028         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1029         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1030         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1031         (mips_split_const, mips_symbolic_constant_p): New functions.
1032         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1033         (mips_classify_address): Return true if the address is valid, storing
1034         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
1035         to test whether a LO_SUM address is allowed.
1036         (mips_symbol_insns): Return 0 for general mips16 symbols.
1037         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1038         Handle the new SYMBOL_GOTOFF_*s.
1039         (mips_address_insns): Update call to mips_classify_address.
1040         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
1041         of mips_classify_constant.  Be more accurate about CONSTs.
1042         (mips_global_pic_constant_p): Delete.
1043         (const_arith_operand): Only accept CONST_INTs.
1044         (call_insn_operand): Remove call to mips_classify_constant.
1045         Let mips_symbolic_constant_p check for invalid offsets.
1046         (move_operand): Check for general_operands first.  Only accept symbolic
1047         constants if they satisfy mips_symbolic_constant_p and cannot be split.
1048         (symbolic_constant): Use mips_symbolic_constant_p.
1049         (global_got_operand, local_got_operand): New predicates.
1050         (stack_operand): Update call to mips_classify_address.
1051         (mips_legitimate_address_p): Likewise.
1052         (mips_reloc, mips_lui_reloc): Delete.
1053         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1054         Use emit_move_insn.
1055         (mips_split_symbol, mips_unspec_address): New functions.
1056         (mips_unspec_offset_high): New function.
1057         (mips_load_got): Replace reloc argument with a symbol_type.
1058         Use mips_unspec_address to create the address and put it in a
1059         LO_SUM with the base register.
1060         (mips_load_got16, mips_load_got32): Delete.
1061         (mips_emit_high, mips_legitimize_symbol): Delete.
1062         (mips_gotoff_global): New function.
1063         (mips_load_got_page, mips_load_got_global): New functions.
1064         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1065         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
1066         Inline code to handle constants plus invalid offsets.  Use
1067         mips_split_symbol to legitimize constant pool addresses.
1068         (mips_delegitimize_address): Delete.
1069         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1070         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
1071         (mips_subword): Pass memrefs through mips_rewrite_small_data.
1072         (mips_output_move): Remove use of mips_classify_constant.
1073         (mips_expand_call): Use mips_unspec_offset_high to calculate the
1074         high part of the GOT address for calls to global functions.
1075         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1076         and mips_hi_relocs[].
1077         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1078         Remove use of mips_classify_constant.
1079         (mips_reloc_string): Delete.
1080         (print_operand_reloc): New function.
1081         (print_operand_address): Update call to mips_classify_address.
1082         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1083         (small_data_pattern): New predicate.
1084         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1085         (mips_function_has_gp_insn): New function.
1086         (mips_global_pointer): Use it.
1087         (mips_gp_insn): Delete.
1088         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1089         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
1090         from the start of the current function.
1091         (mips16_gp_pseudo_reg): Revert last patch.
1092
1093         * config/mips/mips.md (RELOC_*): Delete.
1094         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1095         (got): New insn attribute.
1096         (type): Set to "load" if got == load.
1097         (length): Set to 4 if got == load, 8 if got == xgot_high.
1098         (lui[sd]i): Delete.
1099         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1100         (*got_disp[sd]i, *got_page[sd]i): Likewise.
1101         (*low[sd]i): Change constraints to "d".  Add a new define_split to
1102         rewrite small data constants into LO_SUMs.
1103         (loadgp): New insns.
1104
1105 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1106
1107         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1108
1109 2003-11-04  DJ Delorie  <dj@redhat.com>
1110
1111         * config/v850/v850.md (mulhisi3): Expand the const_int case
1112         separately to avoid trying to sign extend the const.
1113
1114 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1115
1116         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1117         addresses to be shared.
1118         (force_const_mem): Return a copy of the pool entry.
1119
1120 2003-11-03  Andreas Jaeger  <aj@suse.de>
1121
1122         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1123
1124 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
1125
1126         * Makefile.in (cpp.dvi): New target split from cpp.info.
1127         (gcc.dvi):  New target split from gcc.info.
1128         (gccint.dvi): New target split from gccint.info.
1129         (cppinternals.dvi): New target split from cppinternals.info
1130         (gccinstall.info): New specific rule.
1131         (gccinstall.dvi): Likewise.
1132         (dvi): Move targets to $(docobjdir).
1133         ($(docobjdir)/%.dvi): New implicit rule.
1134
1135 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1136
1137         * doc/gty.texi (tag, desc): Say more about role of desc values in
1138         selecting between tags.
1139
1140 2003-11-03  Alexander Kabaev  <ak03@gte.com>
1141
1142         * real.c (encode_ieee_single): Ensure proper promotion.
1143
1144 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1145
1146         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1147         and Andrew Pinski.
1148
1149 2003-11-03  Syd Polk  <spolk@apple.com>
1150
1151         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1152         marketing names to the list of supported processors.
1153         * config/rs6000/rs6000.h: Ditto.
1154         * doc/invoke.texi: Ditto.
1155         * config.gcc: Ditto.
1156
1157 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1158
1159         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1160         Merge two substitutions.
1161         * fixinc/fixincl.x: Regenerate.
1162         Fixes PR bootstrap/12666.
1163
1164 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
1165
1166         * doc/install-old.texi: Remove VMS documentation.
1167
1168 2003-11-03  Jan Hubicka  <jh@suse.cz>
1169
1170         * i386.c (override_options):  Remove hack enabling 128bit long double
1171         commited by accident.
1172
1173 2003-11-02  Per Bothner  <per@bothner.com>
1174
1175         * c-opts.c (needValue):  Do cpp_find_main_file before processing
1176         any imacros flags, so pfile->main_file is set for the latter.
1177
1178 2003-11-03  Andreas Jaeger  <aj@suse.de>
1179             Zack Weinberg  <zack@codesourcery.com>
1180
1181         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1182         (SYSCALLS.c.X-warn): Suppress warnings.
1183
1184 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1185
1186         PR optimization/12845
1187         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1188
1189 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
1190
1191         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1192         * config/i386/i386.c (print_reg): Abort on a virtual register
1193         if code != -1; not if file == asm_out_file.
1194         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1195         (DEBUG_PRINT_REG): Delete, unused.
1196
1197 2003-11-02  Andreas Schwab  <schwab@suse.de>
1198
1199         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1200         empty to avoid conflict with the definition from configure.
1201
1202 2003-11-02  Roger Sayle  <roger@eyesopen.com>
1203
1204         PR optimization/10817
1205         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1206         (noce_try_move): New function to optimize an if-the-else into an
1207         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1208         (noce_process_if_block): Attempt simplification with noce_try_move.
1209
1210         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1211         and improvements to the optimizations of IF_THEN_ELSE expressions.
1212         (simplify_subreg): Silence signed/unsigned comparison warning.
1213
1214 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1215
1216         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1217         (GTFILES): Add targhooks.c.
1218         (gt-targhooks.h): New rule; depend on s-gtype.
1219         * target.h (direct_pool_load_p): New hook.
1220         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1221         (TARGET_INITIALIZER): Include it.
1222         * targhooks.h (default_direct_pool_load_p): Declare.
1223         (hook_bool_machine_mode_true): Declare.
1224         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1225         gt-targhooks.h.
1226         (pool_symbol): New variable.
1227         (default_direct_pool_load_p): New function.
1228         (hook_bool_machine_mode_true): New function.
1229         * reload.c: Include target.h.
1230         (find_reloads): If an alternative will force a constant into memory,
1231         count an extra reload if constant pool symbols are not valid
1232         addresses.  If an alternative uses memory to move values between
1233         registers, count the move as two reloads rather than one.
1234         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1235         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1236
1237 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1238
1239         PR optimization/12799
1240         * postreload.c (reload_cse_move2add): Generate the add2
1241         patterns manually.
1242
1243 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1244
1245         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1246         Return 0 for all complex modes whose size is lesser or equal to
1247         a word.  Add a ??? comment for the condition used with 16-byte
1248         aligned modes.
1249
1250 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
1251
1252         * .cvsignore: Remove c-parse* and tradcif.c.
1253         * objc/.cvsignore: Delete.
1254
1255 2003-11-01  Roger Sayle  <roger@eyesopen.com>
1256
1257         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1258         of NULL.
1259
1260 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1261
1262         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1263
1264         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1265
1266         * collect2.c (scan_libraries): Fix typos.
1267
1268         PR preprocessor/12847
1269         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1270         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1271         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1272         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1273         "CPP_".
1274
1275 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
1276
1277         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1278         no_units calculation.
1279
1280 2003-11-01  Andreas Jaeger  <aj@suse.de>
1281
1282         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1283         enumeration list.
1284
1285 2003-11-01  Andreas Schwab  <schwab@suse.de>
1286
1287         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1288         prototypes.
1289         (SBSS_SECTION_FUNCTION): Likewise.
1290
1291 2003-11-01  Andreas Jaeger  <aj@suse.de>
1292
1293         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1294
1295 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
1296
1297         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1298         prototypes.
1299
1300 2003-11-01  Andreas Jaeger  <aj@suse.de>
1301
1302         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1303         (uw_frame_state_for): Constify variables.
1304         (extract_cie_info): Constify first argument.
1305
1306         * unwind-dw2-fde-darwin.c: Adjust prototype of
1307         _Unwind_Find_registered_FDE for recent changes.
1308         (examine_objects): Constify return value and local variable result.
1309         (_Unwind_Find_FDE): Constify return value and local variable ret.
1310
1311 2003-10-31  Per Bothner  <pbothner@apple.com>
1312
1313         * c-opts.c (finish_options):  Change to returns boolean - false iff
1314         the call to cpp_find_main_file fails.
1315         (c_common_init):  Skip preprocess_file if finish_options failed.
1316         (c_common_parse_file):  Break if finish_options failed.
1317         Fixes PR preprocessor/12545.
1318
1319 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1320
1321         * aclocal.m4: Blacklist ultrix* for mmap file.
1322         * configure: Rebuilt.
1323
1324         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1325         reg_parm_stack_space.
1326         * toplev.c (default_get_pch_validity): Fix warning.
1327
1328         * vax.c: Include toplev.h.
1329         (vax_init_libfuncs): Fix typo (umod).
1330         * vax.h (ASM_COMMENT_START): Define.
1331         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1332
1333 2003-10-31  Roger Sayle  <roger@eyesopen.com>
1334
1335         PR middle-end/11968
1336         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1337         confusing comment; distributivity isn't handled in expand_expr.
1338         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
1339         in distributivity, if wrap-around semantics are specified with
1340         -fwrapv.
1341
1342 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
1343
1344         PR 12315
1345         * final.c (profile_function): Allow for NULL svrtx.
1346
1347 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1348
1349         * pa.c (pa_select_section): Use new style declaration.
1350         * som.h (readonly_data): Likewise.
1351
1352 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1353
1354         * config/rs6000/rs6000.c: Update to C90 prototypes.
1355
1356 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1357
1358         PR target/7513
1359         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1360         code.
1361
1362 2003-10-31  Andreas Jaeger  <aj@suse.de>,
1363             Zack Weinberg  <zack@codesourcery.com>
1364
1365
1366         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1367         (__deregister_frame_info, __deregister_frame_info_bases):
1368         Constify void * argument.
1369         * unwind-dw2-fde.h (struct fde_vector):
1370         Constify 'orig_data' and 'array' fields.
1371         (__register_frame_info, __register_frame_info_bases)
1372         (__deregister_frame_info, __deregister_frame_info_bases):
1373         Constify void * argument.
1374         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1375         return values, and casts of type fde *, struct dwarf_fde *,
1376         and struct dwarf_cie *.
1377         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1378         (__deregister_frame_info, __deregister_frame_info_bases):
1379         Constify void * argument.
1380         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1381         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1382         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1383         fde_split, SWAP, frame_downheap, frame_heapsort)
1384         (classify_object_over_fdes, add_fdes, linear_search_fdes,
1385         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1386         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1387         Constify arguments, local variables, return values, and casts
1388         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1389         Use const pointer types in sizeof expressions, for clarity.
1390         * unwind-dw2-fde-glibc.c
1391         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1392         (struct unw_eh_callback_data): Constify 'ret' field.
1393
1394 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
1395             David Edelsohn  <edelsohn@gnu.org>
1396
1397         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1398         (function_arg): Call it.
1399         (rs6000_function_value): Widen integral return value to mode based
1400         on TARGET_32BIT, not word_mode.
1401         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1402         (UNITS_PER_ARG): New.
1403         (RS6000_ARG_SIZE): Use it.
1404
1405 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
1406
1407         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1408         and gengtype-yacc.h.
1409
1410 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1411
1412         PR optimization/8896
1413         * postreload.c (reload_combine): Check that REGY doesn't die in an
1414         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1415
1416 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1417
1418         PR/10239
1419         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1420
1421 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1422
1423         PR/11640
1424         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1425         immediatelly before BARRIER.
1426
1427 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1428
1429         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1430
1431 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1432
1433         PR target/11271
1434         * reload.c (find_reloads_address): Handle any register in
1435         (PLUS (PLUS (REG) (REG)) (CONST_INT).
1436
1437 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1438
1439         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1440         ENABLE_GC_CHECKING not in GGC_POISON.
1441
1442 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1443
1444         PR bootstrap/9863
1445         * configure.in: Bail out if awk is missing.
1446         * configure: Regenerate.
1447
1448         PR ada/12761
1449         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1450         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1451
1452 2003-10-30  Richard Henderson  <rth@redhat.com>
1453
1454         * c-objc-common.c (c_tree_printer): Handle types correctly.
1455         Factor code a bit.
1456
1457 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1458
1459         * value-prof.c, web.c: Update to C90.
1460
1461 2003-10-30  Eric Christopher  <echristo@redhat.com>
1462
1463         * function.c (purge_addressof_1): Add case for REG_RETVAL
1464         notes when modes are unequal.
1465
1466 2003-10-31  Jan Hubicka  <jh@suse.cz>
1467
1468         * i386-modes.def: Add XFmode format adjustment.
1469
1470 2003-10-30  Jan Hubicka  <jh@suse.cz>
1471
1472         * real.c (encode_ieee_extended): Back out previous patch.
1473
1474 2003-10-30  Jan Hubicka  <jh@suse.cz>
1475
1476         * real.c (encode_ieee_extended): Initialize whole array.
1477         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1478         * i386-modes.def: Change definitions of TFmode and XFmode.
1479         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1480         code.
1481         (construct_container): Allow constructing of TFmode integer containers.
1482         (ix86_return_in_memory):  XFmode is not returned in memory.
1483         (init_ext_80387_constants): Always use XFmode.
1484         (print_operand): Likewise.
1485         (ix86_prepare_fp_compare_regs): Likewise.
1486         (split_to_parts): Deal with TFmode.
1487         (split_long_move): Simplify.
1488         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1489         (ix86_memory_move_cost): Do not confuse TFmode.
1490         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1491         (IS_STACK_MODE): TFmode is not stack mode.
1492         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1493         (VALID_SSE_REG_MODE): Allow TFmode.
1494         (VALID_FP_MODE_P): Disallow TFmode.
1495         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1496         * i386.md (TFmode patterns): Kill.
1497         (movtf, motf_rex64): New patterns.
1498
1499 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1500
1501         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1502
1503 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1504
1505         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1506         (mov_lwr, mov_swl, mov_swr): Likewise.
1507         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1508
1509 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
1510
1511         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1512
1513 2003-10-30  Richard Henderson  <rth@redhat.com>
1514
1515         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1516         test for irix6 rather than preprocessor test.
1517
1518 2003-10-30  Richard Henderson  <rth@redhat.com>
1519
1520         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1521
1522 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
1523
1524         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1525         as a general flag that the return address register needs to be saved,
1526         not necessarily because of __builtin_return_addr (0).
1527         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1528         remove special handling of zSeries machines.
1529         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
1530         register as a regular register on zSeries machines.
1531         (s390_reorg): Adjust calls to s390_split_branches and
1532         s390_optimize_prolog.
1533         (s390_frame_info): On zSeries machines, do not assume the return
1534         register is always used.  Update regs_ever_live with current data
1535         for the special registers.
1536         (s390_emit_epilogue): Use save_return_addr_p to determine whether
1537         the return register was saved.
1538         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1539         RETURN_REGNUM fixed on zSeries machines.
1540         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1541         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1542         via ahi-jgne pair on zSeries machines.
1543         ("*doloop_di"): Likewise.
1544         ("*doloop_di_long"): Remove.
1545
1546 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
1547
1548         * arm.c (arm_override_options): Revert change of arm_constant_limit
1549         when optimizing for size.
1550
1551 2003-10-29  Richard Henderson  <rth@redhat.com>
1552
1553         * fold-const.c (fold_single_bit_test): Convert the input to the
1554         operational intermediate type.
1555
1556 2003-10-29  Richard Henderson  <rth@redhat.com>
1557
1558         * builtins.c (std_build_builtin_va_list): New.
1559         * expr.h (std_build_builtin_va_list): Declare.
1560         * defaults.h (BUILD_VA_LIST_TYPE): New.
1561         * system.h (BUILD_VA_LIST_TYPE): Poison.
1562         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1563         * target.h (struct gcc_target): Add build_builtin_va_list.
1564         * tree.c (build_common_tree_nodes_2): Use it.
1565
1566         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
1567         config/alpha/alpha.h, config/alpha/unicosmk.h,
1568         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1569         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1570         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1571         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1572         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
1573         config/mips/mips.h, config/rs6000/rs6000-protos.h,
1574         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1575         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1576         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1577         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1578         config/xtensa/xtensa.h: Rename foo_build_va_list to
1579         foo_build_builtin_va_list; make it static.  Define
1580         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
1581         Update protos.
1582
1583         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1584         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1585
1586 2003-10-29  James E Wilson  <wilson@specifixinc.com>
1587
1588         * recog.c (asm_operand_ok): Add missing break after case 'X'.
1589         Change if statements to else if statements in default case.
1590         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1591         in comment.
1592         (constrain_operands_cached): Likewise.
1593         (constrain_operands): Change if statements to else if statements in
1594         default case.
1595         * reload.c (find_reloads): Likewise.
1596
1597 2003-10-29  Richard Henderson  <rth@redhat.com>
1598
1599         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1600         shifts and rotates.
1601
1602 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
1603
1604         * config/rs6000/rs6000.md: Remove duplicate pattern.
1605
1606 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
1607
1608         * real.c (do_divide): Initialize result with a 0.
1609
1610         * configure.in <enable-checking for valgrind>: Look for
1611         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1612         if it exists.
1613         * configure, config.in: Regenerate.
1614         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1615         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
1616         #elif for other alternatives.
1617         * ggc-page.c: Ditto.
1618         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1619         include structure from ggc-common.c.
1620
1621 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1622
1623         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1624         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1625         * pa.c (pa_adjust_insn_length): Check for btable branches using
1626         attribute TYPE_BTABLE_BRANCH.
1627         (pa_reorg): Simplify.
1628         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1629         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1630         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1631         * pa.md (btable_branch): New instruction type.
1632         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1633         btable branches.
1634         (define_delay): Add btable branches to insn types that may have an
1635         insn in the delay position.
1636         (Z2, Z3): Add btable branch to list.
1637         Simplify unamed pattern set copy pic_label_operand to register.  Add
1638         PA 2.0 variant.
1639         (short_jump): New jump for use in branch tables.
1640         (casesi, casesi0): Revise for new branch table formats.
1641         (casesi32, casesi32p, casesi64p): New casesi patterns.
1642         (indirect_jump): Move.
1643
1644 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
1645
1646         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1647         !TARGET_POWERPC64.
1648         (UNITS_PER_GPR_WORD): Delete.
1649         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1650         (HARD_REGNO_MODE_OK): Same.
1651         (CLASS_MAX_NREGS): Same.
1652
1653 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1654
1655         * pa.h (ASM_COMMENT_START): Define.
1656
1657 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
1658
1659         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1660         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1661         component, not zero.
1662
1663 2003-10-29  Andreas Schwab  <schwab@suse.de>
1664
1665         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1666
1667 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
1668
1669         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1670         Never return 1 for complex integral modes whose size is lesser or
1671         equal to a word.
1672         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1673         in the comment.
1674         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1675         modes.
1676         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1677         greater than 16 bytes by reference.
1678
1679 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1680
1681         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1682         not TARGET_ILP32.
1683         (ia64_initialize_trampoline): Use globalize_label target call.
1684
1685 2003-10-29  Andreas Schwab  <schwab@suse.de>
1686
1687         * doc/install.texi (Building): Add a sentence about building Ada
1688         for a canadian cross.
1689
1690 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1691
1692         * config/ia64/ia64.c (cmptf_libfunc): New static.
1693         (ia64_expand_compare): Add logic to open-code calls to
1694         _U_Qfcmp for TFmode comparisons.
1695         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1696         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1697         never be generated anymore.
1698         * config/ia64/ia64.md (cmptf): New expander.
1699
1700 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
1701
1702         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1703         (*sqrt_approx): New instruction pattern for approximate square roots.
1704         (*setf_exp_xf): New instruction pattern for exponentiation.
1705         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1706         (sqrtsf2_internal_thr): New define_and_split implementing
1707         throughput-optimized inline calculation of SFmode square root.
1708         (sqrtdf2_internal_thr): Likewise for DFmode.
1709         (sqrtxf2_internal_thr): Likewise for XFmode.
1710         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1711         latency- and throughput-optimized square root algorithms.
1712         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1713         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1714         New macros.
1715         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1716         -minline-sqrt-max-throughput.
1717         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1718         and -minline-sqrt-max-throughput are given, notify the user
1719         that both options cannot be used simultaneously.
1720         If -minline-sqrt-min-latency is given, notify the user that
1721         this mode is not yet implemented.
1722         (rtx_needs_barrier): Reformat initial comment to obey
1723         72-character width limit.  Support UNSPEC_SETF_EXP and
1724         UNSPEC_FR_SQRT_RECIP_APPROX.
1725
1726 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
1727
1728         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1729         moves.
1730
1731 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1732
1733         PR target/11598
1734         PR libgcj/10610
1735         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1736
1737 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
1738
1739         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
1740         an extra stack adjustment insn if the stack pointer is already
1741         pointing at the right place.
1742         (use_return_insn): Allow a return insn to be used when we have a
1743         frame pointer if the stack pointer is in the right place.
1744         (output_return_instruction): Handle it.
1745
1746 2003-10-28  Andreas Jaeger  <aj@suse.de>
1747
1748         * ggc-zone.c (check_cookies): Add missing variable.
1749         Add void to prototypes.
1750
1751 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1752
1753         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1754         * crtstuff.c (__do_global_ctors_1): Move prototype.
1755         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1756         appropriate.
1757         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1758         Mark parameter with __attribute__((unused)).
1759
1760 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
1761
1762         * c-decl.c (pushdecl): Clarify comment.
1763
1764 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
1765
1766         * doc/install.texi: Update instructions for Ada cross builds
1767
1768         PR ada/5909:
1769         * doc/sourcebuild.texi: Document Ada test suite.
1770
1771 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
1772
1773         * config/m68hc11/m68hc11.c: Convert to ISO C90.
1774         * config/m68hc11/m68hc11-protos.h: Likewise.
1775
1776 2003-10-27  Jan Hubicka  <jh@suse.cz>
1777             Eric Botcazou  <ebotcazou@libertysurf.fr>
1778
1779         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
1780         webizer pass dump.
1781
1782 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
1783             Jan Hubicka  <jh@suse.cz>
1784
1785         * reload1.c (struct elim_table): Change offset, initial_offset and
1786         previous_offset fields to HOST_WIDE_INT.
1787         (offsets_at): Change from int to HOST_WIDE_INT.
1788         (reload): Adjust offsets_at initialization.
1789         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1790         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1791         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1792         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
1793         if TARGET_64BIT.
1794         (pro_epilogue_adjust_stack): New function.
1795         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1796         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1797         (pro_epilogue_adjust_stack_1): Remove * in front of name.
1798         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1799         (pro_epilogue_adjust_stack_rex64_2): New insn.
1800
1801         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1802
1803         * config/i386/i386.c (ix86_expand_call): Replace 40 with
1804         FIRST_REX_INT_REG + 3 /* R11 */.
1805
1806 2003-10-26  Richard Henderson  <rth@redhat.com>
1807
1808         * config/alpha/alpha.md (attr cannot_copy): New.
1809         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1810         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1811         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1812
1813 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
1814
1815         * ggc-zone.c:  New file, zone allocating collector.
1816         * configure: Accept zone option for --with-gc
1817         * configure.in: Ditto.
1818         * ggc.h (ggc_pch_count_object): Pass bool indicating
1819         stringiness. Update all callers.
1820         (ggc_pch_alloc_object): Ditto.
1821         (ggc_pch_write_object): Ditto.
1822         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
1823         type.
1824         (ggc_alloc_rtvec): Ditto.
1825         (ggc_alloc_tree): Use zone allocation, since some things using this macro
1826         aren't a single typecode.
1827         * ggc-none.c (ggc_alloc_typed): New function.
1828         (ggc_alloc_zone): Ditto.
1829         * ggc-page.c: Ditto on both functions.
1830
1831 2003-10-26  Gunther Nikl  <gni@gecko.de>
1832
1833         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
1834         frame information is always valid.
1835         (m68k_output_function_prologue): Remove superfluous TARGET_68881
1836         test; fix formatting.
1837
1838 2003-10-26  Gunther Nikl  <gni@gecko.de>
1839
1840         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
1841         reg_rev_mask computation.
1842         (m68k_output_function_prologue): Fix usage of current_frame (one typo
1843         and one missing); use reg_rev_mask not reg_mask.
1844         (m68k_output_function_epilogue): Fix usage of current_frame;
1845         use fpu_rev_mask not fpu_mask.
1846
1847 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
1848
1849         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
1850         num_saved_regs, use current_frame.reg_no instead.
1851
1852 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
1853             Paul Dale  <pauli@snapgear.com>
1854
1855         * doc/extend.texi (interrupt_handler): Add m68k to the
1856         list of processors implementing it.
1857         * doc/invoke.texi (-msep-data): Document new m68k option.
1858         (-mno-sep-data): Likewise.
1859         (-mid-shared-library): Likewise.
1860         (-mno-id-shared-library): Likewise.
1861         (-mshared-library-id): Likewise.
1862
1863 2003-10-26  Andreas Jaeger  <aj@suse.de>
1864
1865         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
1866         comparison.
1867         (_Unwind_SetGR): Likewise.
1868
1869 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
1870
1871         PR target/12690
1872         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
1873
1874 2003-10-26  Gunther Nikl  <gni@gecko.de>
1875
1876         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
1877         comment from here to...
1878         (m68k_save_reg): ...here. Fix comment formatting.
1879         (m68k_output_function_prologue): Fix comment formatting.
1880         (m68k_output_function_epilogue): Likewise.
1881         (const_method): Likewise.
1882
1883 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
1884
1885         * toplev.c (default_get_pch_validity): Guard the use of
1886         target_options with #ifdef TARGET_OPTIONS.
1887         (default_pch_valid_p): Likewise.
1888
1889 2003-10-26  Andreas Jaeger  <aj@suse.de>
1890             Zack Weinberg  <zack@codesourcery.com>
1891             Andreas Tobler <toa@pop.agri.ch>
1892
1893         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
1894         (output_die): Likewise.
1895         (print_die): Likewise.
1896
1897 2003-10-26  Andreas Jaeger  <aj@suse.de>
1898
1899         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
1900         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
1901         dwarf2out.c change.
1902
1903         * toplev.c (default_pch_valid_p): Fix warning.
1904
1905 2003-10-25  Roger Sayle  <roger@eyesopen.com>
1906
1907         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
1908         RTL nodes.  If an operator's operands are unchanged, return the
1909         original argument unchanged.
1910
1911 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
1912
1913         Fix bootstrap failure.
1914         * expmed.c (store_bit_field): Don't compare bitsize against
1915         modes with zero bit-size.
1916
1917         (extract_bit_field): Likewise
1918
1919 2003-10-25  Jan Hubicka  <jh@suse.cz>
1920
1921         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
1922         (cfa_loc): Likewise.
1923         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
1924         HOST_WIDE_INT.
1925         (args_size, old_args_size): change type to HOST_WIDE_INT.
1926         (dwarf2out_def_cfa, dwarf2out_args_size,
1927         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
1928         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
1929         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
1930         AT_offset): Use HOST_WIDE_INT.
1931         (based_loc_descr): offset is HOST_WIDE_INT.
1932         (add_data_member): Likewise.
1933         (add_const_value_attribute): Simplify.
1934
1935 2003-10-25  Richard Henderson  <rth@redhat.com>
1936
1937         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
1938         (ix86_expand_prologue): Save and restore eax around stack probe
1939         if it's live.
1940
1941 2003-10-25  Jan Hubicka  <jh@suse.cz>
1942
1943         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
1944
1945 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1946
1947         PR target/12712
1948         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
1949         if the block has no predecessors.
1950         (convert_regs_2): Document the problem with successors whose
1951         only predecessor is the block to be processed.
1952         (convert_regs): Don't create the arbitrary input stack here.
1953
1954 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
1955
1956         * genmodes.c (struct mode_data): Add contained and next_cont
1957         fields.
1958         (complete_mode): Maintain linked list of modes that have a
1959         given component.
1960         (emit_mode_unit_size): Delete.
1961         (emit_mode_nunits): New.
1962         (emit_insn_modes_c): Update to match.
1963         (emit_mode_adjustments): Propagate size and alignment
1964         adjustments from component modes to their containers.
1965         * machmode.h (mode_unit_size): Delete.
1966         (mode_nunits): New.
1967         (GET_MODE_NUNITS): Just return the value in the table.
1968         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
1969         GET_MODE_SIZE.
1970         * expmed.c (store_bit_field, extract_bit_field): Can use a
1971         plain move instruction if bitsize >= GET_MODE_BITSIZE of
1972         destination/source mode, respectively.
1973         * varasm.c (assemble_real): Write out the full size of the
1974         constant, not just its bitsize.
1975         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
1976
1977         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
1978         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
1979         alignment of XF and TF modes in compliance with ia64 ABIs.
1980         Can now hardwire the format of both modes.
1981         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
1982         (general_tfmode_operand, destination_tfmode_operand)
1983         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
1984         general_xfmode_operand, destination_xfmode_operand,
1985         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
1986         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
1987         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
1988         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
1989         __float128.
1990         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
1991         Change TFmode to XFmode wherever appropriate.  Remove all
1992         references to INTEL_EXTENDED_IEEE_FORMAT.
1993         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
1994         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
1995         (PREDICATE_CODES): Update to match function renames.
1996         * config/ia64/ia64.md: Change TF to XF throughout; rename all
1997         patterns to match.  Remove all references to
1998         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
1999         function renames.
2000         * config/ia64/ia64-protos.c: Update all prototypes to match
2001         renamed functions.
2002         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2003         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2004         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2005         __divtf3; keep old name for backward compatibility.
2006         (L__compat): New section providing forwarding stubs for
2007         __fixtfti, __fixunstfti, __floattitf.
2008         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2009
2010 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
2011
2012         PR 10757
2013         * c-pch.c: Include target.h.  Improve comments.
2014         (struct c_pch_validity): Add target_data_length.
2015         (pch_init): Add target's validity data.
2016         (c_common_valid_pch): Check target's validity data.
2017         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2018         (TARGET_PCH_VALID_P): New.
2019         (TARGET_INITIALIZER): Add new fields.
2020         * target.h: Include tm.h.
2021         (struct gcc_target): Add get_pch_validity, pch_valid_p.
2022         * toplev.h (default_get_pch_validity): New prototype.
2023         (default_pch_valid_p): New prototype.
2024         * toplev.c (default_get_pch_validity): New routine.
2025         (default_pch_valid_p): New routine.
2026         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
2027         target.h with $(TARGET_H).
2028         (c-pch.o): Add TARGET_H.
2029         * doc/tm.texi (PCH Target): New node.
2030         (TARGET_GET_PCH_VALIDITY): Document.
2031         (TARGET_PCH_VALID_P): Document.
2032
2033 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
2034
2035         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
2036         and $(docdir)/include from any *.texi dependencies.
2037         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2038         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2039         ($(docobjdir)/%.7): Likewise.
2040         (%.pod): New implicit rule.
2041         (cpp.pod): New dependency only rule.
2042         (gcc.pod): New intermediate rule with dependencies and commands.
2043         (gfdl.pod): Likewise.
2044         (fsf-funding.pod): Likewise.
2045
2046 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2047
2048         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2049         related code.
2050         * fixinc/fixinc.ptx: Remove.
2051         * fixinc/fixinc.svr4: Remove.
2052
2053 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
2054
2055         * config/s390/s390.c (load_multiple_operation): Allow both SImode
2056         and DImode if word_mode is DImode.
2057         (store_multiple_operation): Likewise.
2058         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2059         ("*load_multiple_di"): Allow only if word_mode == DImode.
2060         ("movqi"): Use LLGC whenever TARGET_ZARCH.
2061         ("fix_truncdfsi2"): Fix incorrect temporary size.
2062         ("fix_truncsfsi2"): Likewise.
2063         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2064         string for function return value operand.
2065         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2066
2067 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2068
2069         * c-parse.in (array_declarator): Use expr_no_commas.
2070         Fixes PR c/11943.
2071
2072 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
2073
2074         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2075         associated includes in #ifndef inhibit_libc.
2076
2077 2003-10-24  Roger Sayle  <roger@eyesopen.com>
2078
2079         * doc/libgcc.texi: Document some more of the libgcc API.
2080
2081 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2082
2083         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2084         comparing a constant with small negative numbers and add costing
2085         for constants in conjunction with AND.
2086         (note_invalid_constants): Tidy previous change.
2087         (thumb_cmp_operand): Tidy.
2088         (thumb_cmpneg_operand): New function.
2089         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2090         for size.
2091         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2092         (PREDICATE_CODES): Add thumb_cmpneg_operand.
2093         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
2094         with a negative constant.
2095         (cbranchsi4_insn): Matcher for cbranchsi4.
2096         (cbranchsi4_scratch): Similar, but a scratch is available for
2097         handling negative constants.
2098         (movsi_cbranchsi4): New pattern.
2099         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2100         and use the TST instruction.
2101         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2102         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2103         cannot see high regs or memory alternatives.
2104         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2105
2106 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2107
2108         * arm.c (note_invalid_constants): Try to extract the constant
2109         pool value using avoid_constant_pool_reference; only use
2110         get_pool_constant if that returns the original reference.
2111
2112 2003-10-24  Jan Hubicka  <jh@suse.cz>
2113
2114         PR c++/12624
2115         * varasm.c (notice_global_symbol): Disqualify global registers.
2116
2117 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2118
2119         PR middle-end/11414
2120         * loop.c (load_mems): Use redirect_jump to forward jumps from
2121         the original loop end label to the new "loop sink" block's label.
2122
2123 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2124
2125         PR middle-end/12705
2126         * optabs.c (expand_binop): When expanding complex operations
2127         inline, always calculate result into a new temporary register.
2128         Minor code clean-ups.
2129
2130 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2131
2132         * objc/lang-specs.h: Handle -print-objc-runtime-info.
2133         * doc/invoke.texi (Objective-C Dialect Options): Document it.
2134
2135 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
2136
2137         * config/i386/cygwin.asm. Add copyright notice. Add comment
2138         on why this code is needed.
2139
2140 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
2141
2142         * config/h8300/clzhi2.c: Fix warnings.
2143         * config/h8300/ctzhi2.c: Likewise.
2144         * config/h8300/fixunssfsi.c: Likewise.
2145         * config/h8300/parityhi2.c: Likewise.
2146         * config/h8300/popcounthi2.c: Likewise.
2147
2148 2003-10-23  James E Wilson  <wilson@specifixinc.com>
2149
2150         * gcc.c (option_map): Delete --target and --use-version.
2151
2152 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
2153             David Edelsohn  <edelsohn@gnu.org>
2154
2155         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2156         TARGET_POWREPC64.
2157         (UNITS_PER_GPR_WORD): Define.
2158         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2159         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2160         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2161         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2162         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2163         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2164         (rs6000_emit_prologue): Select reg_mode and reg_size using
2165         TARGET_32BIT, not TARGET_POWERPC64.
2166         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2167         ABI / 64-bit computation mode
2168
2169 2003-10-22  Andrew Haley  <aph@redhat.com>
2170
2171         * toplev.c (output_file_directive): Allow for null input_name.
2172
2173 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
2174
2175         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2176
2177 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
2178
2179         * configure.in: In --enable-generated-files-in-srcdir option
2180         handling, fix default case handling.
2181         * configure: Regenerate.
2182
2183 2003-10-22  Phil Edwards  <phil@codesourcery.com>
2184
2185         * config.gcc:  Update *-*-vxworks* generic hook and comments.
2186         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2187         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
2188         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2189         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
2190         * config/windiss.h:  New file.
2191         * config/arm/t-vxworks:  New file.
2192         * config/arm/vxworks.h:  New file.
2193         * config/i386/t-vxworks:  New file.
2194         * config/i386/vxworks.h:  New file.
2195         * config/mips/t-vxworks:  New file.
2196         * config/mips/vxworks.h:  New file.
2197         * config/mips/windiss.h:  New file.
2198         * config/sh/t-vxworks:  New file.
2199         * config/sh/vxworks.h:  New file.
2200
2201 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2202
2203         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2204         (h8300_saveall_function_p): New.
2205         (h8300_insert_attributes): Insert the saveall attribute if
2206         #pragma saveall is specified.
2207         (h8300_attribute_table): Add saveall.
2208         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2209         * doc/extend.texi: Mention the saveall attribute.
2210
2211 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
2212
2213         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2214         deprecation of casts as lvalues.
2215         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2216         * fixinc/fixincl.x: Regenerate.
2217         * fixinc/tests/base/obstack.h: New test.
2218
2219 2003-10-22  Andreas Schwab  <schwab@suse.de>
2220
2221         PR target/12676
2222         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2223         LP64 platforms.
2224
2225 2003-10-22  Jan Hubicka  <jh@suse.cz>
2226
2227         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2228         presence of DW_AT_inline.
2229         (gen_subprogram_die): Likewise; do not abort instead of emitting
2230         DW_AT_not_inline.
2231
2232 2003-10-22  Jan Hubicka  <jh@suse.cz>
2233
2234         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2235         global info is not ready.
2236
2237 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2238
2239         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2240
2241 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
2242
2243         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2244         ("*movstr_short"): ... into this insn pattern.
2245         ("movstr_short"): New expander.
2246         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2247         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2248         ("movstr_long"): New expander.
2249         ("clrstr_short_64", "clrstr_short_31"): Merge ...
2250         ("*clrstr_short"): ... into this insn pattern.
2251         ("clrstr_short"): New expander.
2252         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2253         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2254         ("clrstr_long"): New expander.
2255         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2256         ("*cmpmem_short"): ... into this insn pattern.
2257         ("cmpmem_short"): New expander.
2258         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2259         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2260         ("cmpmem_long"): New expander.
2261         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2262         (s390_expand_clrstr): Likewise.
2263         (s390_expand_cmpmem): Likewise.
2264
2265 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
2266
2267         * c-pch.c (struct c_pch_validity): Add pch_init field.
2268         (pch_init): Set it.
2269         (c_common_valid_pch): Check it.
2270
2271 2003-10-22  David Taylor <dtaylor@emc.com>
2272
2273         PR debug/12500
2274         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2275
2276 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2277
2278         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2279         alpha_return_in_memory if no VALTYPE specified.
2280
2281 2003-10-22  Jan Hubicka  <jh@suse.cz>
2282
2283         PR debug/12389
2284         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2285         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2286         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2287         (cgraph_global_info): Add flag inlined
2288         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2289         cgraph_function_possibly_inded_p
2290         * cgraphunit.c (mark_inline): Set inlined flag.
2291         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2292         only for possibly inlined functions.
2293         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2294         body of function.
2295
2296 2003-10-22  Andrew Haley  <aph@redhat.com>
2297
2298         * varasm.c (output_constructor): Make constructor annotation
2299         conditional on ASM_COMMENT_START.
2300
2301 2003-10-21  Jason Merrill  <jason@redhat.com>
2302
2303         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2304         (get_narrower): Likewise.
2305
2306         * stor-layout.c (layout_decl): Do packed field alignment for
2307         bit-fields, too.
2308
2309 2003-10-21  Eric Christopher  <echristo@redhat.com>
2310
2311         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2312
2313 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
2314
2315         * c-pch.c: Add comments in various places.
2316         (struct c_pch_validity): Add the lengths of various strings.
2317         (host_machine): New static.
2318         (target_machine): New static.
2319         (get_ident): Bump version number.
2320         (pch_init): Write out version, host, target validity data.
2321         (c_common_valid_pch): Check version, host, target.
2322         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2323         TARGET_MACHINE.
2324
2325 2003-10-21  Jason Merrill  <jason@redhat.com>
2326
2327         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2328         (EXPR_P): New macro.
2329
2330 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
2331
2332         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2333         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2334         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2335         DImode.   Use convert_move to load ar.ccv.
2336         (ia64_expand_compare_and_swap): Likewise.
2337         If expand_expr doesn't put 'old' and 'new' in the proper
2338         modes, run them through convert_to_mode.
2339
2340 2003-10-21  Eric Christopher  <echristo@redhat.com>
2341
2342         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2343         for too large bitfields.
2344
2345 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2346
2347         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2348
2349 2003-10-21  Andrew Haley  <aph@redhat.com>
2350
2351         * varasm.c (output_constructor): Annotate constructor.
2352
2353 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2354
2355         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2356         on existence of destination file.
2357
2358 2003-10-21  Jan Hubicka  <jh@suse.cz>
2359
2360         * haifa-sched.c (choose_ready): Initialize index.
2361
2362 2003-10-21  Jason Merrill  <jason@redhat.com>
2363
2364         * tree.c (build1): Fix off-by-one error.
2365
2366 2003-10-21  Robert Millan  <robertmh@gnu.org>
2367
2368         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2369         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2370         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2371         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2372
2373 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2374
2375         * web.c: Fix various comments.
2376
2377 2003-10-20  Nicolas Pitre <nico@cam.org>
2378
2379         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2380         to 2 instead of 1 when optimize_size is true.  Gather code based on
2381         optimize_size together.  Add comment about XScale load latency.
2382
2383 2003-10-21  Gunther Nikl  <gni@gecko.de>
2384
2385         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2386         obsolete comments.
2387
2388 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2389
2390         * Makefile.in: Get parsedir and docobjdir from configure.
2391         * configure.in: Recogonize --enable-generated-files-in-srcdir.
2392         Pass along parsedir and docobjdir.
2393         * configure: Regenerate.
2394         * doc/install.texi: Document --enable-generated-files-in-srcdir.
2395
2396 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2397
2398         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2399         included.
2400
2401 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2402
2403         * c-common.c (expand_tree_builtin): Ensure creal and cimag
2404         functions do not return lvalues.
2405
2406 2003-10-20  Jason Merrill  <jason@redhat.com>
2407
2408         PR c/12553
2409         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2410         appropriately.
2411
2412         PR c/11446
2413         * stor-layout.c (layout_decl): Fix alignment handling.
2414
2415 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2416
2417         * doc/extend.texi: Deprecate casts as lvalues.
2418
2419 2003-10-20  Jan Hubicka  <jh@suse.cz>
2420
2421         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2422
2423         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
2424         with functions implicitly made inline.
2425
2426         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
2427         (cgraph_finalize_function): Use it.
2428         (cgraph_mark_inline): Allow incrmental decisions
2429         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2430         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2431         * tree-inline.c (limits_allow_inlining): Kill.
2432         (expand_call_inline): Always use unit-at-a-time path.
2433
2434 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2435
2436         * fixinc/inclhack.def (hpux11_snprintf): New edit.
2437         * fixinc/fixincl.x: Regenerate.
2438         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2439
2440 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
2441
2442         * Makefile.in (install-info): Simplify.
2443         ($(DESTDIR)$(infodir)/%.info): New rule.
2444         * configure.in (target_list): Remove install-info.
2445         * doc/.cvsignore (gcc.info*): Remove.
2446         (gccint.info*): Likewise.
2447         (gccinstall.info*): Likewise.
2448         (cpp.info*): Likewise.
2449         (cppinternals.info*): Likewise.
2450         (*.info*): Add it.
2451         * doc/sourcebuild.texi: Update description of install-info.
2452         * objc/Make-lang.in (objc.install-info): Remove.
2453
2454 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2455
2456         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2457         Use it in _MIPS_SIM definition.
2458         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2459
2460 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2461
2462         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2463         virtual register, but only if file == asm_out_file.
2464         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2465         for ARG_POINTER_REGNUM.
2466
2467 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2468
2469         * c-common.c (registered_builtin_types): New static.
2470         (c_common_type_for_mode): Consult registered_builtin_types.
2471         (c_register_builtin_type): Add type to registered_builtin_types.
2472         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2473         all MODE_FLOAT modes, not just the ones corresponding to
2474         float_type_node, double_type_node, and long_double_type_node.
2475
2476 2003-10-20  Richard Henderson  <rth@redhat.com>
2477
2478         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2479         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2480
2481 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
2482
2483         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
2484         support new flag -minsert-sched-nops.
2485         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
2486         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2487         support new flag -minsert-sched-nops.
2488         (is_cracked_insn, is_microcoded_insn): New functions.
2489         (rs6000_sched_finish): New function.
2490         (rs6000_issue_rate): Return 5 for power4.
2491         (get_next_active_insn, insn_terminates_group_p): New
2492         functions.
2493         (is_costly_group, force_new_group): New functions.
2494         (redefine_groups, pad_groups): New functions.
2495         (rs6000_variable_issue): Use new functions.
2496         * doc/invoke.texi (-minsert-sched-nops): Document new
2497         option.
2498
2499 2003-10-20  David S. Miller  <davem@redhat.com>
2500
2501         * config/sparc/sparc.md (type attribute): Add new insn types
2502         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2503         (patterns emitting VIS insns): Use them.
2504         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2505         * config/sparc/ultra3.md: Likewise.
2506
2507 2003-10-20  Falk Hueffner  <falk@debian.org>
2508
2509         PR target/12654
2510         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2511         comparison against constant by adjusting the argument except for
2512         EQ and NE.
2513
2514 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
2515
2516         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2517         arm1136jfs, and armv6j.
2518         * config/arm/arm.c (FL_ARCH6J): New macro.
2519         (FL_VFPV2): Likewise.
2520         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2521         and arm1136jfs.
2522         (all_architectures): Add entry for armv6j.
2523         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2524         arm1136js, and arm1136jfs.
2525         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2526         (TARGET_CPU_arm1026ej_s): Likewise.
2527         (TARGET_CPU_arm1136j_s): Likewise.
2528         (TARGET_CPU_arm1136jf_s): Likewise.
2529         * doc/invoke.texi: Document new ARM cores and architecture
2530         variants.
2531
2532 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2533
2534         * Makefile.in (toplev.o): Add value-prof.h dependency.
2535         (value-prof.o): Add REGS_H dependency.
2536         * common.opt (fprofile-values, fvpt): New.
2537         * flags.h (flag_value_profile_transformations): Declare.
2538         * opts.c (common_handle_option): Handle -fprofile_values and
2539         -fvpt.
2540         * profile.c (branch_prob): Don't remove death notes here.
2541         * timevar.def (TV_VPT): New.
2542         * value-prof.c: Include regs.h.
2543         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2544         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2545         mod_subtract_transform, value_profile_transformations): New.
2546         (insn_values_to_profile): Call insn_divmod_values_to_profile.
2547         (find_values_to_profile): Add dumps.
2548         * value-prof.h (value_profile_transformations): Declare.
2549         * toplev.c: Include value-prof.h.
2550         (rest_of_handle_value_profile_transformations): New.
2551         (enum dump_file_index): Add DFI_vpt.
2552         (dump_file): Add vpt dump.
2553         (flag_value_profile_transformations): New.
2554         (lang_independent_options): Add flag_profile_values and
2555         flag_value_profile_transformations.
2556         (rest_of_compilation): Call
2557         rest_of_handle_value_profile_transformations.
2558         (process_options): Let -fvpt imply -fprofile-values.
2559         * doc/invoke.texi (-fvpt): Document.
2560
2561 2003-10-19  Jan Hubicka  <jh@suse.cz>
2562
2563         * i386.c (print_reg): Do not abort on certain registers.
2564
2565         PR optimization/12612
2566         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
2567         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2568         match_scratch; avoid bogus paralles.
2569
2570         PR target/12674
2571         * i386.c (ix86_function_regparm): Disable implicit register passing
2572         conventions when profiling.
2573
2574 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2575             Richard Henderson  <rth@redhat.com>
2576
2577         PR optimization/8178
2578         * config/i386/i386.md (*movsi_zero): Delete.
2579         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2580
2581 2003-10-19  Richard Henderson  <rth@redhat.com>
2582
2583         * config/alpha/alpha.c (fix_operator): New.
2584         (divmod_operator): Tidy.
2585         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2586         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2587         (PREDICATE_CODES): Update.
2588         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2589         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2590         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2591         (fix_truncsfdi_ieee): Likewise.
2592         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2593         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2594         * config/alpha/alpha-protos.h: Update.
2595
2596 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
2597
2598         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2599         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2600         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
2601         constant operands.
2602
2603 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
2604
2605         * doc/extend.texi: Fix typos.
2606         * doc/invoke.texi: Likewise.
2607
2608 2003-10-18  Nicolas Pitre <nico@cam.org>
2609
2610         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2611         XScale optimizations not arm_arch_xscale.
2612         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2613
2614 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
2615
2616         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2617         * config/s390/s390.c (shift_count_operand): New function.
2618         (s390_extra_constraint): Use it to implement 'Y' constraint.
2619         (print_shift_count_operand): New function.
2620         (print_operand): Use it to implement '%Y'.
2621         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2622         (PREDICATE_CODES): Add shift_count_operand.
2623         * config/s390/s390.md ("rotldi3"): Merge alternatives,
2624         using "shift_count_operand" predicate and "Y" constraint,
2625         and "%Y" to output the combined shift count.
2626         ("rotlsi3"): Likewise.
2627         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
2628         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
2629         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2630         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2631         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2632         ("lshrsi3"): Likewise.
2633
2634 2003-10-18  Gunther Nikl  <gni@gecko.de>
2635
2636         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2637         argument to asm_fprintf statement.
2638
2639 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
2640
2641         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2642         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2643         a "long long" argument.
2644
2645 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
2646
2647         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2648         as well.
2649
2650 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
2651
2652         * rtl.h (rtl_size): Declare.
2653         (rtunion): Remove rtwint.
2654         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2655         (RTX_HDR_SIZE, RTX_SIZE): New macros.
2656         (RTL_CHECK1): Adjust for new rtx_def layout.
2657         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2658         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
2659         (X0WINT): Remove.
2660         (X0ANY): New macro.
2661         * rtl.def: Adjust comments for new rtx_def layout.
2662         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2663         number of slots.
2664         * rtl.c (rtx_size): New array.
2665         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
2666         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2667         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
2668         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2669         * emit-rtl.c (copy_most_rtx): Likewise.
2670         (copy_rtx_if_shared): Use RTX_SIZE.
2671         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
2672         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
2673         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2674         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2675         an array.  Adjust output for new rtx_def layout.
2676         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2677         * reload1.c (eliminate_regs): Use RTX_SIZE.
2678         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2679         * gdbinit.in (pi): Likewise.
2680
2681 2003-10-18  Jan Hubicka  <jh@suse.cz>
2682
2683         * integrate.c (copy_decl_for_inlining): Revert previous patch.
2684
2685 2003-10-18  Jan Hubicka  <jh@suse.cz>
2686
2687         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2688
2689 2003-10-18  Roger Sayle  <roger@eyesopen.com>
2690
2691         * libgcc.texi: Group multi-word types, such as "long double" and
2692         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2693         Document __unord?f2 as returning a non-zero value, not just one.
2694
2695 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
2696
2697         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2698         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2699
2700 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2701
2702         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2703         match_operand.
2704
2705 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2706
2707         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2708         parameter packed_p.  Search for a DECL_PACKED field only if
2709         packed_p is false.  Pass packed_p recursively.
2710         (function_arg_record_value_2): Likewise.
2711         (function_arg_record_value): Update calls to
2712         function_arg_record_value_1 and function_arg_record_value_2.
2713
2714 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2715
2716         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2717         was successfully forced to memory before using the result.
2718
2719 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
2720
2721         PR optimization/8178
2722         * config/i386/i386.md (*movsi_zero): New insn to set
2723         a register to zero on TARGET_USE_MOV0 targets.
2724
2725 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
2726
2727         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2728         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2729
2730 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
2731
2732         * doc/invoke.texi (gcse-las): Fix typo.
2733
2734 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
2735
2736         * doc/install.texi: Remove first part of the sentence for
2737         zsh not working.  Change gcc to GCC.
2738
2739         PR bootstrap/12546
2740         * doc/install.texi: Document that zsh does not work when
2741         configuring gcc.
2742
2743 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
2744
2745         * config/ptx4.h: Switch to DWARF 2; update comments.
2746
2747 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
2748             Hartmut Penner  <hpenner@de.ibm.com>
2749
2750         PR 10404, partial 11591, partial 11601
2751         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2752         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2753         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2754         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2755         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2756         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2757         (altivec_expand_stv_builtin): Adjust for the memory_operand.
2758         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2759         (altivec_init_builtins): Use `long int' for memory offsets.
2760
2761 2003-10-17  Jan Hubicka  <jh@suse.cz>
2762
2763         * opts.c  (common_handle_option): Handle OPT_fweb
2764         * invoke.texi (-fweb): Add missing parts of documentation.
2765
2766 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2767
2768         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2769         before redefinition.
2770
2771 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
2772
2773         * common.opt: Add description of the new -fgcse-las flag.
2774         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2775         * gcse.c (hash_scan_set): Handle the case of store expression and
2776         insert the memory expression to the hash table, this way we make it
2777         possible to discover redundant loads after stores and remove them.
2778         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2779         to pre_insert_copies, it is not the correct place to call it after
2780         adding stores to be in the available expression hash table.
2781         (pre_insert_copies): Added the call to update_ld_motion_stores when
2782         one or more copies were inserted.
2783         * opts.c (common_handle_option): Handle the -fgcse-las flag.
2784         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2785
2786         * doc/invoke.tex: Document new -fgcse-las flag.
2787
2788 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
2789
2790         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2791         for posterity, then remove it.
2792
2793 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
2794             Nathan Sidwell  <nathan@codesourcery.com>
2795
2796         * config/arm/arm.c (use_return_insn): Not a single instruction, if
2797         there's a frame pointer.
2798         (arm_output_epilogue): Protect stack pointer from being corrupted
2799         on interrupt.
2800
2801 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2802
2803         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2804
2805 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
2806
2807         * combine.c (simplify_set): Do not clear out undobuf.other_insn
2808         already set elsewhere.
2809
2810 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
2811
2812         * config/i386/i386.c (ix86_expand_prologue):  Use
2813         gen_allocate_stack_worker.
2814
2815 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2816
2817         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
2818         without gas.
2819         (mips-sgi-irix6*): Likewise.
2820
2821         * config/mips/iris6gas.h: New file.
2822         * gcc/config.gcc (mips-sgi-irix6*): Use it.
2823
2824         * config/mips/mips.h (TARGET_IRIX): Provide default.
2825         (TARGET_IRIX5): Likewise.
2826         (TARGET_SGI_O32_AS): Likewise.
2827         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
2828         (TARGET_IRIX5): Likewise.
2829         * config/mips/iris6.h (TARGET_IRIX6): Remove.
2830         (TARGET_IRIX5): Redefine as 0.
2831
2832         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
2833         linker workaround with TARGET_IRIX and mips_abi instead of
2834         ASM_OUTPUT_UNDEF_FUNCTION.
2835         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
2836         testing TARGET_IRIX and mips_abi explicitly.
2837         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
2838         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
2839
2840         * config/mips/mips.c (irix_output_external_libcall): Renamed from
2841         mips_output_external_libcall.
2842         Use new TARGET_IRIX in guard.
2843         * config/mips/mips-protos.h (irix_output_external_libcall): Match
2844         this.
2845         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
2846
2847         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
2848         Define as 0.
2849
2850         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
2851         depending on mips_abi.
2852         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
2853         * config/mips/mips.c (mips_output_function_prologue): Test
2854         FUNCTION_NAME_ALREADY_DECLARED at runtime.
2855         (mips_output_function_epilogue): Likewise.
2856         (build_mips16_function_stub): Likewise.
2857         (build_mips16_call_stub): Likewise.
2858         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
2859         default.
2860
2861         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
2862         IRIX 6 O32 assembler.
2863         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
2864         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
2865         _MIPS_SIM for O32 ABI.
2866         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
2867         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
2868         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
2869         Integrate O32 version.
2870         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
2871         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
2872         O32 ABI.
2873         (BSS_SECTION_ASM_OP_32): Define.
2874         (BSS_SECTION_ASM_OP_64): Likewise.
2875         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
2876         using them.
2877         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
2878         Move up to allow override for O32 ABI without GNU as.
2879         (EH_FRAME_SECTION_NAME): Define explicitly.
2880         (MUST_USE_SJLJ_EXCEPTIONS): Define.
2881         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
2882         DTORS_SECTION_ASM_OP): Dummy definitions.
2883         (TARGET_ASM_NAMED_SECTION): Undef statically.
2884         (EH_FRAME_SECTION_NAME): Likewise.
2885         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
2886         (LINK_SPEC): Only use default options -call_shared -no_unresolved
2887         without -r.
2888         Don't pass -init, -fini with -mabi=32.
2889         (COLLECT_PARSE_FLAG): Define.
2890
2891         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
2892         TARGET_IRIX.
2893         Renamed to use irix_ prefix.
2894         (iris6_asm_named_section): Likewise.
2895         (iris_section_align_entry_eq): Likewise.
2896         (iris_section_align_entry_hash): Likewise.
2897         (iris6_file_start): Likewise.
2898         (iris6_section_align_1): Likewise.
2899         (iris6_file_end): Likewise.
2900         (iris6_section_type_flags): Likewise.
2901         (iris_section_align_htab): Likewise.
2902         (iris_orig_asm_out_file): Likewise.
2903         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
2904         (TARGET_ASM_FILE_END): Likewise.
2905         (TARGET_SECTION_TYPE_FLAGS): Likewise.
2906
2907         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
2908         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
2909         override_options instead.
2910         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
2911         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
2912         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
2913         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
2914         assemblers.
2915         Likewise for constructor/destructor handling.
2916         (override_options): Handle IRIX O32 assembler quirks.
2917         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
2918         without gas.
2919         (mips_file_start): Use new TARGET_IRIX.
2920         (mips_declare_object_name): No special processing for IRIX O32
2921         assembler.
2922         (mips_finish_declare_object): Likewise.
2923         (irix_asm_output_align): Renamed from iris6_asm_output_align.
2924         Don't record alignment for O32 ABI.
2925         (irix_file_start): Renamed from iris6_file_start.
2926         Return early for O32 ABI.
2927         (irix_file_end): Renamed from iris6_file_end.
2928         Don't emit .section directives for O32 ABI.
2929         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
2930         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
2931
2932         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
2933         (MULTILIB_OSDIRNAMES): Likewise.
2934
2935 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2936
2937         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
2938         (main): Use it.
2939         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
2940
2941 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
2942
2943         * arm-modes.def (CC_Nmode): New condition code mode.
2944         * arm.c (thumb_condition_code): Delete.
2945         (arm_select_cc_mode): Handle single-bit test for Thumb.
2946         (arm_print_operand, cases 'd' and 'D'): Don't special case the
2947         condition code logic for Thumb.
2948         (get_arm_condition_code): Handle CC_Nmode.
2949         (thumb_cbrch_target_operand): New function.
2950         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
2951         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
2952         * arm.md: Add Thumb split patterns for zero_extract and
2953         sign_extract.
2954         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
2955         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
2956         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
2957         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
2958         (cbranchne_decr1): Re-work to use CC_Nmode.
2959
2960         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
2961         by the return instruction.  Add a use of the link register if it
2962         wasn't stored.
2963
2964 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
2965
2966         * flow.c (init_propagate_block_info): Don't abort if a conditional
2967         jump is not a comparison of a register.  Instead, just don't record
2968         conditional life information.
2969
2970 2003-10-16  Jan Hubicka  <jh@suse.cz>
2971
2972         PR optimization/12630
2973         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
2974         for operands 7 and 8.
2975
2976 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
2977
2978         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
2979
2980 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
2981
2982         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2983
2984         * config/i386/winnt.c (gen_stdcall_suffix): Make static
2985         (gen_fastcall_suffix): Likewise.
2986         (i386_pe_dllexport_p): Likewise.
2987         (i386_pe_dllimport_p): Likewise.
2988         (i386_pe_mark_dllexport): Likewise.
2989         (i386_pe_mark_dllimport): Likewise.
2990         (i386_pe_asm_named_section): Fix formatting.
2991
2992 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
2993
2994         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
2995         * system.h: Declare snprintf if necessary.
2996         * configure, config.in: Regenerate.
2997
2998 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
2999
3000         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
3001         arguments if TARGET_ALTIVEC_ABI.
3002
3003 2003-10-15  Roger Sayle  <roger@eyesopen.com>
3004
3005         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
3006         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
3007         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
3008         New functions.
3009         (expand_builtin_memcpy): Use integer_zerop instead of testing
3010         host_integerp and tree_low_cst directly.  Move misapplied hunk
3011         for optimization wher SRC and DEST point to the same location.
3012         (expand_builtin_mempcpy): From here.
3013         (expand_builtin_memmove): Use integer_zerop instead of testing
3014         host_integerp and tree_low_cst_directly.
3015         (expand_builtin_memset): Likewise.
3016         (expand_builtin_memcmp): Likewise (and for integer_onep).
3017         (expand_builtin_strncmp): Likewise.
3018         (fold_builtin): Call the appropriate fold_builtin_foo functions
3019         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
3020         strcmp and strncmp.
3021
3022 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
3023
3024         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
3025         prototype.  Clean up some whitespace.
3026         * config/darwin.c: Use gen_rtx_FOO (...) rather than
3027         gen_rtx (FOO, ...).
3028         (machopic_non_lazy_ptr_name): Make static.
3029         (name_needs_quotes): Allow '.' and '$' unquoted.
3030         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
3031         case.
3032
3033 2003-10-15  Gábor Lóki  <alga@rgai.hu>
3034
3035         * fold-const.c (tree_swap_operands_p): Disable some features
3036         when optimizing for size.
3037
3038 2003-10-15  David Daney  <ddaney@avtrex.com>
3039
3040         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
3041         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
3042         from leaf functions.
3043         (DWARF_FRAME_RETURN_COLUMN): Ditto.
3044         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
3045         by MD_FALLBACK_FRAME_STATE_FOR.
3046         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
3047
3048 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
3049
3050         * genmodes.c: Include hashtab.h.
3051         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
3052         (adj_bytesize, adj_alignment, adj_format, new_adjust)
3053         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
3054         (print_maybe_const_decl, emit_mode_adjustments): New.
3055         (known_modes): Rename to modes.
3056         (find_mode): Kill class argument; look up in hash table.
3057         (new_mode): Insert into hash table also.
3058         (new_adjust): New.
3059         (reset_float_format, make_partial_integer_mode)
3060         (make_vector_mode): Tweak error reporting.
3061         (reset_float_format): Correct type of fourth argument.
3062         (emit_insn_modes_h): Add #defines to help make mode_size,
3063         mode_base_align, and real_format_for_mode conditionally const.
3064         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
3065         (emit_real_format_for_mode): Likewise, but temporarily disabled.
3066         (emit_insn_modes_c): Call emit_mode_adjustments.
3067         (main): Initialize modes_by_name.
3068         * Makefile.in: Update dependencies.
3069         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
3070         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
3071         declarations of mode_size and mode_base_align.  Declare
3072         init_adjust_machine_modes.
3073         * toplev.c (backend_init): Call init_adjust_machine_modes.
3074
3075 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
3076
3077         * genmodes.c (calc_wider_mode): Allocate enough room for all the
3078         entries we'll possibly assign in the sort buffer.
3079
3080 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
3081
3082         * config.gcc (s390x-ibm-tpf*): New target.
3083         * doc/install.texi: Document it.
3084         * config/s390/t-tpf: New file.
3085         * config/s390/tpf.h: New file.
3086
3087 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
3088
3089         PR target/12598
3090         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
3091         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
3092         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
3093         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
3094         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
3095         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
3096         replace_equiv_address, not gen_rtx_MEM.
3097         * config/cris/cris.c (cris_mem_op): New match_operator function.
3098         (cris_notice_update_cc): Use replace_equiv_address, not
3099         gen_rtx_MEM.
3100         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
3101
3102 2003-10-15  Bernardo Innocenti <bernie@develer.com>
3103
3104         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
3105         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
3106         definitions after the other flags.
3107
3108 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
3109
3110         * c-parse.in (methoddef, methodproto): Call objc_add_method()
3111         instead of add_method().
3112         * objc/objc-act.c (objc_check_decl): Do not check for
3113         constant_string_type.
3114         (add_method): Rename to objc_add_method().
3115         (really_start_method): Call objc_add_method() instead of
3116         add_method().
3117         * objc/objc-act.h (add_method): Rename to objc_add_method().
3118
3119 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
3120
3121         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
3122         (s390_slb_comparison): Likewise.
3123         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
3124         New functions.
3125         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
3126         and s390_slb_comparison.
3127         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
3128         zSeries machines.
3129         ("*adddi3_31z", "*subdi3_31z"): New insns.
3130         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
3131         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
3132         New insns.
3133
3134 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3135
3136         * configure.in: Clean up some feedback echoes.
3137         * configure: Regenerate.
3138
3139         * aclocal.m4: Properly quote names of macros being defined.
3140
3141         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
3142
3143 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
3144
3145         * config/ia64/ia64.c (ia64_expand_call): Force function address
3146         to DImode.
3147         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
3148
3149 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
3150
3151         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
3152         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
3153         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
3154         "*divsf3_ibm"): Likewise.
3155
3156 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
3157
3158         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
3159         target_alias with target_noncanonical.
3160
3161 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
3162
3163         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
3164         and add case for machines where outgoing register parameters
3165         get stack space.
3166
3167         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
3168         register when generating indirect address.
3169
3170 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
3171
3172         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
3173         * arm.md (cbranchne_decr1): Fix bootstrap warning.
3174
3175 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3176
3177         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
3178         * fixinc/fixincl.x: Regenerate.
3179         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
3180         testcase.
3181         Fixes PR bootstrap/9330.
3182
3183 2003-10-13  Eric Christopher  <echristo@redhat.com>
3184
3185         * config/frv/frv.c (frv_adjust_field_align): Redo check for
3186         too wide bitfields.
3187         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
3188         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
3189         (SBSS_SECTION_ASM_OP): Remove.
3190         (EXTRA_SECTIONS): Remove in_sbss.
3191         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
3192         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
3193         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
3194         named_section.
3195
3196 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3197
3198         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
3199         uses of ${target_alias} for directory names (and other places which
3200         won't like the empty string) with ${target_noncanonical}.  Introduce
3201         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
3202         available.
3203         * configure: Regenerate.
3204
3205 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
3206
3207         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
3208         * config/arm/arm.md: For splits which rely on conditional moves,
3209         remove ! TARGET_IWMMXT condition.
3210
3211 2003-10-13  David S. Miller  <davem@redhat.com>
3212
3213         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
3214         (find_cond_trap): Always increment if we emit a conditional
3215         trap insn.
3216
3217 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
3218
3219         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
3220         with min-insn-modes.o.
3221         (STAGESTUFF): Add min-insn-modes.c.
3222         (genobjs): Add genmodes.o.
3223         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
3224         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
3225         (min-insn-modes.c, min-insn-modes.o): New rules.
3226         (s-modes): Also generate min-insn-modes.c.
3227         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
3228         * genmodes.c (struct mode_data): Add format field.
3229         (blank_mode, validate_mode, complete_mode): Update to match.
3230         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
3231         (_SCALAR_MODE): Kill.
3232         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
3233         (emit_insn_modes_c_header): Adjust.
3234         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
3235         (emit_min_insn_modes_c): New functions.
3236         (emit_insn_modes_c): Call emit_real_format_for_mode.
3237         (main): Add -m option to generate min-insn-modes.c.
3238         * machmode.h: Update documentation.  Add format argument to
3239         all uses of FLOAT_MODE.
3240         * real.c: Don't define real_format_for_mode here.
3241
3242         * dwarfout.c: Move default definition of PRINT_REG...
3243         * defaults.h: ...here.
3244         * print-rtl.c: Include tm_p.h.
3245         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
3246         Kill.
3247         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
3248         this entire block with #ifndef GENERATOR_FILE.
3249         * regclass.c: Unconditionally define reg_names.
3250         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
3251         Don't define DEBUG_REGISTER_NAMES.
3252         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
3253         redefinition of REGISTER_NAMES.
3254         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
3255
3256         * combine.c: Change all preprocessor conditionals on
3257         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
3258         for clarity.
3259         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
3260         * configure.in: Don't define EXTRA_CC_MODES.
3261         * configure, config.in: Regenerate.
3262         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
3263
3264         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
3265         May assume that GET_MODE_CLASS is accurate for extra CC modes
3266         at all times.
3267
3268         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
3269         number of arguments to aggregate_value_p.
3270
3271         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
3272         * machmode.def: Explain ARCH-modes.def.  Document
3273         RESET_FLOAT_FORMAT.  Improve commentary on various mode
3274         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
3275         XF, or TF modes here.  Remove backward-compatibility
3276         definition of CC.
3277
3278         * config/alpha/alpha-modes.def: New file; define TF mode.
3279         * config/arc/arm-modes.def: Define XF mode.
3280         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
3281         float format for SF and DF modes.
3282         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
3283         * config/i386/i386-modes.def: Define XF and TF modes.
3284         * config/i960/i960-modes.def: Define TF mode.
3285         * config/ia64/ia64-modes.def: Define TF and OI modes.
3286         * config/m68k/m68k-modes.def: New file; define XF mode.
3287         * config/mips/mips-modes.def: New file; define TF mode, reset
3288         formats for SF and DF modes.
3289         * config/pa/pa-modes.def: Define TF mode.
3290         * config/rs6000/rs6000.c: Define TF and PSI modes.
3291         * config/s390/s390-modes.def: Define OI mode.
3292         * config/sh/sh-modes.def: New file; define PSI mode.
3293         * config/sparc/sparc-modes.def: Define TF mode.
3294         * config/vax/vax-modes.def: New file; reset formats for SF and
3295         DF modes.
3296
3297         * config/c4x/c4x.c (c4x_override_options): No need to mess
3298         with real_format_for_mode or set REAL_MODE_FORMATs.
3299         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
3300         variable.
3301         * config/i386/i386.c (override_options): No need to set
3302         REAL_MODE_FORMATs here.
3303         * config/i960/i960.c (i960_initialize): Likewise.
3304         * config/m68k/m68k.c (m68k_override_options): Likewise.
3305         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
3306         for TFmode only if not the default.
3307         * config/mips/mips.c (override_options): Likewise.
3308         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
3309         DFmode only if not the default.
3310
3311         * config/i370/i370.h (RET_REG): Don't consider TFmode.
3312         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
3313         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
3314         of modes that don't appear anywhere in the machine description.
3315
3316         * config/arc/arc-modes.def, config/arm/arm-modes.def
3317         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
3318         * config/i386/i386-modes.def, config/i960/i960-modes.def
3319         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
3320         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
3321         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
3322         * config/sparc/sparc-modes.def: Convert to new style for
3323         declaring extra CC modes.
3324
3325 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
3326
3327         * cpplex.c (_cpp_clean_line): In the common case of a line
3328         with no trigraphs and no \-newline, avoid writing to memory.
3329         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
3330         of the buffer member.  Make c an uchar to avoid unnecessary
3331         sign extensions.
3332
3333 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3334
3335         * configure.in: Remove unnecessary test.
3336         * configure: Regenerate.
3337
3338         * configure.in: Fix grammatical error.  Move UWIN host error to...
3339         * config.host: Here.
3340         * configure: Regenerate.
3341
3342 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
3343
3344         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
3345         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
3346         of flag_unsafe_math_optimizations.
3347         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
3348         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
3349         fused-madd and no-fused-madd.
3350         * doc/invoke.texi: Documented the new options fused-madd and
3351         no-fused-madd for S/390.
3352
3353 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
3354
3355         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
3356         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
3357         assign DEFAULT_ABI.
3358         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
3359         * config/rs6000/rs6000.c: Formatting.
3360         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
3361         when rs6000_alignment_string given.
3362
3363 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
3364
3365         PR target/12538
3366         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
3367         (sparc_flat_must_save_register_p): New function to decide whether
3368         a register must be saved/restored in the function prologue/epilogue.
3369         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
3370
3371 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3372
3373         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
3374         ISO C90 function declarations and definitions.
3375         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
3376
3377 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3378
3379         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
3380         config files which do the same thing.
3381         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
3382         config/freebsd6.h: Remove now unnecessary files.
3383
3384 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
3385
3386         * c-common.c (c_common_truthvalue_conversion): Warn if the
3387         address of a non-weak function is used as a truth value.
3388
3389 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
3390
3391         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
3392         a literal.
3393         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
3394         instead of a literal.
3395
3396 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
3397
3398         * doc/extend.texi (Function Attributes): Mention the exceptional
3399         path for noreturn-marked functions.
3400
3401 2003-10-12  Jan Hubicka  <jh@suse.cz>
3402
3403         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
3404         warning.
3405
3406 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
3407
3408         * config/i386/i386.c (x86_this_parameter): Fix typo.
3409
3410 2\1003-10-11  Jan Hubicka  <jh@suse.cz>
3411
3412         * Makefile.in (web.o): New.
3413         * web.c: New file.
3414         * rtl.h (web_main): Declare.
3415         * timervar.def (TV_WEB): New.
3416         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
3417         (rest_of_hanle_web): New.
3418         (flag_web): New static variable.
3419         (lang_independent_options): Add "web".
3420         (rest_of_compilation): Call rest_of_handle_web.
3421         * invoke.texi (-fweb): Document.
3422         * common.opt (fweb): New.
3423         * flags.h (flag_web): New.
3424         * opts.c (decode_options): Set flag_web at -O3.
3425
3426         * passes.texi (web construction):  Document.
3427         * invoke.texi (-O3): Document that -fweb is enabled.
3428
3429         * regrename.c (regrename_optimize): Deal better with situation when
3430         replacement failed.
3431
3432         * sched-ebb.c: Include params.h and profile.h
3433         (schedule_ebbs):  Use tracer parameters to discover superblocks
3434         * Makefile.in (sched-ebb.o):  Add dependencies.
3435
3436 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3437
3438         * fold-const.c (negate_mathfn_p): New function to determine whether
3439         a built-in mathematical function is sign preserving, f(-x) == -f(x).
3440         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
3441         (tree_swap_operands_p): Change API to take an additional argument
3442         indicating that the swapped operands evaluate in reverse order.
3443         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
3444         operand side-effects or we don't care about flag_evaluation_order.
3445         (reorder_operands_p): New function to check whether its safe to
3446         evaluate the given operands in reverse order.
3447         (negate_expr_p):  We can always negate integer constants unless
3448         we honor -ftrapv and the signed type would overflow.  Only allow
3449         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
3450         negation of COMPLEX_CST if both real and imaginary parts can be
3451         negated.  Allow negation through floating point extensions and
3452         sign-preserving built-in functions.
3453         (negate_expr):  Move the code to negate integers from "fold" to
3454         here.  Always negate integer constants unless we honor -ftrapv
3455         and the signed type would overflow.  Always negate real constants
3456         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
3457         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
3458         Optimize negation through floating point extensions and
3459         sign-preserving built-in functions (as defined by negate_mathfn_p).
3460         (fold): Adjust calls to tree_swap_operands_p.
3461         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
3462         to negate_expr_p/negate_expr.
3463         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
3464         allowed to convert (-A) - B into (-B) - A.
3465
3466 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3467
3468         * builtins.c (expand_builtin_strcmp): Defend against the possibility
3469         that gen_cmpstrsi may fail: Stabilize the argument list against
3470         re-evaluation and expand the library call directly using this saved
3471         argument list if a cmpstrsi sequence can't be generated.
3472         (expand_builtin_strncmp): Likewise.
3473
3474         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
3475
3476 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3477
3478         PR optimization/12260
3479         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
3480         operations through CONST nodes.  Optimize (neg (plus X C)) as
3481         (minus -C X) for constant values C.
3482         (simplify_binary_operation): Optimize (minus (neg X) C) as
3483         (minus -C X) for constant values C.
3484         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
3485         instead create (minus -C X).
3486
3487 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3488
3489         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
3490         safe_from_p for us, once it chooses an evaluation order.
3491         (expand_expr <MULT_EXPR>): Likewise.
3492         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
3493         places the second operand in "target", swap the operands.
3494         (do_store_flag): Let expand_operands call safe_from_p for us.
3495
3496 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
3497
3498         PR optimization/12544
3499         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
3500         for DECL_NONLOCAL decls.
3501
3502 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3503
3504         * expr.c: Follow spelling conventions.
3505         * final.c: Likewise.
3506         * optabs.c: Likewise.
3507         * sched-deps.c: Likewise.
3508         * sdbout.c: Likewise.
3509
3510 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
3511
3512         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
3513         re-computing of variable.
3514
3515 2003-10-11  Richard Henderson  <rth@redhat.com>
3516
3517         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
3518         return_in_memory, make static, change signature to match target hook.
3519         (alpha_setup_incoming_varargs): Make static, change signature to
3520         match target hook, add code for vms and unicos.
3521         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
3522         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
3523         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
3524         TARGET_STRICT_ARGUMENT_NAMING,
3525         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
3526         * config/alpha/alpha-protos.h: Update.
3527         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
3528         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
3529         SETUP_INCOMING_VARARGS): Remove.
3530         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
3531         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
3532
3533 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
3534
3535         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
3536
3537 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3538
3539         * config/m68k/lb1sf68.asm: Follow spelling conventions.
3540         * config/m68k/m68k.c: Likewise.
3541         * config/m68k/m68k.h: Likewise.
3542         * config/m68k/m68k.md: Likewise.
3543
3544 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3545
3546         * builtins.c (expand_builtin_memcpy): Optimize case when the two
3547         pointer arguments are the equal, non-volatile and side-effect free.
3548         (expand_builtin_mempcpy): Likewise.
3549         (expand_builtin_memmove): Likewise.
3550         (expand_builtin_strcpy): Likewise.
3551         (expand_builtin_memcmp): Likewise.
3552         (expand_builtin_strcmp): Likewise.
3553         (expand_builtin_strncmp): Likewise.
3554
3555 2003-10-11  Roger Sayle  <roger@eyesopen.com>
3556
3557         * combine.c (apply_distributive_law): Enable "distributive" floating
3558         point optimizations with -funsafe-math-optimizations.
3559
3560 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
3561
3562         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
3563
3564 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3565
3566         * config/m68k/m68k-protos.h: Remove the prototype for
3567         finalize_pic.
3568
3569 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
3570
3571         * config/m68k/m68k.c: Fix comment typos.
3572
3573 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3574
3575         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
3576         int to bool.
3577         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
3578         (current_frame): New global var.
3579         (m68k_compute_frame_layout): Cache computations in current_frame.
3580         (m68k_initial_elimination_offset): Use values from current_frame
3581         instead of recomputing them.
3582         (use_return_insn): Likewise.
3583         (m68k_output_function_prologue): Likewise.
3584         (m68k_output_function_epilogue): Likewise.
3585         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
3586         inside the block for __pic__.
3587
3588 2003-10-11  Peter Barada <peter@baradas.org>
3589             Bernardo Innocenti  <bernie@develer.com>
3590
3591         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
3592         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
3593         (m68k_interrupt_function_p): New function.
3594         (m68k_handle_fndecl_attribute): Ditto.
3595         (m68k_compute_frame_layout): Ditto.
3596         (m68k_attribute_table): Define back-end specific attributes.
3597         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
3598         functions.
3599
3600 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3601
3602         * config/m68k/t-uclinux: New target Makefile fragment.
3603         * config/m68k/uclinux.h: New target macro file.
3604         * config.gcc (m68k-*-uclinux): New target definition.
3605
3606 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3607
3608         * builtins.c (builtin_mathfn_code): Generalize to check whether
3609         the call is to any built-in function by comparing the call's
3610         argument list against the builtin decl's function type.
3611
3612 2003-10-10  Roger Sayle  <roger@eyesopen.com>
3613
3614         * cse.c (constant_pool_entries_regcost): New global variable to
3615         hold the register cost component of constant_pool_entries_cost.
3616         (fold_rtx): Calculate constant_pool_entries_regcost at the same
3617         time as constant_pool_entries_cost.
3618         (cse_insn): Set both src_folded_cost and src_folded_regcost from
3619         constant_pool_entries_cost and constant_pool_entries_regcost.
3620         (cse_main): Initialize constant_pool_entries_regcost to zero.
3621
3622         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
3623         the semantics of the sequence of bit operations used to negate
3624         a floating-point value.
3625         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
3626         the semantics of the bit operations used to abs a floating point
3627         value.
3628
3629 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
3630             Paul Dale  <pauli@snapgear.com>
3631
3632         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
3633         support.
3634         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
3635         -fpic, -fPIC, -msep-data and -mid-shared-library.
3636         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
3637         (override_options): Add -msep-data and -mshared-library-id support.
3638         (m68k_output_function_prologue): Generate code to load A5 for
3639         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
3640         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
3641         (m68k_output_pic_call): New function.
3642         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
3643         (TARGET_ID_SHARED_LIBRARY): Ditto.
3644         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
3645         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
3646         (call_value): Likewise.
3647
3648 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3649
3650         * gengenrtl.c (find_formats, genheader): Make i an unsigned
3651         int, remove cast of NUM_RTX_CODE.
3652         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
3653         entire file.  Remove the #ifs on GET_MODE_MASK etc and
3654         GET_MODE_WIDER_MODE etc.
3655
3656 2003-10-10  Eric Christopher  <echristo@redhat.com>
3657
3658         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
3659         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
3660         that set mode.
3661         * config/sh/sh.h (MODE_ENTRY): New macro.
3662         (MODE_EXIT): Ditto.
3663         (MODE_AFTER): Ditto.
3664         * config/sh/sh.md: Change for MODE_AFTER. Add
3665         fp_set attribute.
3666         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
3667
3668 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
3669
3670         * genmodes.c, mode-classes.def: New files.
3671         * machmode.def: Rewritten to genmodes.c interface.
3672         * Makefile.in (extra_modes_file): New substitution variable.
3673         (MACHMODE_H): No longer includes machmode.def or
3674         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
3675         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
3676         (OBJS-common): Add insn-modes.o.
3677         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
3678         genmodes$(build_exeext).
3679         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
3680         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
3681         (s-genrtl): Don't depend on $(RTL_BASE_H).
3682         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
3683         or $(RTL_BASE_H); just rtl.def.
3684         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
3685         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
3686         substitute definition of NUM_RTX_CODE.  Add casts to avoid
3687         warnings.
3688         * machmode.h: Include insn-modes.h, not machmode.def.  Include
3689         mode-classes.def to define enum mode_class.  Tweak definitions
3690         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
3691         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
3692         (inner_mode_array): Renamed mode_inner.
3693         (mode_base_align): New.
3694         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
3695         mode_unit_size, mode_wider_mode, mode_mask_array,
3696         inner_mode_array, class_narrowest_mode): Delete definitions.
3697         * stor-layout.c (get_mode_alignment): Use mode_base_align.
3698         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
3699         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
3700
3701         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
3702         No need to define BITS_PER_UNIT.
3703
3704 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3705
3706         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
3707         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
3708         (ia64_initialize_trampoline): If not using GAS, declare trampoline
3709         as global.
3710         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
3711         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
3712
3713         * stor-layout.c (compute_record_mode): Don't force BLKmode if
3714         field is zero-length BLKmode.
3715         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
3716         zero-size references.
3717
3718         * combine.c (distribute_links): Properly test for REG being set.
3719
3720         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
3721         gen_lowpart and company except for REG.
3722
3723 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3724
3725         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
3726
3727 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
3728
3729         * config.gcc (mips*-*-netbsd*): Remove content-free line.
3730
3731 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3732
3733         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
3734         gcov_position_t and gcov_type.
3735
3736 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
3737
3738         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
3739         * configure: Regenerate.
3740
3741 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3742
3743         * config/h8300/h8300.md (define_asm_attributes): Specify
3744         the length of an asm insn more precisely.
3745
3746 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3747
3748         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
3749
3750 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
3751
3752         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
3753         FP register number to 48 and MAC16 accumulator to 0x210.
3754
3755 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3756
3757         * config.gcc: Remove redundant thread_file setting clauses for
3758         various *-*-linux* targets.
3759
3760 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
3761
3762         * config/h8300/h8300.md (define_asm_attributes): New.
3763
3764 2003-10-09  Roger Sayle  <roger@eyesopen.com>
3765
3766         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
3767         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
3768
3769 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
3770
3771         * haifa-sched.c (ok_for_early_schedule): New function.
3772         (early_queue_to_ready): New function.
3773         (schedule_block): Allow early removal of insns from Q.
3774         (schedule_insn): Update INSN_TICK in case of premature
3775         issue.
3776         * common.opt (sched_stalled_insns): New flag.
3777         (sched_stalled_insns_dep): New flag.
3778         * flags.h: Same above flags.
3779         * opts.c: Same as above.
3780         * toplev.c: Same as above.
3781         * target.h (targetm.sched.is_costly_dependence): New
3782         hook.
3783         * target-def.h: Same as above.
3784         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
3785         Support new flag -msched-costly-dep.
3786         (DEFAULT_SCHED_COSTLY_DEP): Define.
3787         * config/rs6000/rs6000.c:
3788         (rs6000_is_costly_dependence): New function.
3789         (is_load_insn, is_store_insn): New functions.
3790         (is_load_insn1, is_store_insn1, is_mem_ref): New
3791         functions.
3792         * doc/invoke.texi (-fsched-stalled-insns-dep)
3793         (-fsched-stalled-insns, -msched-costly-dep): Document
3794         options.
3795         * doc/tm.texi (is_costly_dependence): Define new
3796         scheduler target hook.
3797
3798 2003-10-09  Jason Merrill  <jason@redhat.com>
3799
3800         PR c++/6392
3801         * c-common.c (c_build_qualified_type): Look through arrays first.
3802         (c_apply_type_quals_to_decl): Look through arrays.
3803
3804         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
3805         types with constructors.
3806
3807         * coverage.c (build_ctr_info_value): Use build_decl to make a
3808         VAR_DECL.
3809         (create_coverage): Likewise.
3810
3811         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
3812         here.
3813         (expand_asm_operands): Not here.
3814         (parse_input_constraint): No longer static.
3815         * tree.h: Declare it.
3816
3817 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3818
3819         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
3820         libgcc_s.so.
3821         (SHLIB_INSTALL): Likewise.
3822
3823 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3824
3825         * doc/install.texi: Remove reference to removed 'pthreads' thread
3826         option.
3827
3828 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
3829
3830         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
3831         operand 2.
3832
3833 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3834
3835         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
3836         up related case statements.
3837         * configure.in: Don't accept --enable-threads=pthreads,
3838         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
3839         supported thread files in case clause.
3840         * configure: Regenerate.
3841
3842 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
3843
3844         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
3845         definition to above SPARC_STACK_BOUNDARY_HACK.
3846
3847 2003-10-08  Jason Merrill  <jason@redhat.com>
3848
3849         * c-pretty-print.c (pp_c_postfix_expression)
3850         <COMPOUND_LITERAL_EXPR>: Fix thinko.
3851
3852 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3853
3854         * mklibgcc.in: Don't hide undefined or typeless symbols.
3855
3856 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3857
3858         PR optimization/12142
3859         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
3860         uses of the register in the SET_SRC.  Remove unnecessary argument.
3861         * pa.c (legitimize_pic_address): Before reload, use a scratch register
3862         for the intermediate result in loading the address of a SYMBOL_REF.
3863         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
3864         which loads the SYMBOL_REF address.
3865
3866 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
3867             Eric Botcazou  <ebotcazou@libertysurf.fr>
3868
3869         PR bootstrap/12490
3870         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
3871         to define the size of the extern_C_braces array.  Set it to 200.
3872         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
3873
3874 2003-10-08  Carlo Wood  <carlo@alinoe.com>
3875
3876         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
3877         a space after the -o option.  flex 2.5.31 understands both, with
3878         and without the space. Removed that space.
3879
3880 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
3881
3882         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
3883         (compute_frame_size): Initialize it.  Remove the .cprestore slot
3884         from args_size.
3885         (mips_output_function_prologue): Simplify accordingly.
3886         (mips_debugger_offset): Change the mips16 frame pointer offset from
3887         current_function_outgoing_args to cfun->machine->frame.args_size.
3888         (mips_initial_elimination_offset): Likewise.
3889         (mips_expand_prologue): Likewise.
3890         (mips_expand_epilogue): Likewise.
3891
3892 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
3893
3894         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
3895         (EXTRA_MEMORY_CONSTRAINT): Define.
3896         (CAN_ELIMINATE): Remove lwu workaround.
3897         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
3898         Use a 'W' constraint for the source operand.
3899
3900 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
3901
3902         * genopinit.c (main): Output code to declare undefined
3903         variables.
3904
3905 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
3906
3907         * gengtype-lex.l: Remove -Wtraditional cruft.
3908         * Makefile.in (gengtype-lex.c): Likewise.
3909
3910 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3911
3912         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
3913
3914 2003-10-07  Jason Merrill  <jason@redhat.com>
3915
3916         PR c++/12519
3917         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
3918         it isn't a decl.
3919
3920 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
3921
3922         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
3923         not overridden.
3924         Fixes PR bootstrap/12173.
3925
3926 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
3927
3928         * errors.c: Don't include coretypes.h or tm.h.
3929         (trim_filename): Use IS_DIR_SEPARATOR.
3930         * Makefile.in: Update dependencies of errors.o and
3931         $(BUILD_PREFIX_1)errors.o.
3932
3933 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
3934
3935         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
3936         account when aligning arguments.
3937         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
3938         * defaults.h (STACK_POINTER_OFFSET): ... to here.
3939         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
3940         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
3941         (SPARC_STACK_BOUNDARY_HACK): Define.
3942         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
3943         arrange for vector parameters to varargs functions to be passed
3944         in both memory and GPRs when appropriate.
3945         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
3946         aligned.
3947
3948         * hooks.c (hook_bool_tree_true): New.
3949         (hook_rtx_tree_int_null): New.
3950         (hook_rtx_rtx_null): Use NULL, not 0.
3951         * hooks.h: Add 'extern' to everything.
3952         (hook_bool_tree_true): New.
3953         (hook_rtx_tree_int_null): New.
3954         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
3955         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
3956         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
3957         prototype.
3958         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
3959         (setup_incoming_varargs): Prototype.
3960         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
3961         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
3962         (TARGET_STRUCT_VALUE_RTX): Define.
3963         (TARGET_RETURN_IN_MEMORY): Define.
3964         (TARGET_SETUP_INCOMING_VARARGS): Define.
3965         (TARGET_STRICT_ARGUMENT_NAMING): Define.
3966         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
3967         (init_cumulative_args): Use rs6000_return_in_memory.
3968         (setup_incoming_varargs): Make 'static'.
3969         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
3970         (PROMOTE_FUNCTION_RETURN): Delete.
3971         (STRUCT_VALUE): Delete.
3972         (RETURN_IN_MEMORY): Delete.
3973         (SETUP_INCOMING_VARARGS): Delete.
3974
3975 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
3976
3977         * doc/invoke.texi (Warning Options): Simplify and clarify the
3978         descriptions of -Wnonnull and -Winit-self.
3979
3980 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
3981
3982         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
3983         indicees for floating-point conversersion libcalls.
3984
3985 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
3986
3987         * Makefile.in: Add more comments separating large conceptually
3988         separate sections.
3989
3990         * configure.in: Clean up thread file logic.
3991         * configure: Regenerate.
3992
3993 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
3994
3995         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
3996         (switch_to_section): Handle in_readonly_data.
3997         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
3998         readonly data.
3999
4000 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
4001
4002         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
4003         it.
4004         (cbranchne_decr1): New Thumb pattern.
4005         * arm.c (arm_addimm_operand): New insn predicate.
4006         * arm-protos.h: Add a prototype for it.
4007         * arm.h (PREDICATE_CODES): Add it.
4008
4009 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
4010
4011         * sched-int.h (sched_info): New field
4012         sched_max_insns_priority.
4013         * sched-rgn.c (init_ready_list): Add invocations to
4014         targetm.sched.adjust_priority.
4015         (sched_max_insns_priority): Init new field.
4016         * sched-ebb.c (sched_max_insns_priority): Init new field.
4017         * haifa-sched.c (set_priorities): Set
4018         sched_info->sched_max_insns_priority.
4019         * config/rs6000/rs6000.h:
4020         (rs6000_sched_restricted_insns_priority_str): Support new
4021         flag -mprioritize-restricted-insns.
4022         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
4023         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
4024         function.
4025         (rs6000_adjust_priority): Change priority of restricted
4026         insns, using above new function and new flag.
4027         * doc/invoke.texi (-mprioritize-restricted-insns): Document
4028         new option.
4029
4030 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
4031
4032         * expr.c (cmpstr_optab, cmpmem_optab): New.
4033         * genopinit.c: Initialize them.
4034         * optabs.h: Declare them.
4035         * optabs.c (init_optabs): Clear them.
4036         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
4037         block memory compare insns, not conditional chains.  Restructure
4038         the fallback generation of a call to memcmp/bcmp for better
4039         readability.
4040
4041 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
4042
4043         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
4044         (mips_save_restore_fn): New typedef.
4045         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
4046         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
4047         (save_restore_insns): Remove, replacing with...
4048         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
4049         (mips_save_reg, mips_restore_reg): New function.
4050         (mips_expand_prologue, mips_expand_epilogue): Rework.
4051         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
4052         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
4053         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
4054
4055 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
4056
4057         * config/mips/mips.c (mips_expand_prologue): Remove unused
4058         traversal of function arguments.
4059
4060 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
4061
4062         * doc/invoke.texi: Remove documentation of -mentry.
4063         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
4064         (override_options, mips_save_reg_p): Remove handling.
4065         (compute_frame_size, mips_output_function_prologue): Likewise.
4066         (mips_expand_prologue, mips_expand_epilogue): Likewise.
4067         * config/mips/mips.h (mips_entry_string): Remove declaration.
4068         (TARGET_OPTIONS): Remove -mentry.
4069         * config/mips/mips16.S: Remove mention of -mentry.
4070
4071 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
4072
4073         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
4074         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
4075         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
4076         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
4077         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
4078         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
4079         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
4080         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
4081         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
4082         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
4083         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
4084         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
4085         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
4086         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
4087         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
4088         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
4089         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
4090         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
4091         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
4092         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
4093         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
4094         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
4095         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
4096         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
4097         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
4098         (fixunstfti_libfunc): Delete.
4099         * optabs.h (struct optab_handlers): Break out of struct optab.
4100         (struct convert_optab, convert_optab, enum convert_optab_index,
4101         convert_optab_table, sext_optab, zext_optab, trunc_optab,
4102         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
4103         sfloat_optab, ufloat_optab): New.
4104         (set_conv_libfunc): Prototype.
4105         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
4106         (trunc_optab): Renamed btrunc_optab.
4107         * builtins.c (expand_builtin_mathfn): Update to match.
4108         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
4109         (convert_optab_table, new_convert_optab, init_convert_optab)
4110         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
4111         (set_conv_libfunc): New.
4112         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
4113         (expand_float, expand_fix): Use new conversion optabs,
4114         not old insn code tables or long chains of ifs.
4115         (init_optabs): No need to clear old insn code tables.
4116         Initialize the new optabs, not the old libfunc array entries.
4117         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
4118         * genopinit.c: Initialize conversion optabs, not the
4119         former insn code tables.  Remove unnecessary casts.
4120         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
4121         * expr.c (convert_move): Remove redundant check that
4122         to_real==from_real.  Use the conversion optabs instead
4123         of long chains of tests of modes.  Move partial-integer-mode
4124         interconversion above all integer conversion.  Do not recurse
4125         on a value forced into a register in the original mode.
4126
4127         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
4128         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
4129         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
4130         in new conversion optabs; do not reference the old libfunc
4131         array entries.  No need to include libfuncs.h.
4132
4133 2003-10-06  Roger Sayle  <roger@eyesopen.com>
4134
4135         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
4136         point comparison sequence with a REG_EQUAL note that describes
4137         the comparison's semantics.
4138
4139 2003-10-06  Roger Sayle  <roger@eyesopen.com>
4140
4141         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
4142         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
4143
4144 2003-10-06  Roger Sayle  <roger@eyesopen.com>
4145             Zack Weinberg  <zack@codesourcery.com>
4146
4147         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
4148         instruction by using LCT_CONST and then calling emit_libcall_block
4149         ourselves.
4150
4151 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4152
4153         PR optimization/11974
4154         * optabs.c (expand_unop): Promote libcall outmode according to
4155         hard_libcall_value.
4156
4157 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
4158
4159         * real.h (REAL_MODE_FORMAT): New macro.
4160         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
4161         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
4162         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
4163         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
4164         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
4165         directly to real_format_for_mode array, wherever possible.
4166
4167 2003-10-06  Devang Patel  <dpatel@apple.com>
4168
4169         * dwarf2out.c (is_main_source): Remove variable.
4170         (dwarf2out_start_source_file): Do not check is_main_source.
4171         Do not reset is_main_source.
4172         (dwarf2out_init): Do not initialize is_main_source.
4173
4174 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4175
4176         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
4177         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
4178         introduced some multi-line prototypes.
4179         * fixinc/fixincl.x: Regenerate.
4180
4181 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
4182
4183         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
4184         * config/mips/mips.c (stack_operand): New predicate.
4185         * config/mips/mips.md: Use it for the destination of mips16 insns
4186         that store $31.
4187
4188 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
4189
4190         * config/mips/mips.md (*lowsi): Renamed from lowsi.
4191         (*lowdi): Likewise lowdi.
4192         (*lowsi_mips16, *lowdi_mips16): New patterns.
4193         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
4194         mips16 CONSTANT_RELOC handling.
4195         (mips_delegitimize_address): Adjust for new sdata representation.
4196
4197 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
4198
4199         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
4200         skip any remaining register arguments.
4201
4202 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
4203
4204         * reload.c (find_reloads_subreg_address): Use correct offset for
4205         paradoxical MEM subregs on big-endian targets.
4206
4207 2003-10-06  Andrew Haley  <aph@redhat.com>
4208
4209         * tree.c (get_callee_fndecl): Call
4210         lang_hooks.lang_get_callee_fndecl.
4211         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
4212         (lhd_get_callee_fndecl): New.
4213
4214 2003-10-06  Andrew Pinski  <apinski@apple.com>
4215
4216         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
4217         error in calculating the length of the string.
4218         (machopic_stub_name): Likewise.
4219
4220 2003-10-06  Roger Sayle  <roger@eyesopen.com>
4221
4222         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
4223         describing the return value of the comparison libcall to the
4224         REG_RETVAL instruction of the emitted sequence.
4225
4226 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4227
4228         PR optimization/12215
4229         * cse.c (cse_set_around_loop): Emit the move at the beginning
4230         of the next basic block for trapping sets.
4231
4232 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4233
4234         PR optimization/11637
4235         * combine.c (adjust_for_new_dest): New function to adjust the
4236         notes and LOG_LINKS when the dest of an insn has changed.
4237         (try_combine): Use it when deleting the first insn of a two-insn
4238         parallel or splitting a two-load parallel.
4239
4240 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
4241
4242         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
4243         if TARGET_EXPLICIT_RELOCS.
4244
4245 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
4246
4247         PR bootstrap/12512
4248         * Makefile.in (info): Use double-colon rules.
4249         (dvi): Likewise.
4250         (generated-manpages): Likewise.
4251         * configure.in: Do not create lang.info, lang.dvi, or
4252         lang.generated-manpages hooks.
4253         * configure: Regenerated.
4254         * objc/Make-lang.in (objc.info): Remove.
4255         (objc.dvi): Remove.
4256         (objc.generated-manpages): Remove.
4257         * doc/sourcebuild.texi: Update description of info, dvi, and
4258         generated-manpages hooks.
4259
4260 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
4261
4262         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
4263
4264 2003-10-05  Andrew Pinski  <apinski@apple.com>
4265
4266         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
4267         errors in memcpy destinations.
4268         (machopic_stub_name): Likewise.
4269
4270 2003-10-05  Andrew Pinski <apinski@apple.com>
4271
4272         * config/darwin.c (machopic_non_lazy_ptr_name):
4273         Change strcat to memcpy and add length together.
4274         (machopic_stub_name): Likewise.
4275
4276 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
4277
4278         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
4279         signal trampoline codes.
4280
4281 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
4282
4283         * config/mips/mips.md (*divsf3): Move description of
4284         SB-1 F2 erratum from here to...
4285         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
4286         flag_unsafe_math_optimizations is not.
4287
4288 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
4289
4290         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
4291         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
4292
4293 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
4294
4295         * c-pretty-print.c: Fix comment typos.
4296         * c-pretty-print.h: Likewise.
4297         * calls.c: Likewise.
4298         * cfgloopmanip.c: Likewise.
4299         * cgraphunit.c: Likewise.
4300         * cppfiles.c: Likewise.
4301         * final.c: Likewise.
4302         * function.c: Likewise.
4303         * gcov-io.h: Likewise.
4304         * gcse.c: Likewise.
4305         * genoutput.c: Likewise.
4306         * loop.c: Likewise.
4307         * postreload.c: Likewise.
4308         * reg-stack.c: Likewise.
4309         * regmove.c: Likewise.
4310         * sched-int.h: Likewise.
4311         * sched-rgn.c: Likewise.
4312         * simplify-rtx.c: Likewise.
4313         * tree-inline.c: Likewise.
4314         * config/m68hc11/m68hc11.h: Likewise.
4315         * config/mmix/mmix.c: Likewise.
4316         * config/mn10300/mn10300.md: Likewise.
4317         * config/sh/sh.h: Likewise.
4318
4319 2003-10-05  Richard Henderson  <rth@redhat.com>
4320
4321         * tree-inline.c (remap_type): New.
4322         (remap_decl): Use it.  Remap DECL_SIZE*.
4323         (copy_body_r): Use it.
4324         (walk_tree): Walk TREE_TYPE too.
4325         (copy_tree_r): Don't walk subtrees of types.
4326         * tree.c (variably_modified_type_p): Restructure.  Consider integer
4327         types with non-const bounds variably modified.
4328
4329 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
4330
4331         * doc/invoke.texi: Fix typos.
4332
4333 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
4334
4335         * fold-const.c: Follow spelling conventions.
4336         * function.c: Likewise.
4337         * config/c4x/c4x.h: Likewise.
4338         * config/c4x/c4x.md: Likewise.
4339         * config/frv/frv.md: Likewise.
4340         * config/rs6000/aix.h: Likewise.
4341         * config/rs6000/linux64.h: Likewise.
4342         * config/xtensa/xtensa.c: Likewise.
4343
4344 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
4345
4346         * c-pretty-print.c: Fix comment formatting.
4347         * cfglayout.c: Likewise.
4348         * cfgloopanal.c: Likewise.
4349         * cppcharset.c: Likewise.
4350         * dbxout.c: Likewise.
4351         * ggc-page.c: Likewise.
4352         * ggc.h: Likewise.
4353         * target.h: Likewise.
4354
4355 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
4356
4357         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
4358
4359 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
4360
4361         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
4362         Convert to ISO C90 function declarations and definitions.
4363
4364 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
4365
4366         * libfuncs.h
4367         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
4368         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
4369         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
4370         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
4371         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
4372         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
4373         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
4374         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
4375         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
4376         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
4377         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
4378         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
4379         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
4380         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
4381         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
4382         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
4383         Delete.
4384         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
4385         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
4386         (le_optab, unord_optab): New.
4387
4388         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
4389         from the code_to_optab table, not a giant switch; use
4390         swap_condition; do widening only if a comparison function that
4391         we can call exists in a wider mode, not if a cmp_optab insn or
4392         libfunc exists in a wider mode; call protect_from_queue
4393         exactly once on each operand.
4394         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
4395
4396         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
4397         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
4398         Set floating point comparison libfuncs using set_optab_libfunc
4399         on the appropriate optab.
4400
4401         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
4402         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
4403         selector conditionals.
4404
4405 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
4406
4407         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
4408         identical to m68hc12 as far as libraries are concerned.
4409
4410 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4411
4412         PR c/12446
4413         * c-typeck.c (convert_for_assignment): Issue an error for
4414         array to pointer assignment after default conversion.
4415         (digest_init): Likewise.
4416
4417 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
4418
4419         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
4420
4421 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
4422
4423         * doc/extend.texi (Function Attributes): Fix title of GNU C
4424         Preprocessor manual.
4425         (C++ Extensions): Fix reference to "Predefined Macros" in the
4426         GNU C Preprocessor manual.
4427
4428 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
4429
4430         * doc/extend.texi: Document how GCC estimates and relies on the size
4431         of an asm.
4432
4433 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
4434
4435         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
4436         arguments downward for big-endian o64.
4437
4438 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
4439
4440         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
4441         PCH generation, avoiding too-frequent flushes when writing to NFS
4442         file system.
4443
4444 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
4445
4446         * objc/objc-act.c (lookup_category): Mark as 'inline'.
4447
4448 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
4449             Ziemowit Laski  <zlaski@apple.com>
4450
4451         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
4452         New functions.
4453         (lookup_method_in_hash_lists): New parameter indicating whether
4454         we are messaging 'Class' or 'id'.
4455         (check_duplicates): Likewise; do not assume all methods will
4456         be either class or instance methods.
4457         (generate_category, finish_class): Use lookup_category().
4458         (add_method): Use add_method_to_hash_list(); insert instance
4459         methods of root classes into the global class method hash table.
4460         (add_category): Use lookup_category(); avoid constructing
4461         duplicate categories.
4462         (really_start_method): Add method to corresponding @interface,
4463         if not already there (and if the @interface exists).
4464         (finish_message_expr, finish_objc): Adjust calls to
4465         check_duplicates().
4466
4467 2003-10-03  Roger Sayle  <roger@eyesopen.com>
4468
4469         PR optimization/9325, PR java/6391
4470         * fold-const.c (fold_convert): For floating point to integer
4471         conversions, return the maximum/minimum representable integer
4472         value if the real constant overflows the destination type.
4473         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
4474         meaning don't truncate the result to a floating point mode.
4475         Simplify the logic by calling real_from_integer directly.
4476         * simplify-rtx.c (simplify_unary_operation):  Implement the
4477         same semantics for folding floating point to integer conversions
4478         in RTL.
4479
4480 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
4481
4482         * config/mips/mips.c (mips_emit_prefetch): Restructure
4483         to avoid use of arrays, handle indexed prefetch.
4484         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
4485         (ISA_HAS_PREFETCHX): New deffine.
4486         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
4487         update comments.
4488         (prefetch_indexed_di, prefetch_indexed_si): New insns.
4489
4490 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
4491             Roger Sayle  <roger@eyesopen.com>
4492
4493         PR optimization/12289
4494         * calls.c (emit_call_1): Pretend to have popped the arguments
4495         to noreturn and longjmp functions instead of ignoring them.
4496         (expand_call): Don't adjust stack_pointer_dela while
4497         inhibit_defer_pop is set.
4498
4499 2003-10-03  Andreas Schwab  <schwab@suse.de>
4500
4501         PR bootstrap/12276
4502         * configure.in: Check for libunwind on the host only if building
4503         a native compiler.
4504         * configure: Regenerated.
4505
4506 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
4507
4508         * unwind-pe.h (read_encoded_value_with_base): Constify u and
4509         its inizialization cast.
4510
4511 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
4512
4513         PR target/12485
4514         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
4515
4516 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
4517
4518         PR optimization/12180
4519         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
4520         functions containing calls to __builtin_next_arg.
4521
4522 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
4523
4524         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
4525         in instructions being output.
4526         * config/mips/mips.md (prefetch_si_address): Change third
4527         operand's constraint letter to 'I'.
4528         (prefetch_di_address): Likewise.
4529         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
4530
4531 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
4532
4533         * system.h: Poison macros obsoleted by earlier patch.
4534         * config/cris/cris.c: C90-ify a function definition.
4535
4536 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4537
4538         PR/12292
4539         * combine.c (make_field_assignment): Check whether rtx's code
4540         is CONST_INT before using INTVAL.
4541
4542 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4543
4544         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
4545         htab_find_slot_with_hash.
4546         (cgraph_node_for_identifier): Use NO_INSERT.
4547         (cgraph_remove_node): Use NO_INSERT.
4548         (cgraph_varpool_node): Use INSERT.
4549         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
4550
4551 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
4552
4553         Waldek Hebisch <hebisch@math.uni.wroc.pl>
4554         PR/12072
4555         * varasm.c (compare_constant): Fix thinko.
4556
4557 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
4558
4559         * config/frv/frv.c (frv_issue_rate): New function.
4560         (frv_pack_insns): Use it.
4561         (TARGET_SCHED_ISSUE_RATE): Define.
4562
4563 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
4564
4565         * config/mcore/mcore.c: Convert to ISO C90 function declarations
4566         and definitions.
4567         * config/mcore/mcore.h: Likewise.
4568         * config/mcore/mcore-protos.h: Likewise.
4569
4570 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
4571
4572         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
4573         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
4574
4575 2003-10-01  Per Bothner  <pbothner@apple.com>
4576
4577         * c-lex.c (src_line):   Remove unneeded static variable.
4578         (cb_line_change):  Set input_line directly, instead of src_line.
4579         (get_non_padding_token):  We no longer need to compensate for the
4580         "horrible things" the C++ front-end does with the current line number,
4581
4582         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
4583         callback even when popping the main file.
4584         * c-lex.c (fe_file_change):  Handle a NULL new_map.
4585         * fix-header.c (cb_file_change):  Likewise.
4586         * c-ppoutput.c (pp_file_change):  Likewise.
4587
4588         * cppinit.c (cpp_read_main_file):  Split into two functions:
4589         Distribute _cpp_stack_file call over the two functions.
4590         (cpp_find_main_file):  New function.
4591         Don't call _cpp_do_file_change even if working_directory flag set.
4592         (cpp_push_main_file):  New function.
4593         * cppfiles.c (_cpp_find_failed):  New helper function.
4594         (find_file):  Made non-static and renamed to _cpp_find_file.
4595         (_cpp_stack_file):  No longer needed.  But note the following.
4596         (stack_file):  Made non-static and renamed to _cpp_stack_file.
4597         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
4598         call with calls to cpp_find_main_file and cpp_push_main_file.
4599         (search_path_head):  If there is no current buffer, use main_file.
4600         * cpphash.h:  Update function declarations.
4601         * cpplib.h:  Update function declarations.
4602
4603         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
4604         (c_common_parse_file):  No longer need to call cpp_read_main_file
4605         when file_index > 0 (as in multi-file or server compiation).
4606         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
4607         as this now happens before cpp_push_main_file.
4608         (push_command_line_include):  When done with options, pass LC_LEAVE
4609         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
4610         (fe_file_change):  Handle NULL new_map, and simplify.
4611         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
4612         08-28 change, since we're never called with a NULL buffer.
4613         (_cpp_lex_direct):  Likewise.
4614         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
4615         Return false if buffer is NULL at end.
4616
4617         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
4618         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
4619         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
4620         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
4621         remove the unused return_at_eof parameter.
4622         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
4623         Update callers of cpp_push_buffer.
4624
4625 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
4626
4627         * target.h (init_libfuncs): New hook.
4628         * target-def.h: Default TARGET_INIT_BUILTINS and
4629         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
4630         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
4631         * builtins.c (default_init_builtins): Delete.
4632         * expr.h (default_init_builtins): Delete prototype.
4633         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
4634         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
4635         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
4636         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
4637         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
4638         and UMODDI3_LIBCALL,
4639
4640         * Makefile.in (optabs.o): Depends on target.h.
4641         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
4642         * optabs.c: Include target.h.
4643         (prepare_float_lib_cmp): No need for #ifdef around use of
4644         FLOAT_LIB_COMPARE_RETURNS_BOOL.
4645         (set_optab_libfunc): New function.
4646         (init_optabs): Delete use of all *_LIBCALL defines.
4647         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
4648         * optabs.h: Prototype set_optab_libfunc.
4649
4650         * config.gcc: Remove all references to pa/long_double.h,
4651         ia64/hpux_longdouble.h, and gofast.h.
4652         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
4653         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
4654
4655         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
4656         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
4657         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
4658         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
4659         * config/sparc/sparc.c, config/vax/vax.c:
4660         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
4661         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
4662
4663         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
4664         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
4665         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
4666         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
4667         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
4668         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
4669         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
4670         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
4671         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
4672
4673         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
4674         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
4675         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
4676         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
4677         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
4678
4679         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
4680         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
4681         SUN_INTEGER_MULTIPLY_64 to 0.
4682         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
4683         SUN_INTEGER_MULTIPLY_64 to 1.
4684         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
4685         SUN_INTEGER_MULTIPLY_64 to 0.
4686         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
4687         Define US_SOFTWARE_GOFAST.
4688         * config/vax/vax.h: Default TARGET_ELF to 0.
4689         * config/vax/elf.h: Redefine TARGET_ELF to 1.
4690
4691         * config/gofast.h: Don't define any macros here.  Provide one
4692         static function, gofast_maybe_init_libfuncs, which does what
4693         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
4694         is already defined.  Do not clear negation libfuncs.  Do
4695         not mess with HFmode, XFmode, or TFmode libfuncs.
4696
4697         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
4698
4699 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
4700
4701         PR C/12466
4702         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
4703
4704 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4705
4706         * config/mips/xm-iris5.h: Remove, unnecessary.
4707         * config.build (mips-sgi-irix5*): Remove.
4708         (mips-sgi-irix6*o32): Likewise.
4709         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
4710         (mips-sgi-irix5cross64): Likewise.
4711         (mips-sgi-irix5*): Likewise.
4712         * config.host (mips-sgi-irix5*): Remove.
4713         (mips-sgi-irix6*o32): Likewise.
4714
4715 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
4716
4717         * dbxout.c (dbxout_fptype_value): Delete.
4718         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
4719
4720 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
4721
4722         * output.h (compute_reloc_for_constant): Declare.
4723         * varasm.c (compute_reloc_for_constant): Extract from...
4724         (output_addressed_constants): ... here.  Adjust all callers.
4725
4726 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4727
4728         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
4729         * configure: Rebuilt.
4730
4731 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4732
4733         * fold-const.c (make_range): When handling unsigned, don't reverse
4734         range if high bound is zero.
4735
4736 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
4737
4738         * config/frv/frv.h (PREDICATE_CODES): Added
4739         condexec_si_media_operator, condexec_sf_add_operator and
4740         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
4741         and condexec_sf_unary_operator.
4742
4743 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4744
4745         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
4746         * configure: Rebuilt.
4747
4748 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4749
4750         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
4751         Allow override.
4752         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
4753
4754 2003-09-23  David S. Miller  <davem@redhat.com>
4755
4756         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
4757         before redefining.
4758         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
4759
4760 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
4761
4762         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
4763         C90 function declarations and definitions.
4764
4765 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
4766
4767         * config.gcc (cris-*-linux*): Revert mistaken commit.
4768
4769 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
4770
4771         PR optimization/11753
4772         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
4773         the length in the non-V9 case.
4774
4775 2003-09-30  Richard Henderson  <rth@redhat.com>
4776
4777         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
4778         DWARF_ALT_FRAME_RETURN_COLUMN.
4779         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
4780         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
4781         (uw_frame_state_for): Return end-of-stack for null return address.
4782         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
4783
4784         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
4785         (alpha_expand_prologue): Store a zero for it.
4786         (alpha_expand_epilogue): Don't reload it.
4787         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
4788         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
4789         for the sigframe return address.
4790
4791 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
4792
4793         * sdbout.c: Convert to ISO C90 prototypes.
4794         * objc/objc-act.c: Likewise.
4795
4796 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
4797
4798         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
4799         * config/i386/winnt.c: Likewise.
4800         * config/i386/cygming.h: Likewise.
4801
4802 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
4803
4804         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
4805         (A ^ B) - B for any B.
4806
4807 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
4808
4809         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
4810         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
4811
4812 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
4813
4814         * arm/ieee754-sf.S: Tidy formatting.
4815
4816 2003-09-30  Nicolas Pitre  <nico@cam.org>
4817
4818         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
4819         and ARM_MOD_BODY.
4820         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
4821         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
4822         added better divisor alignment in the other case.
4823         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
4824         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
4825         macros above, add fast exits for divisor >= dividend, etc.
4826
4827 2003-09-30  Nicolas Pitre  <nico@cam.org>
4828
4829         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
4830         L_fixdfsi target.
4831         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
4832
4833 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
4834
4835         * config.gcc: Default use_fixproto to 'no'.
4836
4837 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
4838
4839         PR optimization/12345
4840         * config/mips/mips-protos.h (mips_restore_gp): Remove.
4841         (mips_gp_save_slot): Declare.
4842         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
4843         (mips_gp_save_slot): ...this new function.
4844         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
4845         and mips_output_move to generate the output template.
4846         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
4847         a gp load after a noreturn call.  Load the gp using a move rather
4848         than an exception_receiver pattern.
4849         (call_value_internal, call_value_multiple_internal): Likewise.
4850         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
4851
4852 2003-09-30  Carlo Wood  <carlo@alinoe.com>
4853
4854         PR debug/12319
4855         * cfglayout.c (insn_scope):  Use prologue_locator and
4856         epilogue_locator; return the outer function scope for
4857         pro- and epilogue insns.
4858
4859 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
4860
4861         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
4862         REAL_TYPEs based on the bitsize of the type's mode, not the
4863         mode directly.
4864
4865 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4866
4867         * dwarf2out.c (default_eh_frame_section): Split into ...
4868         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
4869         functions.
4870         * output.h (named_section_eh_frame_section): Declare.
4871         (collect2_eh_frame_section): Likewise.
4872
4873 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
4874
4875         * real.c (real_sqrt): Use get_canonical_qnan directly.
4876
4877         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
4878
4879         * varasm.c (assemble_real): Use real_to_target directly,
4880         calculate the number of significant elements of the result
4881         array and write them out in a loop, instead of using a giant
4882         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
4883         macro.
4884
4885 2003-09-29  Jan Hubicka  <jh@suse.cz>
4886
4887         PR c++/12175
4888         * varasm.c (notice_global_symbol): Discard external symbols.
4889
4890         PR optimization/12286
4891         * gcov-io.c (gcov_read_words): Fix memmove call.
4892         * profile.c (compute_branch_probabilities): Add extra sanity checks.
4893
4894 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4895
4896         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
4897         Solaris 7-9.
4898
4899         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
4900         wildcards which explicitly match micro versions.
4901         * fixinc/fixincl.x: Regenerate.
4902
4903 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4904
4905         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
4906         (A ^ B) - B, where B is any power of 2 minus 1.
4907
4908 2003-09-29  Jan Hubicka  <jh@suse.cz>
4909
4910         * libgcov.c (gcov_exit): Fix two pastos.
4911
4912 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4913
4914         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
4915         define_split immediately below to form define_insn_and_split.
4916
4917 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
4918
4919         * config/h8300/h8300.md (*tstsi_variable_bit): New.
4920         (*tstsi_variable_bit_qi): Likewise.
4921
4922 2003-09-28  Phil Edwards  <phil@codesourcery.com>
4923
4924         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
4925         reference name.
4926
4927 2003-09-28  Richard Henderson  <rth@redhat.com>
4928
4929         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
4930         file and line separately.
4931
4932 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
4933
4934         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
4935         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
4936         "*subdi3_borrow_cconly"): New insns.
4937         ("*addsi3_sub", "*subsi3_sub"): Remove.
4938         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
4939         ("*subsi3_cc"): Fix op_type attribute.
4940
4941 2003-09-28  Richard Henderson  <rth@redhat.com>
4942
4943         * stmt.c (expand_asm_operands): Take a location_t, instead of
4944         individual file and line.
4945         * c-typeck.c (c_expand_asm_operands): Likewise.
4946         * tree.h (expand_asm_operands): Update decl.
4947         * c-common.h (c_expand_asm_operands): Likewise.
4948         * c-semantics (genrtl_asm_stmt): Update call.
4949
4950 2003-09-28  Philip Blundell  <philb@gnu.org>
4951
4952         * config/arm/arm.c (legitimize_pic_address): Check
4953         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
4954         (arm_assemble_integer): Likewise.
4955
4956 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
4957
4958         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
4959         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
4960         config/c4x/c4x.h:
4961         Convert to ISO C90 function declarations and definitions.
4962
4963 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
4964
4965         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
4966         Convert to ISO C90 function declarations and definitions.
4967
4968 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4969
4970         * config/mips/mips.c (mips_constant_info): Add reloc field.
4971         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
4972         underlying symbol, not to an unspec.
4973         (mips_delegitimize_address, print_operand): Clean up accordingly.
4974
4975 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4976
4977         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
4978         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
4979         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
4980         (mips_classify_constant): Use it.
4981         (mips_splittable_symbol_p): Add an offset argument.
4982         (mips_classify_address): Adjust call accordingly.
4983         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
4984         than a relocation unspec.  Update call to mips_splittable_symbol_p.
4985         Generalize the code that copes with symbols + invalid offsets.
4986         (print_operand): Allow '%R' to be applied to small data addresses.
4987         (mips_reloc_string): Remove RELOC_GPREL16.
4988         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
4989         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
4990         relocation operators.
4991         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
4992         constants accordingly.
4993
4994 2003-09-27  Roger Sayle  <roger@eyesopen.com>
4995
4996         * toplev.c (flag_evaluation_order): New global variable.
4997         * flags.h (flag_evaluation_order): Prototype here.
4998         * expr.c (expand_operands): If we need to preserve observable
4999         evaluation order, protect exp1 from clobbering exp0's result.
5000
5001 2003-09-28  Andreas Jaeger  <aj@suse.de>
5002
5003         * c-decl.c (finish_function): Convert definition to ISO C90.
5004         * ifcvt.c (mark_loop_exit_edges): Likewise.
5005         * ra-rewrite.c (emit_colors): Likewise.
5006
5007 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
5008
5009         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
5010         * config.gcc (arm*-*-uclinux*): Disable fixproto.
5011         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
5012         powerpc-*-eabialtivec*): Disable fixproto.
5013
5014 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
5015
5016         PR optimization/12340
5017         * loop.h (struct induction): Document the new semantics
5018         of the 'same' field for bivs.
5019         * unroll.c (biv_total_increment): Don't count the same
5020         biv increment several times.
5021         (loop_iterations) [GENERAL_INDUCT]: Likewise.
5022
5023 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
5024
5025         * unroll.c (loop_interations)[GT]: Add missing break.
5026
5027 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
5028
5029         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
5030         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
5031         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
5032         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
5033         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
5034         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
5035         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
5036         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
5037         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
5038         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
5039         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
5040         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
5041         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
5042         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
5043         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
5044         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
5045         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
5046         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
5047         config/alpha/xm-vms.h, config/arc/arc-modes.def,
5048         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
5049         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
5050         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
5051         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
5052         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
5053         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
5054         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
5055         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
5056         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
5057         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
5058         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
5059         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
5060         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
5061         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
5062         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
5063         config/i960/i960-c.c, config/i960/i960-coff.h,
5064         config/i960/i960-modes.def, config/i960/i960-protos.h,
5065         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
5066         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
5067         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
5068         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
5069         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
5070         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
5071         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
5072         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
5073         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
5074         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
5075         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
5076         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
5077         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
5078         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
5079         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
5080         config/mcore/mcore-protos.h, config/mcore/mcore.c,
5081         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
5082         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
5083         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
5084         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
5085         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
5086         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
5087         config/mips/vr.h, config/mn10300/linux.h,
5088         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
5089         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
5090         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
5091         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
5092         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
5093         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
5094         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
5095         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
5096         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
5097         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
5098         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
5099         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
5100         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
5101         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
5102         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
5103         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
5104         fixinc/fixinc.svr4: GNU CC -> GCC.
5105
5106 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
5107
5108         * objc/objc-act.c (tm_p.h): Tweak order.
5109         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
5110
5111 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
5112
5113         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
5114         Include t-slibgcc-elf-ver and t-linux in tmake_file.
5115         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
5116         Disable fixproto.
5117         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
5118         Disable fixproto.
5119         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
5120         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
5121
5122         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
5123
5124 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
5125
5126         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
5127         * objc/objc-act.c (tm_p.h): Include.
5128
5129 2003-09-26  Per Bothner  <pbothner@apple.com>
5130
5131         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
5132         No longer any need to reverse by recursion.
5133
5134 2003-09-26  Roger Sayle  <roger@eyesopen.com>
5135             Richard Henderson  <rth@redhat.com>
5136
5137         PR optimization/11741
5138         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
5139         appropriate set to match that in hash_scan_insn.  Fall back to
5140         the original copy method, if we can't validate changing insn.
5141         (pre_delete): Only delete instructions that have a single_set,
5142         instead of aborting when we encounter an PARALLEL insn with more
5143         then one SET.
5144
5145 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
5146
5147         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
5148         ("builtin_longjmp"): Insn deleted.
5149         ("save_stack_nonlocal"): Save literal pool base pointer behind
5150         backchain and stack pointer.
5151         ("restore_stack_nonlocal"): Restore literal pool base pointer.
5152         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
5153         the stack save area for the nonlocal goto case.
5154
5155 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5156
5157         PR bootstrap/12358
5158         * pa.c (output_bvb): Fix typo.
5159
5160 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
5161
5162         * expmed.c (store_bit_field): Don't search for an integer mode
5163         unless we need the result.
5164
5165 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
5166
5167         * expr.c (emit_move_insn_1): If there is no move pattern for the
5168         original mode, try using a pattern for the corresponding integer mode.
5169
5170 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
5171
5172         PR middle-end/9200
5173         * combine.c (if_then_else_cond): Tighten mode check.
5174
5175 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
5176
5177         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
5178         'struct _cpp_strbuf'.
5179
5180         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
5181         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
5182         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
5183         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
5184         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
5185         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
5186         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
5187         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
5188         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
5189         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
5190         * config/i386/i386-aout.h, config/i386/i386-coff.h,
5191         config/i386/i386-interix.h, config/i386/i386-interix3.h,
5192         config/i386/i386-modes.def, config/i386/i386-protos.h,
5193         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
5194         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
5195         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
5196         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
5197         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
5198         "GNU compiler" -> GCC.
5199         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
5200         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
5201         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
5202         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
5203         config/i386/freebsd-aout.h, config/i386/freebsd.h,
5204         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
5205
5206 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
5207
5208         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
5209         "local" to the callgraph dump.  Output "after inlining" earlier.
5210         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
5211         callgraph dumps.  Correct misspellings.
5212         (cgraph_decide_inlining):  Output number of insns before inlining.
5213         Output the calling function into which a function is inlined.
5214         (cgraph_decide_small_functions): Format dump file like always_inline.
5215
5216 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
5217
5218         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
5219
5220 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
5221
5222         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
5223         FPR slots in the save area.
5224         (s390_emit_epilogue): Likewise.
5225
5226 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
5227
5228         * cgraph.h (cgraph_remove_edge): Declare.
5229         * cgraph.c (cgraph_remove_edge): Make extern.
5230         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
5231         instead of cgraph_remove_call.
5232
5233 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
5234
5235         * objc/objc-act.c (gen_declaration_1): Fix printf format.
5236
5237 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
5238
5239         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
5240         arm7tdmi core.
5241
5242 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
5243
5244         * config/darwin-protos.h (objc_image_info_section):
5245         New prototype.
5246
5247 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
5248
5249         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
5250
5251 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
5252
5253         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
5254         tsc701 as a --with-cpu, --with-tune setting for sparc.
5255
5256 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
5257
5258         * c-parse.in (objc_try_stmt): Do not specify a %type.
5259
5260 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
5261
5262         * config.gcc: New 'widely ported system' clause for rtems.
5263         Set thread file there, not in individual clauses.
5264
5265 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
5266
5267         PR target/6222
5268         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
5269         passed on the stack.
5270
5271 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
5272
5273         * config.gcc (widely ported systems section): Mostly alphabetize
5274         by system.  Comment the case where we can't.
5275         * config.gcc (widely ported systems section): Reindent and clean up.
5276
5277         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
5278         Actually allow ep9312 as an arm --with-arch setting.
5279
5280         * config.gcc (*-hpux11): Disable fixproto.
5281
5282 2003-09-24  Phil Edwards  <phil@codesourcery.com>
5283
5284         PR pch/12112
5285         * gcc/cppfiles.c (pch_open_file): Return based on combined
5286         result of all files.
5287         (validate_pch): Return validate flag for current file.
5288
5289 2003-09-24  Roger Sayle  <roger@eyesopen.com>
5290
5291         PR bootstrap/12358
5292         * fold-const.c (tree_swap_operands_p): Only reorder operands when
5293         one of the operands is constant.
5294
5295 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
5296
5297         MERGE OF objc-improvements-branch into MAINLINE:
5298         * Makefile.in (C_OBJS): Add in stub-objc.o.
5299         (c-parse.y): Change sed demarcations to begin with '@@'.
5300         (stub-objc.o): New rule.
5301         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
5302         flag_replace_objc_classes): New flags.
5303         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
5304         RID_AT_SYNCHRONIZED): New keywords.
5305         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
5306         flag_replace_objc_classes): New flags.
5307         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
5308         objc_comptypes, objc_message_selector, lookup_objc_ivar,
5309         get_current_scope, objc_mark_locals_volatile): New prototypes,
5310         some moved from c-tree.h.
5311         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
5312         (finish_decl): Adjust where objc_check_decl() gets called.
5313         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
5314         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
5315         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
5316         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
5317         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
5318         '@@end_ifc', respectively.
5319         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
5320         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
5321         objc_finally_block): New rules.
5322         (component_decl_list2): Clean up semantic action for @defs construct.
5323         (component_decl, c99_block_start): Remove call to add_objc_decls().
5324         (poplevel): Add call to objc_clear_super_receiver().
5325         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
5326         constructs.
5327         (classdef, methodprotolist): Clean up/simplify.
5328         (methodprotolist2): Eliminate.
5329         (methodproto): Call add_method() instead of add_class_method() and
5330         add_instance_method().
5331         (receiver): Add TYPENAME production.
5332         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
5333         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
5334         AT_SYNCHRONIZED.
5335         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
5336         objc_comptypes, objc_message_selector)
5337         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
5338         struct and pointer types.
5339         (build_c_cast): Do not discard ObjC protocol qualifiers.
5340         (convert_for_assignment): Cache result of comp_target_types() instead
5341         of calling it more than once.
5342         * c.opt (fnext-runtime): Update description string.
5343         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
5344         New ObjC/ObjC++-specific flags.
5345         * function.h (GCC_FUNCTION_H): Header guard.
5346         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
5347         * stub-objc.c: New file, to be used to satisfy references to ObjC
5348         functions by the C and C++ front-ends.
5349         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
5350         * config/darwin.h (FUNCTION): Add in_objc_image_info.
5351         (SECTION_FUNCTION): Add objc_image_info_section.
5352         * doc/invoke.texi: Link to GCC web site for Objective-C information.
5353         (-fconstant-string-class): Update documentation.
5354         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
5355         -fzero-link): New documentation.
5356         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
5357         with '@@'.
5358         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
5359         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
5360         throughout; provide casts for return values from memory allocation
5361         functions (xmalloc, alloca, ggc_alloc, etc.).
5362         (OBJC_VOID_AT_END): New macro.
5363         (rtl.h): Do not #include any more.
5364         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
5365         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
5366         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
5367         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
5368         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
5369         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
5370         val_stack_pop): New.
5371         (objc_check_decl): Fix precondition for error message, along with
5372         the message itself.
5373         (lookup_and_install_protocols): Remove nonexistent protocols from
5374         protocol list instead of returning error_mark_node.
5375         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
5376         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
5377         (synth_module_prologue): General clean-up; construct NeXT-specific
5378         runtime API prototypes if needed.
5379         (build_string_class_template): Remove.
5380         (check_string_class_template, string_layout_checked): New.
5381         (build_objc_string_object): Generalize to work with
5382         -fconstant-string-class.
5383         (build_objc_symtab_template): Fix layout for the NeXT runtime.
5384         (build_metadata_decl): New.
5385         (forward_declare_categories): Call build_metadata_decl() instead of
5386         create_builtin_decl() et al.
5387         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
5388         void_list_node_1.
5389         (build_selector_reference_decl, build_class_reference_decl,
5390         build_objc_string_decl): Do not set TREE_READONLY.
5391         (get_proto_encoding): Do not call hack_method_prototype().
5392         (get_class_reference): Add failure mode for invalid class names;
5393         support -fzero-link; defer if in an ObjC++ template declaration.
5394         (objc_declare_alias, objc_declare_class): Fix up duplicate name
5395         lookup; check for global scope if in ObjC++.
5396         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
5397         RECORD_TYPE, IDENTIFIER_NODE, etc.)
5398         (objc_is_id): Removed.
5399         (objc_is_object_ptr): New function.
5400         (get_class_ivars_from_name): New function, used for @defs construct.
5401         (get_class_ivars): Add option to return raw ivars; create a
5402         ClASS_OWN_IVARS list for each class as needed.
5403         (objc_enter_block, objc_exit_block, objc_declare_variable,
5404         objc_build_throw_stmt, val_stack_push, val_stack_pop,
5405         objc_build_try_enter_fragment, objc_build_extract_expr,
5406         objc_build_try_exit_fragment, objc_build_extract_fragment,
5407         objc_build_try_prologue, objc_build_try_epilogue,
5408         objc_build_catch_stmt, objc_build_catch_epilogue,
5409         objc_build_finally_prologue, objc_build_finally_epilogue,
5410         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
5411         objc_build_synchronized_epilogue, build_objc_exception_stuff):
5412         New functions.
5413         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
5414         the future).
5415         (build_private_template): Fix up calls to get_class_ivars().
5416         (offset_is_register, forwarding_offset): Remove.
5417         (objc_method_parm_type, objc_encoded_type_size): New functions.
5418         (encode_method_prototype): Simplify to no longer depend on
5419         back-end information.
5420         (build_tmp_function_decl_xxx, build_tmp_function_decl,
5421         hack_method_prototype): Removed.
5422         (generate_protocol_references): Remove calls to
5423         build_tmp_function_decl().
5424         (generate_protocols): Adjust calls to encode_method_prototype().
5425         (build_class_template): Generate sel_id' and 'gc_object_type' fields
5426         for the NeXT runtime.
5427         (synth_forward_declarations): Call build_metadata_decl().
5428         (check_ivars): Check that the number of ivars matches also.
5429         (build_super_template): Modify super_type directly; disable debugging
5430         output while generating decl.
5431         (build_ivar_list_initializer): Skip list elements that are not
5432         FIELD_DECLs.
5433         (ivar_list_length): New function.
5434         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
5435         and encode_method_prototype() instead of encode_method_def().
5436         (build_shared_structure_initializer): Generate 'sel_id' field for
5437         the NeXT runtime.
5438         (generate_category): Do not set TREE_USED.
5439         (build_keyword_selector): Ditto; transform into a function argument
5440         chain.
5441         (get_arg_type_list): If there are no user-specified arguments, use
5442         '...'; use OBJC_VOID_AT_END.
5443         (check_duplicates): Add a parameter indicating whether methods or
5444         selectors are being checked.
5445         (receiver_is_class_object): Add parameters indicating whether
5446         receiver is 'self' or 'super'; robustify.
5447         (build_message_expr): Defer call to finish_message_expr() if
5448         inside an ObjC++ template.
5449         (lookup_method_in_hash_lists): New function.
5450         (finish_message_expr): Complete rewrite/fix.
5451         (build_objc_method_call): Ditto; factor out commonalities between
5452         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
5453         messenger variants on the NeXT.
5454         (lookup_instance_method_static, lookup_class_method_static):
5455         Fold into a single lookup_method_static() function with an
5456         additional parameter.
5457         (add_class_method, add_instance_method): Fold into a single
5458         add_method() function with an additional parameter.
5459         (add_category): Make duplicate categories a hard error in ObjC++.
5460         (add_instance_variable): Properly handle unnamed ivars, arrays of
5461         zero or no size and bitfields.  In ObjC++, check for nontrivial
5462         C++ class instances.
5463         (is_public): Allow C functions to access non-@public ivars, with
5464         a warning.
5465         (start_class): Move common initializations to
5466         synth_module_prologue(); check for global scope if in ObjC++.
5467         (continue_class): Fix calls to finish_struct().
5468         (objc_declare_protocols, start_protocol): Check for global scope
5469         if in ObjC++.
5470         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
5471         (encode_aggregate_within): Rewrite to properly distinguish
5472         struct tags from typedefs in both ObjC and ObjC++.
5473         (encode_bitfield, encode_complete_bitfield): Remove.
5474         (encode_next_bitfield, encode_gnu_bitfield): New functions.
5475         (encode_field_decl): Call encode_next_bitfield() or
5476         encode_gnu_bitfield() as needed.
5477         (synth_self_and_ucmd_args): New function.
5478         (start_method_def): Use it.
5479         (objc_types_are_equivalent): New function.
5480         (comp_proto_with_proto): Use it instead of comptypes(), since
5481         we need symmetry.
5482         (really_start_method): Use lookup_method_static() instead of
5483         lookup_class_method_static() and lookup_instance_method_static();
5484         Emit 'extern "C"' if in ObjC++ mode.
5485         (add_objc_decls): Removed.
5486         (UOBJC_SUPER_scope): New variable.
5487         (get_super_receiver): Move construction of 'super' from
5488         add_objc_decls(); remove dependency on struct objc_class.
5489         (encode_method_def): Removed; encode_method_prototype() is
5490         used instead.
5491         (objc_clear_super_receiver): New function.
5492         (objc_expand_function_end): Do not do anything for ordinary
5493         C functions.
5494         (finish_method_def): Mark ObjC methods as un-inlinable.
5495         (gen_declaration_1): Emit widths of bitfields.
5496         (finish_objc): Call generate_objc_image_info() if needed;
5497         use check_duplicates() when checking for selector duplicates.
5498         (generate_objc_image_info): New function.
5499         * objc/objc-act.h (add_instance_method, add_class_method,
5500         get_class_ivars): Remove prototypes.
5501         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
5502         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
5503         objc_build_catch_stmt, objc_build_catch_epilogue,
5504         objc_build_finally_prologue, objc_build_finally_epilogue,
5505         add_method, get_class_ivars_from_name): New prototypes.
5506         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
5507         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
5508         TRANSLATION_UNIT_DECLs.
5509         (OBJC_TYPE_NAME): New.
5510         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
5511         got included.
5512         (IS_SUPER): Robustify.
5513         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
5514         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
5515         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
5516         objc_exception_match_decl, objc_exception_throw_decl,
5517         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
5518         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
5519         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
5520         objc_catch_type): New ObjC/ObjC++ roots.
5521         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
5522         ObjC/ObjC++ tree node codes.
5523
5524 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
5525
5526         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
5527         code path that calls a handler.
5528
5529 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5530
5531         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
5532         Disable fixproto.
5533
5534         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
5535         the section giving $with_cpu defaults by target.
5536
5537         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
5538         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
5539         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
5540         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
5541         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
5542         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
5543
5544 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
5545
5546         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
5547         together.  Protect load string instruction with TARGET_STRING.
5548         (movti_string): Collapse case 1 and 2 together.
5549
5550 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
5551
5552         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
5553
5554 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
5555
5556         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
5557         do...while(0)
5558
5559 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5560
5561         * config.gcc: Move use_fixproto=no from generic vxworks clause to
5562         specific one.
5563
5564         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
5565         (accidentally missed in last pass).
5566
5567 2003-09-23  Andrew Pinski  <apinski@apple.com>
5568
5569         PR bootstrap/12383
5570         * configure: Regenerate.
5571
5572 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5573
5574         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
5575         missed in last pass).
5576
5577 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
5578
5579         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
5580         constant.
5581
5582 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5583
5584         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
5585
5586         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
5587         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
5588         powerpcle-*-eabi*): Disable fixproto.
5589
5590         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
5591         specific FreeBSD clauses.
5592         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
5593         specific NetBSD clauses.
5594         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
5595         to specific OpenBSD clauses.
5596
5597 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5598
5599         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
5600         without adding a frame note.
5601         * pa.md (allocate_stack): Save pic register in new frame marker when
5602         generating pic code.
5603
5604 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
5605
5606         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
5607         cgraph_expand_functions.
5608
5609 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5610
5611         * Makefile.in (gnucompare*): Merge into ...
5612         (slowcompare*): ... here.
5613         (fastcompare*): New targets.
5614         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
5615         other "fast" cmp programs.
5616         * configure: Regenerate.
5617
5618 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5619
5620         * targhooks.c: Include output.h.
5621         * Makefile.in (targhooks.o): Add output.h to dependency list.
5622
5623 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5624
5625         * config.host: Removed superfluous newline.
5626
5627 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5628
5629         * config.gcc: Use ${target}, not $machine.
5630         * configure.in: Don't set $machine.
5631         * configure: Regenerate.
5632
5633 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
5634
5635         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
5636
5637         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
5638         pass zero-size arrays by reference.
5639         (rs6000_va_arg): Likewise.
5640
5641 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5642
5643         * config.gcc: Set use_fixproto=no in each specific *-gnu*
5644         configuration, rather than the generic one.
5645
5646 2003-09-23  Richard Henderson  <rth@redhat.com>
5647
5648         * tree-inline.c (remap_save_expr): Map new save_expr to identity
5649         rather than to error_mark_node.
5650
5651 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5652
5653         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
5654         Update description.
5655         * configure: Regenerate.
5656         * config.in: Likewise.
5657         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
5658         HAVE_GAS_SHF_MERGE value.
5659         * varasm.c (mergeable_string_section): Likewise.
5660         (mergeable_constant_section): Likewise.
5661
5662 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5663
5664         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
5665         value.
5666
5667 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5668
5669         * target.h (struct gcc_target): New member external_libcall.
5670         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
5671         (TARGET_ASM_OUT): Use it.
5672         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
5673         * targhooks.c: Convert to ISO C 90.
5674         (default_external_libcall): New function.
5675         * targhooks.h (default_external_libcall): Declare.
5676         * varasm.c (assemble_external_libcall): Use
5677         targetm.asm_out.external_libcall instead of
5678         ASM_OUTPUT_EXTERNAL_LIBCALL.
5679         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
5680         (mips_output_external_libcall): Declare.
5681         * config/mips/mips.c (mips_output_external_libcall): Change
5682         definition guard.
5683         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
5684         Only operate for O32 ABI.
5685         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
5686         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
5687         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
5688         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
5689
5690 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
5691
5692         * config.gcc: Do per-target disabling of fixproto here in clauses,
5693         not in t- fragments.
5694         * configure.in: Adjust to set STMP_FIXPROTO correctly.
5695         * configure: Regenerate.
5696         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
5697         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
5698         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
5699         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
5700         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
5701         t-interix, t-linux-aout:  Delete files consisting only of
5702         setting of STMP_FIXPROTO.
5703
5704         * config.host: Allow unknown hosts (not targets).  Allow
5705         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
5706         empty clauses.  Remove useless obsolete-configuration clause.
5707         Prune unsupported configuration list.  Collapse identical
5708         clauses for closely related systems.  Rewrite comment for
5709         unsupported hosts list.  Reorganize a little.
5710
5711 2003-09-22  Richard Henderson  <rth@redhat.com>
5712
5713         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
5714         not precision.
5715
5716 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
5717             Hartmut Penner  <hpenner@de.ibm.com>
5718             Segher Boessenkool  <boessen@de.ibm.com>
5719
5720         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
5721         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
5722         (rs6000_split_altivec_in_gprs): Rename to ...
5723         (rs6000_split_multireg_move): Add support for update addressing.
5724         * config/rs6000/rs6000-protos.h: Same.
5725         * config/rs6000/altivec.md: Same.
5726         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
5727         multiple GPRs.
5728         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
5729         (movti_power): Use new splitter for multiple GPRs.
5730         (movti_string): Same.
5731         (movti_ppc64): Same.
5732
5733 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
5734
5735         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
5736         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
5737
5738 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
5739
5740         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
5741         (andsi3): Set attr cc to set_zn when using shifts or adds.
5742
5743 2003-09-22  Bernardo Innocenti <bernie@develer.com>
5744
5745         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
5746
5747 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
5748
5749         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
5750         Resurrect -mrtd option.
5751
5752 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
5753
5754         PR target/12281
5755         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
5756         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
5757
5758 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
5759
5760         PR target/9786
5761         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
5762         after potential deletion of trapping insn. Avoids later ICE
5763         from call to fixup_abnormal_edges.
5764         (convert_regs_2): Stack the current block successors before
5765         processing this block, that is, before the potential deletion of
5766         dead edges by convert_regs_1, because these edges have been used
5767         to initialize the predecessors count.
5768
5769 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
5770
5771         * real.c: Fix several nits in the head comment.
5772
5773 2003-09-21  Richard Henderson  <rth@redhat.com>
5774
5775         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
5776         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
5777         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
5778         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
5779         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
5780
5781 2003-09-21  Richard Henderson  <rth@redhat.com>
5782
5783         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
5784         (TREE_FILENAME, TREE_LINENO): Likewise.
5785         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
5786         (TREE_LOCUS_SET_P): New.
5787         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
5788         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
5789         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
5790         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
5791         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
5792
5793 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
5794
5795         * config/vax/vax-protos.h: Convert to ISO C90.
5796         * config/vax/vax.c: Convert to ISO C90.
5797
5798 2003-09-21  Graham Stott  <grahams@btinternet.com>
5799
5800        PR target/12353
5801        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
5802
5803 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
5804
5805         PR target/12301
5806         * reorg.c (stop_search_p): Return 1 for insns that can
5807         throw internally.
5808
5809 2003-09-20  Richard Henderson  <rth@redhat.com>
5810
5811         * c-format.c (gcc_diag_char_table): Add %J.
5812         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
5813         (check_format_types): Fix wanted_type name lookup.
5814         (init_dynamic_diag_info): Setup %J.
5815         * diagnostic.c (text_specifies_location): Implement %J.
5816         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
5817         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
5818         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
5819         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
5820         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
5821
5822         * tree-inline.c: Include intl.h
5823         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
5824         * Makefile.in (tree-inline.o): Update.
5825
5826 2003-09-20  Roger Sayle  <roger@eyesopen.com>
5827
5828         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
5829         transformation of a>=0 into (unsigned)a<0x80000000.
5830
5831 2003-09-20  Andrew Pinski <apinski@apple.com>
5832
5833         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
5834
5835 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
5836
5837         * Makefile.in: Don't set (unused) DLLTOOL.
5838
5839         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
5840         Remove obsolete references to ENQUIRE.
5841
5842 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5843
5844         * configure.in: Remove --with-elf, which doesn't work.
5845         * configure: Regenerate.
5846         * config.gcc: Remove references to $elf, which does nothing.
5847
5848         * config/i386/xm-vsta.h: Remove xm-file believed useless.
5849         * config.build (i386-vsta): Remove reference to it.
5850         * config.host (i386-vsta): Remove reference to it.
5851
5852 2003-09-19  Phil Edwards  <phil@codesourcery.com>
5853
5854         * doc/install.texi:  Document the multiple testsuite options.
5855
5856 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
5857
5858         * doc/install.texi (Specific): Add the specific versions of GCC
5859         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
5860         version 3 and older was discontinued.
5861
5862 2003-09-19      Joel Sherrill <joel@oarcorp.com>
5863
5864         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
5865         68881.
5866
5867 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
5868
5869         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
5870         for -m68030, -m68020-60 and -m68020-40.
5871         * config/m68k/m68k.h (TARGET_68030): New target flag.
5872         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
5873         TARGET_REGPARM): Remove.
5874         * config/m68k/m68k.h: Regroup and renumber target flags.
5875         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
5876         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
5877         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
5878         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
5879         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
5880
5881 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5882
5883         * config/m68k/t-rtems (m68k-*-rtems*): New.
5884         * config.gcc: Use config/m68k/t-rtems.
5885
5886 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
5887
5888         * config/mips/t-rtems: New.
5889         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
5890
5891 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
5892
5893         * cgraph.c: Fix typo in debugging output.
5894
5895 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
5896             Eric Botcazou <ebotcazou@libertysurf.fr>
5897
5898         PR target/12166
5899         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
5900
5901 2003-09-18  Mike Stump  <mrs@apple.com>
5902
5903         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
5904         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
5905         cb_ident, cb_def_pragma):  Use fileline typedef.
5906         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
5907
5908 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
5909
5910         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
5911         total parm size if a parm has incomplete type.
5912         (gen_fastcall_suffix): Likewise.
5913
5914 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5915
5916         * except.c (output_function_exception_table): Adjust last change
5917         to handle TYPE of INTEGER_CST.
5918
5919 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
5920
5921         PR target/11184
5922         * builtins.c (expand_builtin_apply): Use convert_memory_address
5923         before returning the value.
5924
5925         * alias.c (find_base_value): Simplify use of
5926         convert_memory_address.
5927         (find_base_term): Likewise.
5928         * builtins.c (expand_builtin_stejmp_setup): Likewise.
5929         (expand_builtin_longjmp): Likewise.
5930         (expand_builtin_prefetch): Likewise.
5931         (get_memory_rtx): Likewise.
5932         (expand_builtin_return): Likewise.
5933         (expand_builtin_memcpy): Likewise.
5934         (expand_builtin_strncpy): Likewise.
5935         (expand_builtin_memset): Likewise.
5936         (expand_builtin_va_arg): Likewise.
5937         (expand_builtin_va_copy): Likewise.
5938         (expand_builtin_alloca): Likewise.
5939         * calls.c (expand_call): Likewise.
5940         * except.c (expand_builtin_extract_return_addr): Likewise.
5941         (expand_builtin_eh_return): Likewise.
5942         * explow.c (convert_memory_address): Define even when
5943         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
5944         is already in the right mode.
5945         * explow.c (memory_address): Simplify use of convert_memory_address.
5946         (probe_stack_range): Likewise.
5947         * expmed.c (make_tree): Likewise.
5948         * expr.c (emit_block_move_in_libcall): Likewise.
5949         (expand_assignment): Likewise.
5950         (expand_expr): Likewise.
5951         * function.c (assign_parms): Likewise.
5952         (expand_function_end): Likewise.
5953         * integrate.c (copy_rtx_and_substitute): Likewise.
5954         * stmt.c (expand_computed_goto): Likewise.
5955
5956 2003-09-18  Roger Sayle  <roger@eyesopen.com>
5957
5958         * simplify-rtx.c (simplify_unary_operation): Only transform
5959         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
5960         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
5961
5962 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5963
5964         PR target/11674
5965         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
5966
5967 2003-09-18  Roger Sayle  <roger@eyesopen.com>
5968
5969         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
5970         PARITY_EXPR): Delete unused tree codes.
5971         * c-common.c (c_common_truthvalue_conversion): Delete references
5972         to FFS_EXPR and POPCOUNT_EXPR.
5973         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
5974         (pp_c_expression): Likewise.
5975         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
5976         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
5977         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
5978         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
5979         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
5980         and long long variants.
5981
5982 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5983
5984         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
5985         * c-pretty-print.c: Fix formatting.
5986         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
5987         (pp_c_type_specifier): Tidy.
5988         (pp_c_compound_literal): New function.
5989         (pp_c_initializer): Simplify..
5990         (pp_c_initializer_list): Likewise.
5991         (pp_c_brace_enclosed_initializer_list): New function.
5992         (pp_c_postfix_expression): Simplify.
5993
5994 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
5995
5996         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
5997         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
5998
5999 2003-09-17  Richard Henderson  <rth@redhat.com>
6000
6001         * tree-optimize.c (tree_rest_of_compilation): Save and restore
6002         input_location.
6003
6004 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
6005
6006         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
6007
6008 2003-09-17  Richard Henderson  <rth@redhat.com>
6009
6010         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
6011
6012 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6013
6014         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
6015         * configure: Regenerate.
6016
6017 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
6018
6019         PR debug/12066
6020         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
6021         * langhooks-def.h (lhd_return_null_tree_v): New function.
6022         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
6023         (LANG_HOOKS_DECLS): Add it to the intializer.
6024         * langhooks.c (lhd_return_null_tree_v): New function.
6025         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
6026
6027 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
6028
6029         * configure.in: Quote gcc_config_arguments for configargs.h.
6030         * configure: Regenerated.
6031         * gccbug.in: Don't shell-expand gcc_config_arguments.
6032
6033 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6034
6035         PR c++/11357
6036         * c-pretty-print.c (pp_c_floating_constant): Append
6037         type-annotation to floating constants.
6038
6039 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6040
6041         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
6042         Define _ABIO32.
6043         Use it for _MIPS_SIM.
6044         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
6045
6046         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
6047         Moved ...
6048         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
6049         updating comment.
6050         Fixes PR target/10190.
6051
6052 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
6053
6054         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
6055         to shared libraries.
6056
6057 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
6058
6059         PR optimization/11646
6060         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
6061         EDGE_ABNORMAL flag for EH edges.
6062         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
6063         if dead edges were purged.
6064
6065 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
6066
6067         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
6068         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
6069         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
6070         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
6071
6072 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
6073
6074         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
6075         returned by tablejump_p.
6076
6077 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
6078
6079         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
6080
6081 2003-09-16  Roger Sayle  <roger@eyesopen.com>
6082
6083         PR bootstrap/12269
6084         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
6085         argument to be VOIDmode, taking the mode of the comparison from
6086         the operands.  Only call simplify_relational_operation if we
6087         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
6088         if comparison has a floating point result.  Ensure that the
6089         result is always of the specified mode.
6090         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
6091         (simplify_unary_operation): Ensure the correct mode and cmp_mode
6092         are always passed to simplify_gen_relational.  Simplify NOT of
6093         comparison operator in any mode, not just BImode.
6094         (simplify_ternary_operation): Correct tests on the return value
6095         of simplify_relational_operation to use const_true_rtx, not
6096         const1_rtx.  Abort if it ever returns a non-constant result.
6097
6098         * cfgloopanal.c (count_strange_loop_iterations): Use the function
6099         simplify_relational_operation, not simplify_gen_relational, if
6100         we're only interested in constant comparisons and will ignore
6101         non-constant results.
6102
6103 2003-09-16  Roger Sayle  <roger@eyesopen.com>
6104
6105         * fold-const.c (tree_swap_operands_p): New function to determine
6106         the prefered ordering of operands.
6107         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
6108         operands to commutative, comparison or ternary operators.  Replace
6109         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
6110         transformation of A ? B : C into !A ? C : B.
6111
6112 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
6113
6114         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6115         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6116         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6117         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6118         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6119         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6120         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6121         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6122
6123 2003-09-16  Jason Merrill  <jason@redhat.com>
6124             Jakub Jelinek  <jakub@redhat.com>
6125
6126         * c-common.c (handle_warn_unused_result_attribute): New function.
6127         (c_common_attribute_table): Add warn_unused_result.
6128         (c_expand_expr): Issue warning when result of inlined function
6129         with warn_unused_result attribute is ignored.
6130         * calls.c (expand_call): Issue warning when result of function
6131         with warn_unused_result attribute is ignored.
6132         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
6133         * expr.c (expr_wfl_stack): Define.
6134         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
6135         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
6136         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
6137         bit if inlined function has warn_unused_result attribute.
6138         * input.h (expr_wfl_stack): Declare.
6139         * doc/extend.texi: Document warn_unused_result attribute.
6140
6141 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
6142
6143         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
6144
6145 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
6146
6147         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
6148         ATTRIBUTE_UNUSED.
6149         (call_insn_operand): For PIC, don't allow a direct call to a
6150         function in a different section than the current one.
6151
6152 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
6153
6154         * doc/invoke.texi (Warning Options): Add missing hyphen before
6155         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
6156         Move "-Wold-style-definition" to the C-only section.
6157         Fix the ordering of the warning options.
6158
6159 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6160             Jeff Law  <law@redhat.com>
6161
6162         * gcse.c (remove_reachable_equiv_notes): New.
6163         replace_store_insn): Call it.  Update antic list.
6164         (store_killed_in_insn): Take REG_EQUAL notes into account.
6165         (build_store_vectors, delete_store): Add parameter to
6166         replace_store_insn call.
6167
6168 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
6169
6170         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
6171         SYMBOL_REF_LOCAL_P.
6172
6173 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
6174
6175         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
6176         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
6177         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
6178         Likewise.
6179         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
6180         Likewise.
6181         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
6182         * config/sparc/sparc.c (function_arg_padding): Likewise.
6183
6184 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
6185
6186         * haifa-sched.c (schedule_block): Use ready_remove_first instead
6187         of choose_ready for non-dfa insn scheduling.
6188
6189 2003-09-15  Andreas Jaeger  <aj@suse.de>
6190             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6191
6192         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
6193         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
6194         * c-parse.in: Warn about old-style parameter definition.
6195         * c-common.c: Define warn_old_style_defintion.
6196         * c-common.h: Declare it.
6197         * c.opt: Add Wold-style-defintion.
6198
6199 2003-09-15  Andreas Jaeger  <aj@suse.de>
6200
6201         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
6202         * config/rs6000/rs6000.c: Likewise.
6203
6204 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6205
6206         PR optimization/10914
6207         * expr.h (get_condition, canonicalize_condition): Declaration changed.
6208         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
6209         and canonicalize_condition calls.
6210         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
6211         delete_null_pointer_checks): Ditto.
6212         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
6213         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
6214         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
6215         (canonicalize_condition, get_condition): Allow to return comparisons
6216         of cc mode registers.
6217         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
6218         cc mode registers comparison in condition.
6219
6220 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
6221
6222         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
6223         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
6224         function.
6225         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
6226
6227 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
6228
6229         * combine.c (simplify_comparison): Convert
6230         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
6231         (eq (and (lshiftrt X Y) 1) 0).
6232
6233 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
6234
6235         * alias.c: Follow spelling conventions.
6236         * cpphash.h: Likewise.
6237         * fold-const.c: Likewise.
6238
6239 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
6240
6241         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
6242         * c-lex.c (cb_line_change): Skip line changing whenever
6243         c-ppoutput.c would.
6244
6245 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
6246
6247         * ra.c: Convert to ISO C90 prototypes.
6248         * ra-build.c: Likewise.
6249         * ra-colorize.c: Likewise.
6250         * ra-debug.c: Likewise.
6251         * ra-rewrite.c: Likewise.
6252
6253 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
6254
6255         * Makefile.in (%.dvi): Remove excess $(docdir).
6256
6257 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
6258
6259         * function.c (STACK_BYTES): Move definition to head of file.
6260         (assign_parms): Don't pass current_function_pretend_args_size
6261         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
6262         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
6263         excess before laying out the argument.
6264
6265 2003-09-14  Andreas Jaeger  <aj@suse.de>
6266
6267         * objc/objc-act.c: Convert to ISO C90 prototypes.
6268         * objc/objc-act.h: Likewise.
6269
6270 2003-09-14  Olaf Hering  <olh@suse.de>
6271
6272         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
6273
6274 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
6275
6276         PR target/12021
6277         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
6278         as they already are done in config/m68k/m68k.h.
6279         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
6280
6281         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
6282         (machopic_output_stub): Only generate pic base symbols when using pic
6283         and generate them in the form L00000000$spb.
6284
6285 2003-09-13  Richard Henderson  <rth@redhat.com>
6286
6287         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
6288         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
6289         * cgraph.h: Update.
6290
6291 2003-09-12  Dale Johannesen  <dalej@apple.com>
6292
6293         * config/rs6000/rs6000.c: Fix typos in previous.
6294
6295 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
6296
6297         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
6298         when allocating pp->buffer.
6299
6300 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
6301
6302         * config/darwin.c (machopic_select_rtx_section): Use
6303         const_data_section for things that might require relocation.
6304
6305 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
6306
6307         PR bootstrap/12264
6308         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
6309
6310 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
6311
6312         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
6313         * config/xtensa/linux.h (ASM_SPEC): Likewise.
6314         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
6315         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
6316         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
6317         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
6318         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
6319         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
6320         and redefine corresponding TARGET_* macros with constants from the
6321         xtensa-config.h header.
6322         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
6323         for the options listed above.
6324
6325 2003-09-12  Dale Johannesen  <dalej@apple.com>
6326
6327         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
6328         * config/rs6000/rs6000-c.c:  Ditto.
6329         * config/rs6000/rs6000.c:  Ditto.
6330         * config/rs6000/ sysv4.h:  Ditto.
6331
6332 2003-09-12  Chris Lattner <sabre@nondot.org>
6333
6334         * loop.c: Move comments describing BIV's and GIV's to top of file
6335
6336 2003-09-12  Roger Sayle  <roger@eyesopen.com>
6337
6338         PR optimization/8967
6339         * alias.c (write_dependence_p): Modify to take an additional constp
6340         argument that controls whether the UNCHANGING_RTX_P flags are used.
6341         (anti_dependence, output_dependence): Adjust write_dependence_p
6342         callers to pass this additional argument, to return the same result.
6343         (unchanging_anti_dependence): New variant of anti_dependence that
6344         ignores the UNCHANGING_RTX_P property on memory references.
6345         * rtl.h (unchaning_anti_dependence): Prototype here.
6346         * flow.c (init_propagate_block): Place fake constant mem writes on
6347         the mem_set_list so that dead writes to const variables are deleted.
6348         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
6349         (mark_used_regs): Likewise.
6350
6351 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
6352
6353         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
6354         (mcore_secondary_reload_class): Declare.
6355         (mcore_output_inline_const_forced): Remove.
6356         * config/mcore/mcore.md (movsi): Remove the code that forced
6357         non-inlineable constants into a register if the target was r15
6358         or the stack pointer.  Remove constant restrictions from the main
6359         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
6360         of an r <- P alternative.  Remove fallback define_insn for reload.
6361         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
6362         define_insn.  Use mcore_output_move in the remaining define_insn.
6363         Adjust condition and constraints in the way as for movsi.
6364         (movdi): Always split unacceptable constants into two.  Use
6365         simplify_gen_subreg instead of operand_subword{,_force}.
6366         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
6367         (mcore_output_move): Support HImode and QImode moves as well.
6368         (mcore_m15_operand_p): New function.
6369         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
6370         (mcore_secondary_reload_class): New function.
6371         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
6372         terms of mcore_secondary_reload_class.
6373
6374 2003-09-11  Mike Stump  <mrs@apple.com>
6375
6376         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
6377
6378 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6379
6380         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
6381         MODE exactly, then only convert logN(N) -> 1.0 if
6382         flag_unsafe_math_optimizations is set.
6383
6384         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
6385         init_builtin_dconsts): Delete.
6386         * emit-rtl.c (dconstpi, dconste): Define.
6387         (init_emit_once): Initialize dconstpi & dconste.
6388         * real.h (dconstpi, dconste): Declare.
6389
6390 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
6391
6392         PR fortran/11522
6393         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
6394         for ultimate origin even if block is abstract.
6395
6396 2003-09-11  Roger Sayle  <roger@eyesopen.com>
6397
6398         * combine.c (combine_simplify_rtx): Move several NOT and NEG
6399         optimizations from here...
6400         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
6401         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
6402
6403 2003-09-11  Richard Henderson  <rth@redhat.com>
6404
6405         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
6406         Tweek tests for function already generated.
6407         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
6408         * cgraph.h (cgraph_finalize_function): Update for extra arg.
6409         * c-decl.c (finish_function): Likewise.
6410
6411 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
6412
6413         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
6414
6415 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
6416
6417         * real.c: Update URL to VAX floating point docs.
6418         (decode_vax_d): Extract 8 exponent bits instead of 7.
6419
6420 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
6421
6422         * combine.c (force_to_mode): Set fuller_mask based only on mask,
6423         not op_mode.
6424
6425 2003-09-11  Jan Hubicka  <jh@suse.cz>
6426
6427         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
6428         on why function is not inlinable; do not check
6429         the body.
6430         (inline_forbidden_p): Move to...
6431         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
6432         deal with alloca, longjmp.
6433         (inline_forbidden_p): New static function.
6434         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
6435         find_builtin_longjmp_call): Kill.
6436
6437 2003-09-10  Richard Henderson  <rth@redhat.com>
6438
6439         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
6440         * cgraphunit.c: Update to match.
6441         (record_call_1): Rearrange.  Call lang hook for language nodes.
6442         (cgraph_analyze_function): Don't call lower_function.
6443         * langhooks.h (struct lang_hooks_for_callgraph): Replace
6444         lower_function with analyze_expr.
6445         * langhooks-def.h: Update to match.
6446         * langhooks.c (lhd_callgraph_analyze_expr): New.
6447
6448 2003-09-10  Martin Husemann  <martin@duskware.de>
6449
6450         PR target/11965
6451         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
6452         constants greater than 63.
6453         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
6454         against constants greater than 31.
6455         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
6456         constants greater than 63.
6457
6458 2003-09-09  Richard Henderson  <rth@redhat.com>
6459
6460         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
6461         * cgraph.h (cgraph_finalize_function): Update.
6462         * c-decl.c (finish_function): Update.
6463
6464 2003-09-09  Devang Patel  <dpatel@apple.com>
6465
6466         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
6467         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
6468
6469 2003-09-09  Eric Christopher  <echristo@redhat.com>
6470
6471         * configure.in: Change usage of 'head' to 'sed 1q'.
6472         * configure: Regenerate.
6473
6474 2003-09-09  Richard Henderson  <rth@redhat.com>
6475
6476         * except.c: Include cgraph.h.
6477         (output_function_exception_table): Invoke
6478         cgraph_varpool_mark_needed_node.
6479         * Makefile.in (except.o): Update.
6480
6481 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
6482
6483         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
6484         and use it throughout.
6485
6486 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6487
6488         * builtins.c (real_dconstp, fold_builtin_logarithm,
6489         fold_builtin_exponent): New, split out from fold_builtin.  Also
6490         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
6491         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
6492         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
6493         of hardcoded array size.
6494         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
6495         (tree_expr_nonnegative_p): Likewise.
6496         * real.h (dconst3, dconst10, dconstthird): New.
6497
6498 2003-09-09  Jan Hubicka  <jh@suse.cz>
6499
6500         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
6501         inline functions.
6502         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
6503         DECL_SAVED_TREE.
6504
6505 2003-09-09  Roger Sayle  <roger@eyesopen.com>
6506
6507         * builtins.c (fold_builtin_cabs): Protect the complex argument
6508         against multiple evaluation when optimizing cabs* into sqrt*.
6509
6510 2003-09-09  Jan Hubicka  <jh@suse.cz>
6511
6512         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
6513
6514 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
6515
6516         * Makefile.in: Revert yesterday's change.
6517
6518 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
6519             Peter Barada <peter@baradas.org>
6520
6521         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
6522         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
6523         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
6524         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
6525         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
6526         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
6527         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
6528         (m68k_compute_frame_layout): New function.
6529         (m68k_initial_elimination_offset): New function.
6530         (m68k_output_function_prologue): ColdFire-specific movem handling.
6531         (m68k_output_function_epilogue): Likewise.
6532         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
6533         (ARG_POINTER_REGNUM): Add new definition.
6534         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
6535         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
6536         (CAN_ELIMINATE): Likewise.
6537         (INITIAL_ELIMINATION_OFFSET): Likewise.
6538
6539 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
6540
6541         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
6542         by removing redundant variable cfa_store_offset.
6543
6544 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
6545
6546         * langhooks-def.h (lhd_register_builtin_type): New function.
6547         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
6548         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
6549         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
6550         * langhooks.c (lhd_register_builtin_type): New function.
6551         * c-common.h (c_register_builtin_type): Declare.
6552         * c-common.c (c_register_builtin_type): New function.
6553         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
6554         c_register_builtin_type.
6555         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
6556         __float80, and __float128 macros.
6557         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
6558         __float80, and __float128 types.
6559
6560 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6561
6562         * builtin-types.def
6563         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
6564         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
6565         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
6566         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
6567         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
6568         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
6569         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
6570         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
6571         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
6572         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
6573         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
6574         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
6575         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
6576         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
6577         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
6578         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
6579         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
6580         New.
6581         * doc/extend.texi: Document new builtins.
6582
6583 2003-09-09  Jan Hubicka  <jh@suse.cz>
6584
6585         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
6586         finalization.
6587         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
6588         functions, check for COMDAT.
6589         (cgraph_assemble_pending_functions): Break out from...
6590         (cgraph_finalize_function): ... here; allow redefinig of extern inline
6591         functions.
6592         (record_call_1): Record function references only in non-unit-at-a-time
6593         mode.
6594         (cgraph_analyze_function): Reset current_function_decl.
6595         (cgraph_finalize_compilation_unit):  Assemble pending functions.
6596
6597 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
6598
6599         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
6600         (libgov.a): Likewise.
6601         (libgcc_eh.a): Likewise.
6602
6603 2003-09-08  Roger Sayle  <roger@eyesopen.com>
6604
6605         * fold-const.c (operand_equal_p): Clarify documentation.
6606
6607 2003-09-08  Richard Henderson  <rth@redhat.com>
6608
6609         * c-decl.c (c_expand_body_1): Push and pop function context here.
6610         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
6611         nested argument instead of computing nesting ourselves.
6612
6613 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
6614
6615         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
6616         regstack if optimizing but not scheduling after reload.
6617
6618 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
6619
6620         * config/sparc/sparc.c (struct machine_function): New type.
6621         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
6622         (sparc_override_options): Initialize init_machine_status.
6623         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
6624         tie_symbolic_operand, tle_symbolic_operand): New functions.
6625         (symbolic_operand): Disallow tls_symbolic_operand.
6626         (symbolic_memory_operand): Likewise.
6627         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
6628         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
6629         New functions.
6630         (sparc_tls_symbol): New variable.
6631         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
6632         legitimize_address): New functions.
6633         (print_operand): Handle %&.
6634         (sparc_init_machine_status, get_some_local_dynamic_name,
6635         get_some_local_dynamic_name_1): New functions.
6636         (sparc_output_dwarf_dtprel): New function.
6637         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
6638         constant_address_p.
6639         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
6640         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
6641         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
6642         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
6643         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
6644         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
6645         (ASM_OUTPUT_DWARF_DTPREL): Define.
6646         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
6647         tie_symbolic_operand, tle_symbolic_operand.
6648         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
6649         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
6650         (tls_call_delay): New attribute.
6651         (in_call_delay): Use it.
6652         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
6653         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
6654         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
6655         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
6656         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
6657         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
6658         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
6659         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
6660         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
6661         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
6662         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
6663         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
6664         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
6665         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
6666         insns.
6667         * config/sparc/sparc-protos.h (legitimate_constant_p,
6668         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
6669         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
6670         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
6671         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
6672         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
6673         * configure.in (sparc*-*-*): Add TLS check.
6674         * configure: Rebuilt.
6675
6676 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
6677
6678         PR target/11689
6679         * config/i386/i386.c (memory_address_length): Fix computation when
6680         the base is esp or ebp.
6681
6682 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
6683
6684         PR c++/11852
6685         * varasm.c (initializer_constant_valid_p): Correct logic for
6686         CONSTRUCTORs.
6687
6688 2003-09-07  Roger Sayle  <roger@eyesopen.com>
6689
6690         * expr.c (expand_operands): New function to expand an operand pair.
6691         (expand_expr): Call expand_operands whenever we need to expand both
6692         operands of a binary operator.
6693         (do_store_flag): Likewise for operands of comparison operations.
6694
6695 2003-09-07  Roger Sayle  <roger@eyesopen.com>
6696
6697         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
6698         (-A)*B if we care about sign-dependent rounding.
6699
6700 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
6701
6702         * c-pretty-print.h (pp_c_left_brace): Declare.
6703         (pp_c_right_brace): Likewise.
6704         * c-pretty-print.c (pp_c_left_brace): Now a function
6705         (pp_c_right_brace): Likewise.
6706
6707 2003-09-07  Jan Hubicka  <jh@suse.cz>
6708
6709         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
6710
6711 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6712
6713         * diagnostic.c (warn_deprecated_use): Move to toplev.c
6714
6715 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6716
6717         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
6718         * Makefile.in (langhooks.o): Depend on diagnostic.h
6719
6720 2003-09-06  James E Wilson  <wilson@tuliptree.org>
6721
6722         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
6723         simplify.
6724
6725 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
6726
6727         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
6728         and use it throughout.
6729
6730 2003-09-07  Jan Hubicka  <jh@suse.cz>
6731
6732         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
6733
6734         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
6735         virables.
6736
6737         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
6738         functions.
6739         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
6740
6741 2003-09-06  Jan Hubicka  <jh@suse.cz>
6742
6743         PR target/12070
6744         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
6745
6746         PR opt/12082
6747         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
6748
6749 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6750
6751         * diagnostic.c (announce_function): Move to toplev.c.
6752
6753 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6754
6755         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
6756         volatile mem.
6757
6758 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6759
6760         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
6761         when gc checking is enabled.
6762
6763 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
6764
6765         PR c/9862
6766         * c-decl.c (c_expand_body_1): Move return warning from here...
6767         (finish_function): ...to here.
6768
6769 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
6770
6771         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
6772         a subset of the input class.
6773
6774 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
6775
6776         * config/i860/i860.c: Follow spelling conventions.
6777         * config/i860/i860.h: Likewise.
6778         * config/sh/sh.h: Likewise.
6779
6780 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
6781
6782         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
6783         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
6784         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
6785
6786 2003-09-05  Roger Sayle  <roger@eyesopen.com>
6787             Richard Henderson  <rth@redhat.com>
6788
6789         PR optimization/1823
6790         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
6791         multiplication to implement division by constant integer.
6792
6793 2003-09-05  Jan Hubicka  <jh@suse.cz>
6794
6795         * opts.c (decode_options): Enable unit-at-a-time at -O2.
6796         * params.def (max-inline-insns-single): Set to 500
6797         (max-inline-insns-auto): Set to 150
6798         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
6799
6800 2003-09-04  Richard Henderson  <rth@redhat.com>
6801
6802         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
6803         (cgraph_mark_needed_node): Remove needed argument.
6804         * cgraph.h: Update to match.
6805         * cgraphunit.c (decide_is_function_needed): Split out from ...
6806         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
6807         if we generated the function.
6808         (record_call_1): Update for cgraph_mark_reachable_node.
6809         * varasm.c (mark_referenced): Likewise.
6810         * objc/objc-act.c (mark_referenced_methods): Likewise.
6811
6812 2003-09-04  DJ Delorie  <dj@redhat.com>
6813
6814         * targhooks.c: Add comment explaining the migration process.
6815
6816 2003-09-04  Eric Christopher  <echristo@redhat.com>
6817
6818         * config/frv/t-frv: Fix path for frv-abi.h.
6819         * config/frv/frv-asm.h: Fix string concatenation.
6820
6821 2003-09-04  DJ Delorie  <dj@redhat.com>
6822
6823         * builtins.c (apply_args_size): Guard against a NULL cfun.
6824         (expand_builtin_apply_args_1): Likewise.
6825         (expand_builtin_apply): Likewise.
6826         Fixes PR bootstrap/12172.
6827
6828 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6829
6830         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
6831         assembler supports Sun syntax for cmov.
6832         * configure: Regenerate.
6833         * config.in: Likewise.
6834         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
6835         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
6836         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
6837         Fixes PR target/12101.
6838
6839 2003-09-04  Matt Austern  <austern@apple.com>
6840
6841         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
6842         with verbosity 0, instead of DECL_NAME, for human-readable string.
6843
6844 2003-09-04  Eric Christopher  <echristo@redhat.com>
6845
6846         * targhooks.c (default_return_in_memory): Allow
6847         unconverted ports.
6848
6849 2003-09-04  Eric Christopher  <echristo@redhat.com>
6850
6851         * targhooks.c (default_return_in_memory): Fix typo
6852         in last checkin.
6853
6854 2003-09-04  Eric Christopher  <echristo@redhat.com>
6855
6856         * targhooks.c (default_return_in_memory): Fix default
6857         definition.
6858
6859 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
6860
6861         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
6862         deleted function.
6863         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
6864         enable coff-only code in m68k.c.
6865
6866 2003-09-04  Nick Clifton  <nickc@redhat.com>
6867
6868         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
6869         v850e1.
6870         * config/v850/v850.h: Accept v850e1 as a default CPU.
6871         Accept -mv850e1 as a command line option.
6872         * doc/invoke.texi: Document new -mv850e1 command line switch.
6873         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
6874         -mv850e.
6875
6876 2003-09-04  Nick Clifton  <nickc@redhat.com>
6877
6878         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
6879         * config/v850/t-v850: Only produce one extra multilib - for
6880         the v850e.
6881         * config/v850/t-v850e: New file: Only produce one extra
6882         multilib - for the v850.
6883
6884 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
6885
6886         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
6887         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
6888         * unwind.h (_Unwind_GetBSP): New prototype.
6889         * libgcc-std.ver: Add empty GCC_3.3.2 version.
6890         * mkmap-symver.awk: For symbol versions with no exported symbols,
6891         don't put anything into version script, just change all symbol
6892         versions which inherit from it to inherit from its ancestor.
6893
6894 2003-09-04  Eric Christopher  <echristo@redhat.com>
6895
6896         * config/mips/mips.c (mips_expand_prologue): Convert to
6897         calls.struct_value_rtx hook.
6898         (reg_or_const_float_1_operand): New.
6899         * config/mips/mips.h: Update Comments.
6900         (mips_arg): Add reg_or_const_float_1_operand.
6901         * config/mips/mips.md (divdf3); Convert to expander.
6902         (divsf3): Ditto.
6903         (*divdf3): New pattern.
6904         (*divsf3): Ditto.
6905
6906 2003-09-04  Jan Hubicka  <jh@suse.cz>
6907
6908         * toplev.c (wrapup_global_declarations): Fix final pass in
6909         unit-at-atime mode.
6910
6911 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
6912
6913         * doc/extend.texi: Document removal of cast-as-lvalue extension in
6914         C++.
6915
6916 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
6917
6918         * gcc.c (process_command): Fix typo.
6919
6920 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
6921
6922         optimization/11980
6923         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
6924         (PTRDIFF_TYPE): Likewise.
6925         (WCHAR_TYPE_SIZE): Likewise.
6926
6927 2003-09-03  DJ Delorie  <dj@redhat.com>
6928
6929         * targhooks.c: New file.
6930         * targhooks.h: New file.
6931         * Makefile.in: Add targhooks.o support.
6932         (function.o): Depend on$(TARGET_H).
6933         (stmt.o): Likewise.
6934         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
6935         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
6936         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
6937         (expand_builtin_saveregs): Convert to
6938         calls.expand_builtin_saveregs hook.
6939         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
6940         here, instead of ...
6941         (get_parm_info) ... here.
6942         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
6943         hook.
6944         (finish_function): Handle calls.promote_prototypes hook here too.
6945         * c-typeck.c (convert_arguments): Convert to
6946         calls.promote_prototypes hook.
6947         (c_convert_parm_for_inlining): Likewise.
6948         * calls.c (initialize_argument_information): Convert to
6949         calls.promote_function_args hook.
6950         (expand_call): Convert to calls.struct_value_rtx,
6951         calls.strict_argument_naming,
6952         calls.pretend_outgoing_varargs_named, and
6953         calls.promote_function_return hooks.  Pass fndecl to
6954         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
6955         hooks, so they can use that.
6956         (emit_library_call_value_1): Likewise.
6957         * combine.c (setup_incoming_promotions): Convert to
6958         calls.promote_function_args hook.
6959         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
6960         * expr.c (expand_assignment): Pass call to aggregate_value_p.
6961         (expand_expr): Likewise.
6962         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
6963         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
6964         RETURN_IN_MEMORY macro defaults.
6965         * final.c (profile_function): Convert to calls.struct_value_rtx
6966         hook.
6967         * function.c (aggregate_value_p): Accept function type tree as
6968         second parameter; try to deduce fntype from it.  Convert to
6969         calls.return_in_memory hook.
6970         (assign_parms): Convert to calls.setup_incoming_varargs,
6971         calls.strict_argument_naming, calls.promote_function_args,
6972         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
6973         aggregate_value_p.
6974         (expand_function_start): Likewise.  Convert to
6975         calls.struct_value_rtx hook.
6976         (expand_function_end): Convert to calls.promote_function_return hook.
6977         (allocate_struct_function): Pass fndecl to aggregate_value_p.
6978         * hard-reg-set.h: Update comments to new hook names.
6979         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
6980         * reg-stack.c (stack_result): Likewise.
6981         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
6982         * stmt.c (expand_value_return): Convert to
6983         calls.promote_function_return hook.
6984         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
6985         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
6986         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
6987         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
6988         TARGET_STRICT_ARGUMENT_NAMING,
6989         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
6990         * target.h: Likewise.
6991         * tree.h (aggregate_value_p): Also takes a tree to deduce function
6992         attributes from (for target hooks).
6993         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
6994         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
6995         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
6996         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
6997         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
6998         to hooks.
6999
7000         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
7001         to aggregate_value_p.
7002         * config/arm/arm.c (arm_init_cumulative_args,
7003         arm_output_mi_thunk): Likewise.
7004         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
7005         Likewise.
7006         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
7007         mips_can_use_return_insn): Likewise.
7008         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
7009         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
7010         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
7011         aggregate_value_p.
7012         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
7013         function to aggregate_value_p.
7014         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
7015         aggregate_value_p.
7016
7017         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
7018         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
7019         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
7020         (sh_handle_renesas_attribute, sh_promote_prototypes,
7021         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
7022         sh_setup_incoming_varargs, sh_strict_argument_naming,
7023         sh_pretend_outgoing_varargs_named): New decls.
7024         (targetm): Add new hooks.
7025         (calc_live_regs): Save MACL and MACH if the function has the
7026         renesas attribute.
7027         (sh_expand_prologue): Support renesas attribute.
7028         (sh_builtin_saveregs): Make static.
7029         (sh_build_va_list): Support renesas attribute.
7030         (sh_va_start): Likewise.
7031         (sh_va_arg): Likewise.
7032         (sh_promote_prototypes): New.
7033         (sh_function_arg): New, moved from sh.h.  Support renesas
7034         attribute.
7035         (sh_function_arg_advance): Likewise.
7036         (sh_return_in_memory): Likewise.
7037         (sh_strict_argument_naming): Likewise.
7038         (sh_pretend_outgoing_varargs_named): Likewise.
7039         (sh_struct_value_rtx): New.
7040         (sh_attribute): Add renesas attribute.
7041         (sh_handle_renesas_attribute): New.
7042         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
7043         (sh_ms_bitfield_layout_p): Support renesas attribute also.
7044         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
7045         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
7046         -mhitachi.
7047         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
7048         target hooks.
7049         (sh_args): Add renesas_abi flag.
7050         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
7051         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
7052         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
7053         stack for the renesas abi.
7054         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
7055         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
7056         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
7057         call cookie to indicate renesas calls.
7058
7059 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
7060
7061         * gcse.c (replace_one_set): New function.
7062         (pre_insert_copy_insn): Change the order of copying
7063         to make copy propagation discover additional PRE opportunities.
7064
7065 2003-09-03  Roger Sayle  <roger@eyesopen.com>
7066
7067         PR optimization/11700.
7068         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
7069         of a hard register is representable before trying to simplify it
7070         using subreg_hard_regno.
7071
7072 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7073
7074         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
7075         * configure: Regenerate.
7076
7077 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7078
7079         * intl.h (N_): Remove parentheses.
7080
7081 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
7082
7083         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
7084         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
7085         definition and code blocks compiled when not defined.
7086         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
7087         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
7088         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
7089         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
7090
7091 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
7092
7093         * cgraphunit.c (visited_nodes): New static variable.
7094         (record_call_1): Use walk_tree with visited_nodes.
7095         (cgraph_create_edges): Use walk_tree with visited_nodes.
7096         Setup/teardown visited_nodes hashtable.
7097
7098 2003-09-03  Roger Sayle  <roger@eyesopen.com>
7099
7100         * toplev.c (flag_rounding_math): New global variable.
7101         (f_options): Add to the list of language independent options.
7102         * flags.h (flag_rounding_math): Prototype here.
7103         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
7104         * common.opt (frounding-math): New common command line option.
7105         * opts.c (common_handle_option): Handle OPT_frounding_math.
7106         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
7107
7108         * doc/invoke.texi: Document this new command line option.
7109
7110 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7111
7112         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
7113
7114 2003-09-03  Jan Hubicka  <jh@suse.cz>
7115
7116         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
7117         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
7118         * c-objc-common.c: Kill include of gt-c-objc-common.h
7119         (expand_deferred_fns, deffer_fn): Kill function.
7120         (deferred_fns): Kill variable.
7121         (finish_cdtor): Update finish_function call.
7122         (c_objc_common_finish_file): Always call cgraph code.
7123         * c-parse.c: Regenerate.
7124         * c-parse.y: Regenerate.
7125         * c-tree.h (finish_function): Update prototype.
7126         * objc-acct.c (build_module_descriptor, finish_method_def):
7127         Update call of finish_function.
7128         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
7129         forward prototype.
7130         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
7131         function and assemble it if needed.
7132         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
7133         mode.
7134         (cgraph_optimize): Likewise.
7135         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
7136         even when it has no inline callees.
7137         * c-parse.in: Update calls to finish_function.
7138
7139 2003-09-03  Nick Clifton  <nickc@redhat.com>
7140
7141         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
7142         Use #error to generate the message if TARGET_DEFAULT is not
7143         recognised.
7144
7145 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
7146
7147         * config/mips/mips.h (MASK_UNUSED1): Remove.
7148         (MASK_XGOT, TARGET_XGOT): Define.
7149         (TARGET_SWITCHES): Add an entry for -mxgot.
7150         (ASM_SPEC): Map -mxgot to -xgot.
7151         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
7152         whether we're using a big-GOT sequences.
7153         (mips_legitimize_const_move, mips_expand_call): Likewise.
7154         (override_options): Revert 2003-01-09 change.
7155         * doc/invoke.texi: Document -mxgot.
7156
7157 2003-09-02  Jason Merrill  <jason@redhat.com>
7158
7159         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
7160         * config/sparc/sol2.h: Not here.
7161
7162 2003-09-02  Roger Sayle  <roger@eyesopen.com>
7163
7164         * expr.c (expand_expr): The code following both_summands performs
7165         the same task as simplify_gen_binary.  Replace all gotos to
7166         both_summands with a call to simplify_gen_binary and delete the
7167         now unused label.
7168
7169 2003-09-02  Jason Merrill  <jason@redhat.com>
7170
7171         PR c++/7327
7172         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
7173
7174 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
7175
7176         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
7177         (cgraph_optimize_function): Set current_function_decl to the
7178         fndecl we're integrating from.
7179
7180 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7181
7182         * builtins.def: Break out _Complex math functions into their
7183         own category.
7184
7185 2003-09-02  Andreas Jaeger  <aj@suse.de>
7186
7187         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
7188
7189 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
7190
7191         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
7192         finding the note again.
7193
7194 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7195
7196         * config.gcc: Remove host-specific rewrites of target_alias.
7197
7198 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
7199
7200         * Makefile.in (genprogs): Fix typo.
7201
7202         * Makefile.in (gencheck.o): Remove build commands.
7203         (dummy-conditions.o): Likewise.
7204         (read-rtl.o): Likewise.
7205         (gensupport.o): Likewise.
7206         (genconfig$(build_exeext)): Remove rule.
7207         (genconfig.o): Remove build commands.
7208         (genflags$(build_exeext)): Remove rule.
7209         (genflags.o): Remove build commands.
7210         (gencodes$(build_exeext)): Remove rule.
7211         (gencodes.o): Remove build commands.
7212         (genconstants.o): Remove build commands.
7213         (genemit$(build_exeext)): Remove rule.
7214         (genemit.o): Remove build commands.
7215         (genrecog$(build_exeext)): Remove rule.
7216         (genrecog.o): Remove build commands.
7217         (genextract$(build_exeext)): Remove rule.
7218         (genextract.o): Remove build commands.
7219         (genpeep$(build_exeext)): Remove rule.
7220         (genpeep.o): Remove build commands.
7221         (genattr$(build_exeext)): Remove rule.
7222         (genattr.o): Remove build commands.
7223         (genprognames): New variable.
7224         (genprogs): Likewise.
7225         (genobjs): Likewise.
7226         (genprogs): New rule.
7227         (genobjs): Likewise.
7228         (genattrtab.o): Remove build commands.
7229         (genautomata.o): Likewise.
7230         (genoutput$(build_exeext)): Remove rule.
7231         (genoutput.o): Remove build commands.
7232         (gengenrtl.o): Likewise.
7233         (genpreds.o): Likewise.
7234         (gengtype.o): Likewise.
7235         (genconditions.o): Likewise.
7236         (gen-protos.o): Likewise.
7237         (scan.o): Likewise.
7238         (fix-header.o): Likewise.
7239         (scan-decls.o): Likewise.
7240         (check-g++): Combine with other check targets.
7241         (check-gcc): Likewise.
7242         (check-g77): Likewise.
7243         (check-objc): Likewise.
7244
7245 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
7246
7247         * config.gcc: Remove host-specific stuff which is unused here
7248         since the introduction of config.host.
7249
7250         * doc/fragments.texi: Mention config.host.
7251         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
7252         of config.build, config.host, and config.gcc.
7253
7254 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
7255
7256         * c-decl.c (pushdecl): Don't put variables on
7257         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
7258         incomplete.
7259
7260 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
7261
7262         * config.host: New file.
7263         * config.gcc: Remove some host-specific stuff and some
7264         logic needed only for repeated invocation.
7265         * configure.in: Use config.host.
7266         * configure: Regenerate.
7267
7268 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
7269
7270         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
7271         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
7272         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
7273         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
7274         * tree.def (BIT_ANDTC_EXPR): Kill.
7275
7276 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7277
7278         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
7279         * configure: Regenerate.
7280
7281         * config.gcc:  Remove references to install_headers_dir, now unused
7282         since introduction of config.build.
7283         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
7284
7285         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
7286         config.build.
7287
7288         * config.build: New file.
7289         * config.gcc: Remove some build-specific stuff.
7290         * configure.in: Use config.build.
7291         * configure: Regnerate.
7292
7293 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
7294             Roger Sayle  <roger@eyesopen.com>
7295
7296         PR middle-end/11823
7297         * stmt.c (expand_end_case_type): Only use jump tables for dense
7298         switch statements when optimizing for size.
7299
7300 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
7301
7302         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
7303         the != 0 case, which ensures pending stack adjustments are flushed.
7304
7305 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
7306
7307         * configure.frag: Delete file.
7308         * configure.in: Rename the substitution variables
7309         dep_host_xmake_file and dep_tmake_file to xmake_file and
7310         tmake_file respectively.  Do not expand $srcdir in the
7311         value of these; leave that for Make.  Introduce a new
7312         substitution varaible, all_lang_makefrags, which lists
7313         subdirectory Make-lang.in files; exclude these from
7314         all_lang_makefiles, which is now only for subdirectory
7315         outputs.  Do not invoke configure.frag.  Do not set nor
7316         AC_SUBST_FILE target_overrides, host_overrides, or
7317         language_fragments. Create build subdirectories in
7318         config.status extra commands.
7319         * configure: Regenerate.
7320         * Makefile.in: Update substitutions to match changes to
7321         configure.  Use include directives instead of @-insertions
7322         to read in host, target, and language fragments.
7323         (Makefile rule): Do not invoke configure.frag.  Do not copy
7324         config.status to config.run before executing it.  Set
7325         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
7326         regenerated.
7327         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
7328
7329 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
7330
7331         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
7332         * c-typeck.c (same_translation_unit_p): New function.
7333         (comptypes): Use it instead of flags parameter to identify
7334         structure types from different translation units.
7335         * c-decl.c (duplicate_decls): Always call comptypes with
7336         COMPTYPE_STRICT flags argument.
7337         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
7338         to file_scope_decl.
7339
7340 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
7341
7342         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
7343         * c-decl.c (struct c_scope): Remove "incomplete" field.
7344         (pushdecl): Attach variables with incomplete types to
7345         the TYPE_MAIN_VARIANT of the incomplete type in question.
7346         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
7347         to complete, not at current_scope->incomplete.  All such
7348         variables do need completion.
7349
7350 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
7351         Nicolas Pitre <nico@cam.org>
7352
7353         * arm/lib1funcs.asm (RETCOND): Delete.
7354         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
7355         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
7356         (__ARM_ARCH__): Move here from ieee754-?f.S.
7357         (RET, RETc): Clean up definitions.
7358         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
7359         (FUNC_END): New macro that marks the end of any function.
7360         (ARM_FUNC_START): New macro that allows an assembler routine to be
7361         implemented in ARM code even if a Thumb-only build.
7362         Unconditionally include ieee754-?f.S.
7363         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
7364         Mark ends of functions.
7365         Split into separate conditionally-compiled units.
7366         Use RETLDM to return from routines.
7367         * arm/ieee754-sf.S: Similarly.
7368         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
7369         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
7370         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
7371         _fixsfsi and _fixunssfsi.
7372
7373         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
7374         multiplication underflows to zero.
7375         (__adddf3): Fix bug when using VFP ordering on little-endian
7376         processors.
7377         (__fixdfsi): Use rrx to extract the carry into a register instead of
7378         MRS instruction.  Optimize later use of result.
7379         * arm/ieee754-sf.S (__fixsfsi): Likewise.
7380         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
7381
7382 2003-08-29  Richard Henderson  <rth@redhat.com>
7383
7384         * tree-optimize.c: New file.
7385         * Makefile.in (OBJS-archive): Add tree-optimize.o.
7386         (tree-optimize.o): New.
7387         * c-decl.c (store_parm_decls): Use allocate_struct_function.
7388         (finish_function): Don't free_after_parsing or free_after_compilation.
7389         (set_save_expr_context): Move to tree-optimize.c.
7390         (c_expand_body_1): Use tree_rest_of_compilation.
7391         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
7392         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
7393         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
7394         iterate until closure.
7395         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
7396         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
7397         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
7398         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
7399         * toplev.h (tree_rest_of_compilation): Declare it.
7400
7401 2003-08-29  Richard Henderson  <rth@redhat.com>
7402
7403         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
7404         * integrate.c (save_for_inline): Set saved_for_inline.
7405         * c-semantics.c (genrtl_scope_stmt): Check it.
7406         * toplev.c (wrapup_global_declarations): Check it.
7407         (rest_of_handle_inlining): Set and check rtl_inline_init.
7408         (rest_of_compilation): Remove out of date comment.
7409
7410 2003-08-29  Richard Henderson  <rth@redhat.com>
7411
7412         * function.c (allocate_struct_function): New, split out of ...
7413         (prepare_function_start, init_function_start): ... here.
7414         * expr.c (init_expr): Use ggc_alloc_cleared.
7415         * stmt.c (init_stmt_for_function): Likewise.
7416         * tree.h (allocate_struct_function): Declare.
7417
7418 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7419
7420         * config.gcc: Don't use negated character class in shell case
7421         clause.
7422
7423 2003-08-29  Richard Henderson  <rth@redhat.com>
7424
7425         * function.h (struct function): Move function_frequency and
7426         max_jumptable_ents before start of bit field members.
7427
7428 2003-08-29  Richard Henderson  <rth@redhat.com>
7429
7430         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
7431         (fold_builtin_constant_p) ... not here.
7432
7433 2003-08-29  Richard Henderson  <rth@redhat.com>
7434
7435         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
7436         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
7437         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
7438
7439 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7440
7441         * builtins.def: Fix typos.
7442         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
7443         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
7444         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
7445         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
7446         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
7447
7448         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
7449         Use ATTR_MATHFN_FPROUNDING_ERRNO.
7450
7451 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7452
7453         * config.gcc (i386-*-vsta): Fix obvious bogosity.
7454
7455         * fixinc/inclhack.def:  Remove special cases for unsupported
7456         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
7457         * fixinc/fixincl.x: Regenerate.
7458
7459 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
7460
7461         * Makefile.in (cpp.info): Just state dependencies.
7462         (gcc.info): Likewise.
7463         (gccint.info): Likewise.
7464         (gccinstall.info): Likewise.
7465         (cppinternals.info): Likewise.
7466         (cpp.dvi): Likewise.
7467         (gcc.dvi): Likewise.
7468         (gccint.dvi): Likewise.
7469         (gccinstall.dvi): Likewise.
7470         (cppinternals.dvi): Likewise.
7471         (gcov.1): Likewise.
7472         (cpp.1): Likewise.
7473         (gcc.1): Likewise.
7474         (gfdl.7): Likewise.
7475         (gpl.7): Likewise.
7476         (fsf-funding.7): Likewise.
7477         ($(objdir)/%.info): New pattern rule.
7478         (%.dvi): Likewise.
7479
7480 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
7481
7482         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
7483         (restage2): Likewise.
7484         (restage3): Likewise.
7485         (restage4): Likewise.
7486         (restageprofile): Likewise.
7487         (restagefeedback): Likewise.
7488         (bubblestrap): Likewise.
7489
7490 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7491
7492         * config.gcc: Narrow unsupported target match to avoid clobbering
7493         i?86-sequent-sysv4*.
7494
7495 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7496
7497         * builtins.c (mathfn_built_in): Handle new math builtins.
7498
7499 2003-08-28  Per Bothner  <per@bothner.com>
7500
7501         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
7502         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
7503         (_cpp_lex_buffer):  Likewise.
7504         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
7505
7506 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
7507
7508         * config/s390/s390.md ("*mulsi3_sign"): New insn.
7509         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
7510         ("mulsidi3"): ... this new insn.
7511         ("umulsidi3"): New insn.
7512         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
7513         mixed-mode matching constraints.
7514         ("udivmodsi4", "udivmoddisi3"): New insns.
7515         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
7516
7517 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7518
7519         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
7520         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
7521         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
7522         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
7523         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
7524         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
7525         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
7526         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
7527         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
7528         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
7529         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
7530         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
7531         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
7532         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
7533         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
7534         * tree.c: Assign new type_nodes.
7535         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
7536         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
7537         (float_ptr_type_node, double_ptr_type_node,
7538         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
7539
7540         * doc/extend.texi: Document new builtins.
7541
7542 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7543
7544         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
7545         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
7546
7547         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
7548         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
7549         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
7550         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
7551         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
7552         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
7553         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
7554         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
7555         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
7556         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
7557
7558         * doc/extend.texi: Document new builtins.
7559
7560 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
7561
7562         * fixinc/mkfixinc.sh: Remove special case code for unsupported
7563         variants of i?86, powerpcle, and thumb.
7564         * fixinc/mkfixinc.sh: Remove special case code for unsupported
7565         arm and hppa variants.
7566
7567 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7568
7569         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
7570         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
7571         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
7572         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
7573         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
7574         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
7575         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
7576         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
7577         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
7578         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
7579
7580         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
7581         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
7582         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
7583         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
7584         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
7585         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
7586         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
7587         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
7588         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
7589         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
7590         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
7591         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
7592         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
7593         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
7594         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
7595         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
7596         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
7597         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
7598         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
7599         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
7600         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
7601         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
7602         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
7603         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
7604         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
7605         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
7606         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
7607         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
7608         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
7609         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
7610         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
7611
7612         * doc/extend.texi: Document new builtins.
7613
7614 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
7615
7616         * config/s390/s390.c (legitmate_constant_p): Use LARL on
7617         zSeries machines even in 31-bit addressing mode.
7618         (legitimate_reload_constant_p): Likewise.
7619         (legitimize_pic_address): Likewise.
7620         (legitimize_tls_address): Likewise.
7621         (s390_split_branches): Likewise.
7622         (s390_dump_pool): Likewise.
7623         (s390_mainpool_finish): Likewise.
7624         (s390_chunkify_start): Likewise.
7625         (s390_select_rtx_section): Likewise.
7626         * config/s390/s390.md ("doloop_si"): Likewise.
7627         ("pool_start_31", "pool_end_31"): Likewise.
7628         ("pool_start_64", "pool_end_64"): Likewise.
7629         ("main_base_31_small", "main_base_31_large"): Likewise.
7630         ("main_base_64"): Likewise.
7631         ("reload_base_31", "reload_base_64"): Likewise.
7632         ("*movsi_larl"): New insn.
7633         ("cjump", "icjump"): Use long branches on zSeries machines.
7634         ("jump"): Likewise.
7635         ("call"): Use BRASL on zSeries machines.
7636         ("call_value", "call_value_tls"): Likewise.
7637         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
7638         and replace by ...
7639         ("*bras", "*brasl", "*basr") ... these new insns.
7640         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
7641         "bas_31_r"): Remove and replace by ...
7642         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
7643         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
7644         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
7645         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
7646         ("*return_si", "*return_di"): Remove and replace by ...
7647         ("*return"): ... this new insn.
7648         ("rotlsi3"): Allow on zSeries machines.
7649
7650         * config/s390/s390.c (legitimize_reload_constant_p): Use
7651         LL/LH type instructions in z/Architecture mode.
7652         * config/s390/s390.md ("*movsi_lli"): Likewise.
7653         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
7654         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
7655         ("*extendqisi2"): Use LB in z/Architecture mode.
7656         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
7657         z/Architecture mode.
7658         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
7659         Likewise.
7660
7661         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
7662         and 31-bit mode.
7663         ("ptr_extend"): Allow only in 64-bit mode.
7664
7665 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
7666
7667         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
7668         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
7669         definitions.
7670         (main): Only use standard_startfile_prefix if native.
7671         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
7672
7673 2003-08-27  Per Bothner  <pbothner@apple.com>
7674
7675         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
7676         test fails following my 08-21 change, and it seems unnecessary anyway.
7677         (cpp_error):  Likewise.
7678
7679 2003-08-27  Jason Merrill  <jason@redhat.com>
7680
7681         * real.c (do_multiply): Initialize with memset.
7682
7683 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7684
7685         * gcov.c (typedef struct arc_info): New field cs_count.
7686         (accumulate_line_counts): Find cycles correctly.
7687
7688 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
7689
7690         * config/s390/s390.c (struct machine_function): Remove member
7691         literal_pool_label.
7692         (s390_optimize_prolog): Replace TEMP_REG argument with
7693         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
7694         (general_s_operand): Accept all immediates before reload if
7695         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
7696         references.
7697         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
7698         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
7699         (s390_alloc_pool): New function.
7700         (s390_new_pool): Call it.
7701         (s390_dump_pool): Add REMOTE_LABEL argument.
7702         (s390_chunkify_start): Add BASE_REG argument.  Do not check
7703         get_pool_size ().
7704         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
7705         s390_dump_pool call.
7706         (s390_pool_count, s390_nr_constants): Remove.
7707         (s390_output_constant_pool): Remove.
7708         (s390_mainpool_start): New function.
7709         (s390_mainpool_finish): New function.
7710         (s390_mainpool_cancel): New function.
7711         (s390_reorg): Implement main literal pool handling.
7712         (s390_emit_prologue): Emit main_pool placeholder instead of
7713         literal_pool_31 / literal_pool_64 insns.
7714         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
7715         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
7716         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
7717         ("main_base_31_small", "main_base_31_large"): New insns.
7718         ("main_base_64",  "main_pool"): New insns.
7719         ("literal_pool_31", "literal_pool_64"): Remove.
7720
7721 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
7722
7723         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
7724         fixinc.ptx.
7725         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
7726         Prettify a little.
7727         * fixinc/fixincl.x: Regenerate.
7728
7729 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
7730
7731         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
7732         (L_ieee754_dp): New.  Include ieee754-df.S.
7733         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
7734         and compilation in apcs-26 mode.
7735         * arm/ieee754-df.S: Likewise.
7736         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
7737         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
7738
7739 2003-08-27  Nicolas Pitre  <nico@cam.org>
7740
7741         * arm/ieee754-sf.S: New.
7742         * arm/ieee754-df.S: New.
7743
7744 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
7745
7746         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
7747         and restore it if returning NULL.
7748
7749 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
7750
7751         * calls.c (initialize_argument_information): If an argument has no
7752         stack space associated with it, and BLOCK_REG_PADDING is defined,
7753         use it to decide at which end the argument should be padded.
7754         * function.c (assign_parms): Allocate BLKmode stack slots.
7755         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
7756         (mips_pad_reg_upward): Declare.
7757         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
7758         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
7759         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
7760         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
7761         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
7762         (mips_expand_call): Remove code for generating structure shifts.
7763         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
7764         types unless using the EABI.
7765         (function_arg_advance): Don't generate shift instructions.
7766         (function_arg): Don't return them.  Don't short-circuit the
7767         check for double structure chunks for DFmode arguments.
7768         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
7769         (mips_expand_prologue): Remove code to emit structure shifts.
7770         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
7771         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
7772         comments to say that only structure returns are a problem.
7773
7774 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
7775
7776         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
7777         Fix to match produced versions.
7778         * fixinc/inclhack.def (longlong_t): New disabled test, ported
7779         from fixinc.svr4.
7780         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
7781         from fixinc.ptx.
7782         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
7783         ported from fixinc.ptx.
7784
7785 2003-08-26  Per Bothner  <pbothner@apple.com>
7786
7787         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
7788         (cpp_error_with_line):  Use fileline for appropriate parameter.
7789         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
7790         (struct cpp_reader):  Likewise for fields line and directive_line.
7791         (_cpp_begin_message):  Use fileline for appropriate parameter.
7792         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
7793         cpp_error):  Use fileline for appropriate parameters and variables.
7794         (print_location):  New local lin, since it is not a fileline.
7795
7796 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7797
7798         PR middle-end/12002
7799         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
7800         (FLOAT_TYPE_P): Define in terms of these two new macros.
7801         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
7802         for complex floating point types.
7803
7804 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
7805
7806         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
7807         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
7808         s390_output_pool_entry.
7809
7810 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
7811
7812         * fixinc/inclhack.def (svr4_preproc_lint_on,
7813         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
7814         fixes, ported from fixinc.svr4.
7815
7816 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
7817
7818         * doc/install.texi (Prerequisites): Mention GNU make requirement.
7819
7820         * Makefile.in (AR_FOR_TARGET): Export it.
7821         (AR_CREATE_FOR_TARGET): Likewise.
7822         (AR_FLAGS_FOR_TARGET): Likewise.
7823         (AR_EXTRACT_FOR_TARGET): Likewise.
7824         (AWK): Likewise.
7825         (BUILD_PREFIX): Likewise.
7826         (BUILD_PREFIX_1): Likewise.
7827         (DESTDIR): Likewise.
7828         (GCC_FOR_TARGET): Likewise.
7829         (INCLUDES): Likewise.
7830         (INSTALL_DATA): Likewise.
7831         (LIB1ASMSRC): Likewise.
7832         (LIBGCC2_CFLAGS): Likewise.
7833         (MACHMODE_H): Likewise.
7834         (NM_FOR_TARGET): Likewise.
7835         (RANLIB_FOR_TARGET): Likewise.
7836         (libsubdir): Likewise.
7837         (slibdir): Likewise.
7838         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
7839         exporting.
7840         (libgcc.a): Don't pass them here.
7841         (stmp-multilib): Or here.
7842         (install-libgcc): Or here.
7843         (install-multilib): Or here.
7844         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
7845         (stage1_build): Or here.
7846
7847 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
7848
7849         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
7850         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
7851
7852 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
7853
7854         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
7855         "*fmaddsf", "*fmsubsf"): New insns.
7856
7857 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7858
7859         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
7860         (C1*C2)/X when unsafe math optimizations are allowed.
7861         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
7862         math optimizations.  Minor code clean-ups.  Recursively call
7863         fold when constructing sub-expressions.
7864
7865 2003-08-26  Roger Sayle  <roger@eyesopen.com>
7866
7867         * builtins.c (fold_builtin_bitop): New function to perform constant
7868         folding of ffs, clz, ctz, popcount and parity builtin functions
7869         and their long and long long variants (such as ffsl and ffsll).
7870         (fold_builtin): fold_builtin_bitop when appropriate.
7871         * simplify-rtx.c (simplify_unary_operation): Honor both
7872         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
7873         evaluating clz and ctz at compile-time, for operands wider
7874         than HOST_WIDE_INT.
7875
7876 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
7877
7878         * builtins.c (build_function_call_expr): Don't set
7879         TREE_SIDE_EFFECTS here.
7880         * expr.c (emit_block_move_via_libcall): Likewise.
7881         (clear_storage_via_libcall): Likewise.
7882         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
7883         CALL_EXPRs.
7884
7885         * gcse.c (is_too_expensive): New function.
7886         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
7887
7888 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
7889
7890         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
7891         commented-out logic to use DCE threads (if present), add
7892         support for POSIX threads.
7893         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
7894         #defines for -pthread.  Add -lpthread to LIB_SPEC when
7895         -pthread.  In both cases take -mt as a synonym for -pthread
7896         for acc compatibility.
7897         Define GTHREAD_USE_WEAK to 0.
7898         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
7899         Remove old logic for DCE threads from LIB_SPEC.
7900         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
7901
7902 2003-08-25  Roger Sayle  <roger@eyesopen.com>
7903
7904         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
7905         return 0 for invalid argument types.  Instead drop through to a
7906         call of expand_call at the bottom of function.  If op is SQRT,
7907         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
7908
7909 2003-08-25  Richard Henderson  <rth@redhat.com>
7910
7911         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
7912         result when op0 is SImode.
7913
7914 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
7915
7916         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
7917         from fixinc.svr4.
7918         * fixinc/fixincl.x: Regenerate.
7919         * fixinc/tests/base/sys/signal.h: Regenerate.
7920
7921 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7922
7923         * combine.c (simplify_comparison): Re-enable widening of comparisons
7924         with non-paradoxical subregs of non-REG expressions.
7925
7926 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7927
7928         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
7929
7930 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
7931
7932         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
7933
7934 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7935
7936         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
7937         * c-pretty-print.h (c_pretty_printer): Now typedef to the
7938         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
7939         (struct c_pretty_print_info): Document.  Add new fields.
7940         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
7941         (pp_direct_abstract_declarator): New macro.
7942         (pp_ptr_operator): Likewise.
7943         (pp_simple_type_specifier): Likewise.
7944         (pp_expression): Likewise.
7945         (pp_parameter_list): Rename from pp_parameter_declaration.
7946         * c-pretty-print.c (pp_c_whitespace): Now a function.
7947         (pp_c_left_paren): Likewise.
7948         (pp_c_right_paren): Likewise.
7949         (pp_c_dot): Likewise.
7950         (pp_c_ampersand): Likewise.
7951         (pp_c_arrow): Likewise.
7952         (pp_c_semicolon): Likewise.
7953         (pp_c_type_cast): New function.
7954         (pp_c_space_for_pointer_operator): Likewise.
7955         (pp_c_call_argument_list): Likewise.
7956         (pp_c_cv_qualifier): Adjust prototype.
7957         (pp_c_type_qualifier_list): Likewise.
7958         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
7959         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
7960         Adjust to follow standard grammar.
7961         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
7962         REFERENCE_TYPE.  Tidy.
7963         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
7964         (pp_c_parameter_declaration): Remove.
7965         (pp_c_abstract_declarator): Adjust prototype.
7966         (pp_c_direct_abstract_declarator): Likewise.
7967         (pp_c_type_id): Likewise.
7968         (pp_c_storage_class_specifier): Likewise.
7969         (pp_c_function_specifier): Likewise.
7970         (pp_c_declaration_specifiers): Likewise.
7971         (pp_c_direct_declarator): Likewise.
7972         (pp_c_declarator): Likewise.
7973         (pp_c_declarator): Likewise.
7974         (pp_c_declaration): Likewise.
7975         (pp_c_attributes): Likewise.  Tidy.
7976         (pp_c_function_definition): Adjust prototype.
7977         (pp_c_char): Likewise.
7978         (pp_c_string_literal): Likewise.
7979         (pp_c_integer_constant): Likewise.
7980         (pp_c_character_constant): Likewise.
7981         (pp_c_bool_constant): Likewise.
7982         (pp_c_enumeration_constant): Likewise.
7983         (pp_c_floating_constant): Likewise.
7984         (pp_c_constant): Likewise.
7985         (pp_c_identifier): Likewise.
7986         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
7987         (pp_c_initializer): Adjust prototype.
7988         (pp_c_init_declarator): Likewise.
7989         (pp_c_initializer_list): Likewise.
7990         (pp_c_id_expression): Likewise.
7991         (pp_c_postfix_expression): Likewise.
7992         (pp_c_expression_list): Likewise.
7993         (pp_c_unary_expression): Likewise.
7994         (pp_c_cast_expression): Likewise.
7995         (pp_c_multiplicative_expression): Likewise.
7996         (pp_c_additive_expression): Likewise.
7997         (pp_c_shift_expression): Likewise.
7998         (pp_c_relational_expression): Likewise.
7999         (pp_c_equality_expression): Likewise.
8000         (pp_c_and_expression): Likewise.
8001         (pp_c_exclusive_or_expression): Likewise.
8002         (pp_c_inclusive_or_expression): Likewise.
8003         (pp_c_logical_and_expression): Likewise.
8004         (pp_c_logical_or_expression): Likewise.
8005         (pp_c_conditional_expression): Likewise.
8006         (pp_c_assignment_expression): Likewise.
8007         (pp_c_expression): Likewise.  Tidy.
8008         (pp_c_statement): Likewise.  Document.
8009         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
8010
8011         * c-lang.c (c_initialize_diagnostics): Update.
8012         * c-common.h (strip_pointer_operator): Declare.
8013         * c-common.c (strip_pointer_operator): Define.
8014
8015 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
8016
8017         PR c++/8795
8018         * tree.h (build_method_type_directly): Declare.
8019         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
8020         (vector_size_helper): Likewise.
8021         * tree.c (build_method_type_directly): New function.
8022         (build_method_type): Use it.
8023
8024 2003-08-24  Richard Henderson  <rth@redhat.com>
8025
8026         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
8027         for 16-byte vector modes if sse not enabled; warn for abi change.
8028         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
8029
8030 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
8031
8032         * rtlanal.c (may_trap_p): Simplify an integer comparison.
8033
8034 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
8035
8036         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
8037         comment.  Enable for DYNIX/ptx systems (when they switch to
8038         regular fixincludes).
8039         * fixinc/fixincl.x: Regenerate.
8040
8041 2003-08-23  Jason Eckhardt  <jle@rice.edu>
8042
8043         * config/i860/t-i860: New.
8044         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
8045
8046 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
8047
8048         * c-decl.c (pushdecl): Only put decls which finish_struct will do
8049         something about onto incomplete chain.
8050         (finish_struct): If not removing type from incomplete
8051         list, update prev.
8052
8053 2003-08-20  Jan Hubicka  <jh@suse.cz>
8054
8055         PR target/11369
8056         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
8057
8058         PR target/11031
8059         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
8060         const_0_to_15_operand, const_0_to_255_operand): New predicates.
8061         * i386.h (PREDICATE_CODES): Add these.
8062         * i386.c (pinsrw and pextrw patterns): Use them.
8063
8064         PR target/10984
8065         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
8066
8067         PR target/8869
8068         * expr.c (convert_modes): Deal properly with integer to vector
8069         constant conversion.
8070
8071         PR target/8871
8072         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
8073
8074 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
8075
8076         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
8077         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
8078         ("*movhi"): ... this.
8079         ("movqi", "*movqi"): Likewise.
8080         ("movqi_64"): Remove.
8081         ("*zero_extendhisi2_31"): Change predicate to s_operand.
8082
8083 2003-08-23  Dale Johannesen  <dalej@apple.com>
8084         * calls.c (emit_library_call_value_1): Fix obvious errors in
8085         arguments to emit_group_store.
8086
8087 2003-08-23  Jason Eckhardt  <jle@rice.edu>
8088
8089         * calls.c (emit_library_call_value_1): Remove code related
8090         to LIBGCC_NEEDS_DOUBLE.
8091         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
8092         * doc/tm.texi: Likewise.
8093         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
8094
8095 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
8096
8097         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8098
8099 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
8100
8101         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
8102         as well.  Put memory references in the varargs alias set.
8103         (mips_expand_prologue): Remove varargs handling from here.
8104
8105 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
8106
8107         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
8108         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
8109         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
8110         for function pointer calls.
8111         * config/s390/s390.md ("*negdi2_31"): Likewise.
8112
8113 2003-08-23  Roger Sayle  <roger@eyesopen.com>
8114
8115         * combine.c (apply_distributive_law): Correct comment.
8116
8117 2003-08-23  Jason Eckhardt  <jle@rice.edu>
8118
8119         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
8120
8121 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8122
8123         * config/i860/i860.c (i860_build_va_list): Create the va_decl
8124         declaration.  Document the va_list structure.
8125         (i860_va_start): Initialize the va_list structure.
8126         (i860_va_arg): Rewrite completely.
8127         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
8128         * config/i860/varargs.asm: Do not allocate or initialize
8129         a va_list.  Return the address of the register save area.
8130
8131 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8132
8133         * config/iq2000/iq2000.c: Fix comment typos.
8134         * config/iq2000/iq2000.md: Likewise.
8135
8136 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8137
8138         * config/iq2000/iq2000.c: Follow spelling conventions.
8139         * config/iq2000/iq2000.h: Likewise.
8140         * config/mn10300/mn10300.c: Likewise.
8141
8142 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8143
8144         * config/i860/i860.c (output_move_double): Don't set latehalf
8145         to zero for CONST_INT (since it could be, e.g., -1).
8146
8147         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
8148         (MODSI3_LIBCALL): ...with this one.
8149         (UREMSI3_LIBCALL): Replace this macro...
8150         (UMODSI3_LIBCALL): ...with this one.
8151
8152 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8153
8154         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
8155         (output_delayed_branch): Remove prototype.
8156         (single_insn_src_p): Remove prototype.
8157         * config/i860/i860.c (single_insn_src_p): Remove function.
8158         (output_delayed_branch): Remove function.
8159         (output_delay_insn): Remove function.
8160         (va_start): Remove unconditional test and dead code, re-format.
8161         Fix coding style and spelling problems in various comments.
8162         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
8163         (blockage pattern): ...and use it here.
8164         (all define_peephole patterns related to delayed branches): Remove.
8165         Fix coding style and spelling problems in various comments.
8166
8167 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8168
8169         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
8170         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
8171         Convert all function definitions from traditional to ISO C90 syntax.
8172         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
8173         with 'GCC'.  Remove all uses of the PARAMS macro.
8174         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
8175         * config/i860/i860.md: Likewise.
8176         * config/i860/sysv4.h: Likewise.
8177         * config/i860/varargs.asm: Likewise.
8178
8179 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8180
8181         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
8182         argument.
8183         (tdesc_section): Add prototype.
8184         Update copyright dates.
8185         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
8186         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
8187         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
8188         (targetm): Likewise.
8189         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
8190         for '%d' where necessary.
8191         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
8192         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
8193         by UNITS_PER_WORD when referencing (likewise for .floats).
8194         (I860_SVR4_VARARGS): Rename...
8195         (I860_SVR4_VA_LIST): ...to this.
8196         Call build() with 't' rather than 'field'.
8197         (i860_rtx_costs): New function.
8198         (TARGET_RTX_COSTS): Define.
8199         (i860_internal_label): New function.
8200         (TARGET_ASM_INTERNAL_LABEL): Define.
8201         (i860_file_start): New function.
8202         Update copyright dates.
8203         * config/i860/i860.h (CPP_PREDEFINES): Remove.
8204         (TARGET_CPU_CPP_BUILTINS): Define.
8205         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
8206         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
8207         (ASM_FILE_START): Remove.
8208         (ASM_FILE_START_1): Remove.
8209         (ASM_GLOBALIZE_LABEL): Remove.
8210         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
8211         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
8212         with targetm.asm_out.internal_label.
8213         Update copyright dates.
8214         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
8215         (CPP_PREDEFINES): Remove.
8216         (TARGET_OS_CPP_BUILTINS): Define.
8217         (GLOBAL_ASM_OP): Define.
8218         (ASM_FILE_START): Remove.
8219         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
8220         (TARGET_ASM_FILE_START): Define.
8221         Update copyright dates.
8222
8223 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8224
8225         * gcc/config.gcc (i860-*-sysv4*): Add target.
8226         * config/i860/i860-protos.h: New.
8227         * config/i860/i860.c: New.
8228         * config/i860/i860.h: New.
8229         * config/i860/i860.md: New.
8230         * config/i860/sysv4.h: New.
8231         * config/i860/varargs.asm: New.
8232         * config/i860/x-sysv4: New.
8233
8234 2003-08-22  Jason Eckhardt  <jle@rice.edu>
8235
8236         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
8237         Remove all uses of PARAMS macro.
8238         Convert all function definitions to ISO C90 syntax.
8239         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
8240         * config/pa/fptr.c: Likewise.
8241         * config/pa/lib2funcs.asm: Likewise.
8242         * config/pa/long_double.h: Likewise.
8243         * config/pa/milli64.S: Likewise.
8244         * config/pa/pa-64.h: Likewise.
8245         * config/pa/pa-hpux.h: Likewise.
8246         * config/pa/pa-hpux10.h: Likewise.
8247         * config/pa/pa-hpux11.h: Likewise.
8248         * config/pa/pa-linux.h: Likewise.
8249         * config/pa/pa-modes.def: Likewise.
8250         * config/pa/pa-osf.h: Likewise.
8251         * config/pa/pa-pro-end.h: Likewise.
8252         * config/pa/pa.md: Likewise.
8253         * config/pa/pa32-linux.h: Likewise.
8254         * config/pa/pa64-linux.h: Likewise.
8255         * config/pa/pa64-hpux.h: Likewise.
8256         * config/pa/pa64-regs.h: Likewise.
8257         * config/pa/quadlib.c: Likewise.
8258         * config/pa/rtems.h: Likewise.
8259         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
8260         all uses of the PARAMS macro.
8261         * config/pa/pa.h: Likewise.
8262         * config/pa/som.h: Likewise.
8263
8264         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
8265         Remove all uses of PARAMS macro.
8266         Convert all function definitions to ISO C90 syntax.
8267         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
8268         Remove all uses of PARAMS macro.
8269         * config/iq2000.h: Remove all uses of PARAMS macro.
8270         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
8271
8272 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
8273
8274         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
8275         * config/s390/s390.c (gen_consttable): Remove.
8276         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
8277         (s390_output_pool_entry): New function.
8278         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
8279         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
8280         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
8281         (UNSPECV_POOL_ENTRY): ... this new constant.
8282         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
8283         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
8284         ("*pool_entry"): ... and replace by this new insn.
8285         ("literal_pool_31"): Do not emit anchor label if pool empty.
8286
8287         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
8288         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
8289         (s390_fixup_clobbered_return_reg): Remove.
8290         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
8291         (s390_return_addr_rtx): Always retrieve return address from save area
8292         slot.  Use save_return_addr_p to force slot to be filled.
8293         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
8294
8295 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
8296
8297         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
8298         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
8299         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
8300         around SB-1 errata if TARGET_FIX_SB1 is set.
8301         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
8302         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
8303
8304 2003-08-22  Roger Sayle  <roger@eyesopen.com>
8305
8306         * hashtable.c (ht_expand): Avoid calculating rehash for the common
8307         case that the first probe hits an empty hash table slot.
8308
8309 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
8310
8311         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
8312
8313 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
8314
8315         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
8316         (ptr_extend_plus_imm): ... this.
8317         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
8318         optimization in C++.
8319         (ia64_output_mi_thunk): Support ILP32 mode.
8320
8321 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
8322
8323         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
8324         function.
8325         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
8326
8327 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8328
8329         * config/i386/i386.c (const_int_1_operand): Simplify an
8330         integer comparison.
8331
8332 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
8333
8334         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
8335         * config/rs6000/ppc64-fp.c: Likewise.
8336
8337 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8338
8339         * cfgcleanup.c: Fix comment typos.
8340         * emit-rtl.c: Likewise.
8341         * optabs.c: Likewise.
8342         * ra-build.c: Likewise.
8343         * rtlanal.c: Likewise.
8344         * tree.h: Likewise.
8345
8346 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8347
8348         * c-decl.c: Fix comment formatting.
8349         * cfgrtl.c: Likewise.
8350         * combine.c: Likewise.
8351         * convert.c: Likewise.
8352         * dominance.c: Likewise.
8353         * dwarf2out.c: Likewise.
8354         * dwarfout.c: Likewise.
8355         * expmed.c: Likewise.
8356         * fold-const.c: Likewise.
8357         * gcov.c: Likewise.
8358         * genattrtab.c: Likewise.
8359         * ggc-common.c: Likewise.
8360         * mips-tfile.c: Likewise.
8361         * regmove.c: Likewise.
8362
8363 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
8364
8365         * builtin-attrs.def: Fix comment formatting.
8366         * c-pretty-print.c: Likewise.
8367         * diagnostic.h: Likewise.
8368         * langhooks.h: Likewise.
8369         * recog.c: Likewise.
8370         * simplify-rtx.c: Likewise.
8371         * tree.def: Likewise.
8372
8373 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
8374
8375         * config/m68k/m68k-protos.h: Convert to ISO C90.
8376         * config/m68k/m68k.c: Likewise.
8377
8378 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
8379             Paul Dale  <pauli@snapgear.com>
8380             Peter Barada <peter@baradas.org>
8381
8382         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
8383         ColdFire cores.
8384
8385 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
8386
8387         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
8388         * config.gcc (*-*-openbsd): Don't set tm_file.
8389         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
8390         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
8391         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
8392         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
8393         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
8394         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
8395         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
8396         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
8397         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
8398         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
8399         xscale-*-coff): Use explicit and complete lists of target headers
8400         to include.  Move definitions to tm_defines where appropriate.
8401         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
8402         not-yet-contributed configuration.
8403
8404         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
8405         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
8406         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
8407         * config/i386/nto.h, config/iq2000/iq2000.h,
8408         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
8409         * config/m68k/linux.h, config/m68k/m68k-aout.h
8410         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
8411         * config/m68k/netbsd.h, config/m68k/openbsd.h
8412         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
8413         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
8414         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
8415         Remove includes of other target config headers, and
8416         definitions of macros moved to tm_defines lists.  Add #undefs
8417         where now necessary to prevent redefinition warnings.
8418
8419         * config/h8300/coff.h: New file split out of...
8420         * config/h8300/elf.h: ...here.
8421         * config/m68k/hp320base.h: New file split out of...
8422         * config/m68k/hp320.h: ...here.
8423         * config/rs6000/lynxbase.h: New file split out of...
8424         * config/rs6000/lynx.h: ...here.
8425
8426         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
8427         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
8428
8429         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
8430         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
8431         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
8432         Remove unnecessary #ifndef.
8433         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
8434         [under IN_LIBGCC2] with config/.
8435
8436 2003-08-21  Per Bothner  <pbothner@apple.com>
8437
8438         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
8439         to cpp_push_buffer.
8440         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
8441         by return_at_eof check.  Always call _cpp_pop_buffer at end.
8442
8443 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
8444
8445         PR target/11805
8446         * config/h8300/h8300.md (two anonymous patterns): Remove.
8447
8448 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
8449
8450         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
8451         * config/mips/mips.c (function_arg_pass_by_reference): Never return
8452         true for n32 & n64.
8453
8454 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
8455
8456         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
8457         and similarly in (A | C) == D where C & ~D != 0.
8458
8459 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
8460
8461         PR 8180
8462         * configure.in: When testing with_libs and with_headers, treat
8463         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
8464         * configure: Regenerate.
8465
8466 2003-08-20  Peter Barada <peter@baradas.org>
8467
8468         * longlong.h (umul_ppmm): Add ColdFire support.
8469
8470 2003-08-20  Peter Barada <peter@baradas.org>
8471             Bernardo Innocenti  <bernie@develer.com>
8472
8473         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
8474         * config/m68k/m68k.h: Likewise.
8475         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
8476         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
8477         * config/m68k/linux.h: Likewise.
8478         * config/m68k/m68k.c: Likewise.
8479         * config/m68k/m68k.md: Likewise.
8480         * config/m68k/m68kelf.h: Likewise.
8481         * config/m68k/netbsd-elf.h: Likewise.
8482         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
8483
8484 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
8485
8486         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
8487         * config/m68k/m68k.md: Likewise.
8488
8489 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
8490
8491         PR java/11996
8492         Revert this change:
8493         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
8494         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
8495         types with precisions other than those given by native machine
8496         modes.
8497
8498 2003-08-20  Gunther Nikl  <gni@gecko.de>
8499
8500         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
8501         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
8502         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
8503         * config/m68k/m68k.md (anonymous define_insn): Likewise
8504         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
8505         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
8506         code selected by NO_ASM_FMOVECR
8507
8508 2003-08-20  Gunther Nikl  <gni@gecko.de>
8509
8510         * config/m68k/m68k.c (output_move_const_into_data_reg,
8511         output_move_himode): unify MOTOROLA/MIT handling of moveq
8512         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
8513         Likewise
8514
8515 2003-08-20  Gunther Nikl  <gni@gecko.de>
8516
8517         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
8518         label name
8519         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
8520         HOST_WIDE_INT_PRINT_DEC with %wd
8521
8522 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
8523
8524         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
8525         redefine warning.
8526
8527 2003-08-20  Roger Sayle  <roger@eyesopen.com>
8528
8529         PR middle-end/11984
8530         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
8531         operands before calling tree_int_cst_lt when performing associative
8532         transformations.
8533
8534 2003-08-20  Jason Merrill  <jason@redhat.com>
8535
8536         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
8537         (EXPR_CHECK): Don't check for 'r' or 's' if we're
8538         checking IS_EXPR_CODE_CLASS.
8539         * calls.c (calls_function_1): Likewise.
8540         * fold-const.c (fold): Likewise.
8541         * tree.c (iterative_hash_expr): Likewise.
8542         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
8543
8544 2003-08-20  Gunther Nikl  <gni@gecko.de>
8545
8546         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
8547         depending on MOTOROLA_BSR
8548         * config/m68k/m68k.md (anonymous define_insn): Likewise
8549
8550 2003-08-20  Jason Merrill  <jason@redhat.com>
8551
8552         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
8553         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
8554         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
8555         * dojump.c (do_jump): Likewise.
8556         * fold-const.c (operand_equal_p, fold): Likewise.
8557         (tree_expr_nonnegative_p): Likewise.
8558
8559         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
8560         TYPE_USER_ALIGN for FIELD_DECLs.
8561
8562         * attribs.c (decl_attributes): Rebuild the function pointer type after
8563         changing the target type.
8564         * tree.c (get_qualified_type): Also check that the attributes match.
8565
8566 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
8567
8568         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
8569         * objc/config-lang.in (stagestuff): ... to here.
8570
8571 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
8572
8573         PR c++/11946
8574         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
8575         NOP_EXPR) when necessary.
8576         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
8577         types with precisions other than those given by native machine
8578         modes.
8579
8580 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
8581
8582         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
8583         because some macro is defined.
8584
8585         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
8586         options.
8587         * config/i386/darwin.h (ASM_SPEC): New.
8588         (SUBTARGET_EXTRA_SPECS): New.
8589         * config/rs6000/darwin.h (ASM_SPEC): New.
8590         (SUBTARGET_EXTRA_SPECS): New.
8591         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
8592         a cross-compiler between two different processors on Darwin.
8593         * configure: Regenerate.
8594
8595 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8596
8597         * builtins.c: Fix comment typos.
8598         * c-common.c: Likewise.
8599         * c-decl.c: Likewise.
8600         * c-pretty-print.c: Likewise.
8601         * cfgbuild.c: Likewise.
8602         * cfglayout.c: Likewise.
8603         * cfgloopanal.c: Likewise.
8604         * cgraphunit.c: Likewise.
8605         * cppfiles.c: Likewise.
8606         * dwarfout.c: Likewise.
8607         * expr.c: Likewise.
8608         * fold-const.c: Likewise.
8609         * gcse.c: Likewise.
8610         * ggc-page.c: Likewise.
8611         * haifa-sched.c: Likewise.
8612         * pretty-print.c: Likewise.
8613         * tree.c: Likewise.
8614         * tree.h: Likewise.
8615         * value-prof.c: Likewise.
8616
8617 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8618
8619         * c-decl.c: Follow spelling conventions.
8620         * cppfiles.c: Likewise.
8621
8622 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
8623
8624         * c-common.c: Fix comment formatting.
8625         * c-common.h: Likewise.
8626         * c-decl.c: Likewise.
8627         * cppinit.c: Likewise.
8628         * cpplib.h: Likewise.
8629         * emit-rtl.c: Likewise.
8630         * input.h: Likewise.
8631         * line-map.h: Likewise.
8632         * opts.c: Likewise.
8633         * opts.h: Likewise.
8634         * simplify-rtx.c: Likewise.
8635
8636 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
8637
8638         * unwind-c.c: Add libgcc-style exception.
8639         * unwind-dw2.c: Likewise.
8640         * unwind-pe.h: Likewise.
8641         * unwind-sjlj.c: Likewise.
8642         * unwind.inc: Likewise.
8643
8644 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
8645
8646         PR c/5582 PR c++/10538
8647         * langhooks-def.h (lhd_decl_uninit): Declare.
8648         (LANG_HOOKS_DECL_UNINIT): New macro.
8649         (LANG_HOOKS_INITIALIZER): Adjust.
8650         * langhooks.h (struct lang_hooks): Add new field
8651         decl_uninit.
8652         * langhooks.c (lhd_decl_uninit): Define.
8653         * c-common.c (c_decl_uninit_1): New function.
8654         (c_decl_uninit): New function.
8655         (warn_init_self): Define.
8656         * c-common.h (c_decl_uninit): Declare.
8657         (warn_init_self): Declare.
8658         * c.opt: Introduce -Winit-self.
8659         * c-opts.c (c_common_handle_options): Set warn_init_self.
8660         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
8661         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
8662         * function.c (uninitialized_vars_warning): Call the language hook.
8663         * doc/invoke.texi: Document -Winit-self.
8664
8665 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
8666
8667         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
8668         to use better predicates and constraints.  Define new
8669         instruction to handle "trap_if" with DI-mode arguments.
8670         (conditional_trap): FAIL if trap code is not 0.
8671
8672 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
8673
8674         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
8675         strstr with $pb to a strcompare with "<pic base>"
8676         (ix86_output_addr_diff_elt): Output the real pic base.
8677
8678 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8679
8680         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
8681         (LANG_HOOKS_INITIALIZER): Correct.
8682         * c-lang.c: Likewise.
8683
8684 2003-08-19  Jan Hubicka  <jh@suse.cz>
8685
8686         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
8687         (cgraph_varpool_mark_needed_node): Likewise.
8688         * cgraph.h (notice_global_symbol): Declare
8689         * varasm.c (notice_global_symbol): Break out from ...
8690         (assemble_start_function): ... here; update for variables.
8691         (assemble_variable): Use notice_global_symbol.
8692
8693 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
8694
8695         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
8696         expect SFmode and DFmode arguments to be passed in FPRs,
8697         regardless of the underlying type.
8698
8699 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
8700
8701         PR target/11924
8702         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
8703         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
8704
8705 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
8706
8707         PR c/11207
8708         * c-typeck.c (set_init_index): Check for negative index.
8709
8710 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
8711
8712         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
8713         call0 ABI.
8714         * config/xtensa/crtn.asm (_init, _fini): Likewise.
8715         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
8716         __umodsi3, __modsi3): Likewise.
8717         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
8718         $(INCLUDES).
8719
8720 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
8721
8722         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
8723
8724 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8725
8726         * config/mips/mips.md: Quote C code in braces.  Remove use of
8727         fake const0_rtx operands.  Remove double backslashes.  Use \;.
8728         Remove workarounds for bogus warnings.
8729
8730 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8731
8732         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
8733         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
8734         rather than TARGET_MIPS4300.
8735         (mulsf3_internal, mulsf3_r4300): Likewise.
8736
8737 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
8738
8739         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
8740
8741 2003-08-17  Roger Sayle  <roger@eyesopen.com>
8742
8743         * simplify-rtx.c (associative_constant_p): New function to test
8744         whether an RTX expression is an immediate constant.
8745         (simplify_associative_operation): New function to perform some
8746         reassociation optimizations of associative binary expressions.
8747         (simplify_binary_operation): Use simplify_associative_operation
8748         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
8749         Floating point expressions are only reassociated when unsafe
8750         math optimizations are permitted.
8751
8752 2003-08-17  Andreas Jaeger  <aj@suse.de>
8753
8754         * config/alpha/alpha.md: Remove usage of PARAMS.
8755
8756         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
8757         * config/i386/i386-interix.h: Likewise.
8758         * config/i386/winnt.c: Likewise.
8759         * config/i386/cygming.h: Likewise.
8760         * config/i386/cygwin2.c: Likewise.
8761         * config/darwin.c: Likewise.
8762         * config/darwin-c.c: Likewise.
8763         * config/darwin-protos.h: Likewise.
8764         * config/darwin.h: Likewise.
8765         * config/s390/s390-protos.h: Likewise.
8766         * config/s390/s390.c: Likewise.
8767         * config/ia64/ia64.c: Likewse
8768         * config/ia64/ia64-protos.h: Likewise.
8769         * config/ia64/ia64-c.c: Likewise.
8770
8771 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8772
8773         * config/sparc/sparc.c: Convert to ISO C.
8774
8775         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
8776         * config/sparc/sparc.c: Likewise.
8777
8778 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
8779
8780         PR c++/11512
8781         * stmt.c (expand_expr_stmt_value): Don't warn about any void
8782         typed expression.
8783
8784 2003-08-16  Jan Hubicka  <jh@suse.cz>
8785
8786         * i386.c (ix86_fntype_regparm): Rename from ...
8787         (ix86_function_regparm): ... this one; add fastcall and local
8788         functions.
8789         (ix86_function_ok_for_sibcall): Update.
8790         (ix86_return_pops_args): Likewise.
8791         (init_cumulative_args): Likewise.
8792         (x86_can_output_mi_thunk): Likewise.
8793         (function_arg): Fix formating.
8794         (x86_this_parameter): Fix fastcall.
8795         (x86_output_mi_thunk): Likewise.
8796
8797         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
8798         body as reachable; mark nested functions as needed too.
8799         (dump_cgraph): Do not output global.calls.
8800         * cgraph.h (cgraph_global_info): Kill.
8801         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
8802         (record_call_1): Speedup.
8803         (cgraph_analyze_function): Break out from ...; compute inlining
8804         parameters.
8805         (cgraph_finalize_compilation_unit): ... here.
8806         (cgraph_mark_inline): Kill computation of calls.
8807         (cgraph_decide_inlining): Do not compute most of initial values.
8808
8809 2003-08-14  Roger Sayle  <roger@eyesopen.com>
8810
8811         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
8812         to negate if either operand is easy to negate, if we don't care
8813         about sign-dependent rounding.
8814         (negate_expr): Make the logic to negate a REAL_CST explicit.
8815         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
8816         that's easy to negate, if we don't honor sign-dependent rounding.
8817         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
8818         negate, and the symmetric A * -B as -A * B if A is easy to negate.
8819         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
8820         -C/D if B and C are cheap to negate.  Add an explicit rule to
8821         optimize X/-1.0 as -X when we don't care about signaling NaNs.
8822
8823 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
8824
8825         * Makefile.in (tm_file): Rename tm_include_list.
8826         (tm_p_file): Rename tm_p_include_list.
8827         (build_xm_file): Rename build_xm_include_list.
8828         (host_xm_file): Rename host_xm_include_list.
8829         (xm_file): Rename xm_include_list.
8830         (xm_file_list): Add to be substituted.
8831         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
8832         Update to match.
8833         (bt-load.o): Add missing dependency on $(TM_H).
8834         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
8835         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
8836         build_xm_file, generate both *_file_list and *_include_list
8837         values from it.  (xm_file_list was formerly not being generated.)
8838         In *_include_list, prefix the names of all headers found in
8839         $(srcdir)/config with config/.  In each loop, consider only
8840         the special case files that can actually appear in that list.
8841         AC_SUBST all *_file_list and all *_include_list variables; do
8842         not AC_SUBST the plain *_file variables.
8843         * configure: Regenerate.
8844
8845 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8846
8847         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
8848
8849 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8850
8851         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
8852         direct calls.
8853         (attr_length_call): Include it here.  Improve length estimate for
8854         local calls.
8855         (output_call): Use targetm.binds_local_p.
8856
8857 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8858
8859         * builtins.c (CASE_MATHFN): New helper macro.
8860         (mathfn_built_in): Simplify and sort.
8861
8862         * protoize.c (substr): Delete, callers changed to `strstr'.
8863
8864 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
8865
8866         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
8867         * config/iq2000/xm-iq2000.h: Delete file.
8868
8869 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
8870
8871         * gengtype.c (walk_type): Process a subobject before processing
8872         the pointer that points to the subobject.
8873
8874 2003-08-13  Per Bothner  <pbothner@apple.com>
8875
8876         * regclass.c (init_reg_modes):  Make non-static.
8877         Rename to init_reg_modes_once per new naming convention.
8878         (init_regs):  Don't call init_reg_modes here.
8879         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
8880         * rtl.h (init_reg_modes_once):  New declaration.
8881         * toplev.c (backend_init):  Call init_regs after init_emit_once.
8882
8883 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
8884
8885         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
8886         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
8887
8888 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
8889
8890         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
8891         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
8892
8893 2003-08-13  Dale Johannesen  <dalej@apple.com>
8894
8895         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
8896         handling of decrement-and-branch farther than 32 bits.
8897
8898 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
8899
8900         * configure.in (make_compare_target): Move test to ...
8901         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
8902         * configure: Regenerate.
8903
8904 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
8905
8906         * config/mips/iris6.h: Convert to C90 prototypes.
8907         * config/mips/irix6-libc-compat.c: Likewise.
8908         * config/mips/mips-protos.h: Likewise.
8909         * config/mips/mips.c: Likewise.
8910
8911 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
8912
8913         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
8914         for selected machines.  Comment heavily.
8915         fixinc/fixincl.x: Rebuild.
8916         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
8917
8918 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
8919
8920         * config/mips/mips.h: Tweak various comments.
8921         * config/mips/mips.c: Likewise.
8922
8923 2003-08-11  James E Wilson  <wilson@tuliptree.org>
8924
8925         PR optimization/11319
8926         PR target/10021
8927         * alias.c (find_base_value, case REG): Return 0 not src if no base
8928         found.
8929
8930 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8931
8932         * gcse.c (gmalloc): Fix last change.
8933
8934 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8935
8936         * simplify-rtx.c (simplify_binary_operation): Replace calls to
8937         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
8938         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
8939         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
8940
8941 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8942
8943         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
8944         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
8945         typecode for an ABS_EXPR.
8946
8947         * doc/c-tree.texi: Document ABS_EXPR.
8948
8949 2003-08-11  Roger Sayle  <roger@eyesopen.com>
8950
8951         * fold-const.c (fold): Optimize any associative floating point
8952         operator with -funsafe-math-optimizations, not just MULT_EXPR.
8953
8954 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
8955
8956         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
8957         information in SHmedia case too.
8958         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
8959         Likewise.
8960         (__set_fpscr): Use an access via GOT for PIC case.
8961
8962 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
8963
8964         * configure.in (intermodule): Make switch test more portable.
8965         * configure: Regenerate.
8966
8967 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
8968
8969         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
8970         (restrap): Likewise.
8971
8972 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8973
8974         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
8975         (grealloc): Size argument is a size_t.
8976         (gcalloc): New function.  Use throughout in lieu of
8977         gmalloc/memset.
8978
8979         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
8980         xmalloc/memset.
8981         * config/ia64/ia64.c (ia64_reorg): Likewise.
8982         * conflict.c (conflict_graph_new): Likewise.
8983         * fixinc/fixincl.c (run_compiles): Likewise.
8984         * genattrtab.c (optimize_attrs): Likewise.
8985         * genrecog.c (new_decision): Likewise.
8986         * haifa-sched.c (schedule_block): Likewise.
8987         * hashtable.c (ht_create): Likewise.
8988
8989 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
8990
8991         * config/xtensa/lib2funcs.S: Fix whitespace.
8992         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
8993         syntax where appropriate.  Remove unnecessary backslash escapes.
8994         Reformat comments and fix some code formatting.
8995         (extendqisi2): Rearrange conditional.
8996         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
8997         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
8998         of fatal_insn.
8999
9000 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
9001
9002         * config/mips/mips.c: Various formatting fixes.
9003         (override_options): Resync -mtune handling with gas.
9004         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
9005         * config/mips/mips.h: More formatting fixes.
9006         (mips_abi): Move declaration.
9007         * config/mips/mips.md (exception_receiver): Add mode to
9008         unspec_volatile.
9009
9010 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
9011
9012         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
9013         evsplatfi here.
9014         (bdesc_1arg): Remove evsplati and evsplatfi.
9015
9016 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
9017
9018         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
9019         into account.
9020
9021 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9022
9023         * builtins.c (expand_builtin_strcat): Optimize constant strings.
9024
9025 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9026
9027         * pretty-print.c (pp_base_indent): Rename from pp_indent.
9028         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
9029         (struct c_pretty_print_info): Add more fields.
9030         (pp_c_left_paren): Move to c-pretty-print.c.
9031         (pp_c_right_paren): Likewise.
9032         (pp_c_left_brace): Likewise.
9033         (pp_c_right_brace): Likewise.
9034         (pp_c_left_bracket): Likewise.
9035         (pp_c_right_bracket): Likewise.
9036         (pp_c_declarator): Declare.
9037         (pp_c_direct_declarator): Likewise.
9038         (pp_c_specifier_qualifier_list): Likewise.
9039         (pp_c_type_id): Likewise.
9040         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
9041         (pp_c_type_qualifier_list): New.
9042         (pp_c_pointer): Likewise.
9043         (pp_c_parameter_type_list): Likewise.
9044         (pp_c_function_definition): Likewise.
9045         (pp_c_id_expression): Likewise.
9046         (pp_c_simple_type_specifier): Tidy.
9047         (pp_c_unary_expression): Likewise.
9048         (pp_c_expression): Likewise.
9049         (pp_c_pretty_printer_init): Likewise.
9050         (pp_c_specifier_qualifier_list): Rework..
9051         (pp_c_abstract_declarator): Likewise.
9052         (pp_c_postfix_expression): Likewise.
9053         (pp_c_primary_expression): Likewise.
9054         (pp_c_cast_expression): Likewise.
9055         (pp_c_direct_abstract_declarator): Likewise.
9056         (pp_c_storage_class_specifier): Likewise.
9057         (pp_c_function_specifier): Likewise.
9058         (pp_c_declaration_specifiers): Likewise.
9059         (pp_c_direct_declarator): Likewise.
9060         (pp_c_declarator): Likewise.
9061         (pp_c_declaration): Likewise.
9062         (pp_c_statement): Likewise.
9063         (pp_c_integer_constant): Rename from pp_c_integer_literal.
9064         (pp_c_character_constant): Rename from pp_c_character_literal.
9065         (pp_c_bool_constant): Rename from pp_c_bool_literal.
9066         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
9067         (pp_c_floating_constant): Rename from pp_c_real_literal.
9068         (pp_c_constant): Rename from pp_c_literal.
9069         * c-lang.c: Include diagnostic.h and c-pretty-print.h
9070         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
9071         (c_initialize_diagnostics): New.
9072         * Makefile.in (c-lang.o): Update dependency.
9073
9074 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
9075
9076         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
9077
9078 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
9079
9080         * config/mips/mips.c (mips_no_mips16_string): Remove.
9081         (override_options): Don't handle -mips16 as part of -mipsN.
9082         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
9083         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
9084         (TARGET_OPTIONS): Remove -mno-mips16.
9085
9086 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
9087
9088         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
9089         (coprocessor2_operand): Likewise.
9090         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
9091         (lookup_name): Remove declaration.
9092         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
9093         (mips16, mips_abicalls): Remove.
9094         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
9095         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
9096         (coprocessor_operand, coprocessor2_operand): Remove.
9097         (override_options): Don't set mips16 or mips_abicalls.
9098         (print_operand): Don't expect SIGN_EXTEND operands.
9099         (mips_secondary_reload_class): Likewise.
9100         (mips_output_conditional_branch): Remove disabled long-branch code.
9101         * config/mips/mips.h (call_used_regs): Remove declaration.
9102         (may_call_alloca): Likewise.
9103         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
9104         (mips_abicalls, mips16): Remove declarations.
9105         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
9106         (CC1_SPEC): Remove outdated comment.
9107         (MIPS_VERSION, MACHINE_TYPE): Remove.
9108         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
9109         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
9110         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
9111         (PUSH_ROUNDING): Likewise.
9112         (ASSEMBLER_SCRATCH_REGNUM): Remove.
9113         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
9114         and mips16 with TARGET_MIPS16.
9115
9116 2003-08-09  Per Bothner  <pbothner@apple.com>
9117
9118         * cppinit.c (cpp_read_main_file):  Split out source-independent
9119         initialization to separate function ...
9120         (cpp_post_options):  New function.
9121         * cppfiles.c (cpp_stack_file):  Rename public name to ...
9122         (_cpp_stack_file):  New internal function name.
9123         * cpplib.h:  Update accordingly.
9124         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
9125         (cpp_read_main_file):  Don't initialize line here.
9126         * c-opts.c (c_common_post_options):  Call cpp_post_options.
9127         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
9128         * fix-header.c (read_scan_file):  Call cpp_post_options.
9129
9130 2003-08-09  Per Bothner  <per@bothner.com>
9131
9132         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
9133
9134 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9135
9136         * pa.c (pa_asm_output_mi_thunk): Fix typo.
9137
9138 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
9139
9140         PR preprocessor/11839
9141         * cppfiles.c (open_file): Handle ENOTDIR.
9142
9143 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
9144
9145         PR target/11699
9146         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
9147
9148 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9149
9150         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
9151         source/destination is not a register operand.
9152
9153 2003-08-08  Richard Henderson  <rth@redhat.com>
9154
9155         PR target/11535
9156         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
9157         RETURN_ADDRESS_POINTER_REGNUM.
9158         (ia64_expand_prologue): Don't frob it.
9159         (ia64_output_function_epilogue): Likewise.
9160         (ia64_return_addr_rtx): New.
9161         (ia64_split_return_addr_rtx): New.
9162         * config/ia64/ia64-protos.h: Update.
9163         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
9164         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
9165         (GENERAL_REGNO_P): Don't check it.
9166         (AR_*_REGNUM): Renumber.
9167         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
9168         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
9169         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
9170         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
9171         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
9172         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
9173         (movdi_ret_addr): New.
9174
9175 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
9176
9177         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
9178
9179 2003-08-08  Roger Sayle  <roger@eyesopen.com>
9180
9181         * tree.h (get_identifier) Define a macro form of get_identifier
9182         that calls get_identifier_with_length when the string is constant.
9183         (get_identifier_with_length): Change type of second argument to
9184         size_t in prototype.
9185         * stringpool.c (get_identifier): Undefine the macro before giving
9186         the function definition.
9187         (get_identifier_with_length): Change  type of second argument to
9188         size_t in function definition.
9189         * hashtable.c (calc_hash): Change type of second argument to size_t.
9190         (ht_lookup): Change type of third argument to size_t.  Reorganize
9191         to speed-up the cases where the hash table slot is empty, or the
9192         first probe matches (i.e. there isn't a collision).
9193         * hashtable.h (ht_lookup): Adjust function prototype.
9194
9195 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
9196
9197         PR target/9697
9198         PR target/11777
9199         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
9200
9201 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
9202
9203         * common.opt: Add debug switches.
9204         * flags.h (use_gnu_debug_info_extensions): Boolify.
9205         * opts.c (write_symbols, debug_info_level,
9206         use_gnu_debug_info_extensions): Move from toplev.c.
9207         (set_debug_level): New.
9208         (common_handle_options): Handle debug switches.
9209         (print_help): Display target options directly.
9210         * toplev.c (debug_hooks): Don't initialize.
9211         (write_symbols, debug_info_level,
9212         use_gnu_debug_info_extensions): Move to opts.c.
9213         (debug_args, display_help, decode_g_option): Remove.
9214         (process_options): Set no debug if level zero here,
9215         and no-debug-hooks.  Error here if impossible debug format selected.
9216         * toplev.h (display_help, decode_g_option): Remove.
9217
9218 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
9219
9220         * tree.c (get_file_function_name_long): Fix size of alloca() area.
9221
9222 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
9223
9224         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
9225         and gcc_cv_prog_cmp_skip.
9226         * configure: Regenerate.
9227
9228 2003-08-08  Stan Cox  <scox@redhat.com>
9229
9230         * config/iq2000: New port.
9231         * config.gcc (iq2000-*-elf): Added.
9232         * doc/install.texi (Specific):  Add iq2000 description.
9233
9234 2003-08-08  Andreas Schwab  <schwab@suse.de>
9235
9236         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
9237         and insert missing empty argument.
9238         * configure: Regenerate.
9239
9240 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9241
9242         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
9243         (attr_length_millicode_call): Likewise.
9244         (attr_length_call): Likewise.  Revise some maximum insn lengths.
9245         (attr_length_indirect_call): Likewise.
9246         (output_call): Fix thinko that added extra nop.
9247         * pa.h (IN_NAMED_SECTION_P): Define.
9248
9249         PR c++/11712
9250         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
9251         __STDC_EXT__ when using C++ dialect.
9252
9253 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
9254
9255         * sh.c (calc_live_regs): If the return address pointer is live,
9256         force pr live.
9257         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
9258         for saves / restores.
9259         (sh_expand_epilogue): If sh_media_register_for_return returns a
9260         register number, flag the instructions that restores PR_MEDIA_REG
9261         as possibly dead.
9262         Remove dead update of offset.
9263         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
9264         we can use the result of get_hard_reg_initial_val.
9265         * sh.md (UNSPEC_RA): New constant.
9266         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
9267         (load_ra).  Handle UNSPEC_RA.
9268         (sibcall_media): Use PR_MEDIA_REG.
9269
9270         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
9271         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
9272         needs saving on SHmedia.
9273
9274 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
9275
9276         * config/s390/s390.md: Replace all occurrences of \\t with \t.
9277
9278 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
9279
9280         * local-alloc.c (combine_regs): Fix comment typo.
9281
9282 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
9283
9284         * c-decl.c (builtin_decls): Replace with first_builtin_decl
9285         and last_builtin_decl.
9286         (c_init_decl_processing): Initialize both.
9287         (c_reset_state): Iterate from first_builtin_decl to
9288         last_builtin_decl inclusive to reintroduce builtins.
9289
9290 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
9291
9292         * doc/extend.texi (Function Attributes): Document the IA-64 version
9293         of the "model" attribute.
9294
9295         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
9296         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
9297         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
9298
9299         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
9300         (ia64_encode_section_info): Likewise.
9301         (ia64_attribute_table): Add "model" attribute.
9302         (TARGET_ENCODE_SECTION_INFO): Define.
9303         (small_addr_symbolic_operand): New function.
9304         (got_symbolic_operand): Return 0 for a symbolref to an object
9305         in the small address area.
9306         (enum ia64_addr_area): New type.
9307         (small_ident1): New variable.
9308         (small_ident2): Likewise.
9309         (init_idents): New function.
9310         (ia64_get_addr_area): Likewise.
9311         (ia64_encode_addr_area): Likewise.
9312         (ia64_encode_section_info): Likewise.
9313         (ia64_expand_load_address): For symbolic references to objects in
9314         the small-address-area, load the address via gen_rtx_SET() (which,
9315         eventually, will expand into "addl").
9316
9317 2003-08-06  Per Bothner  <pbothner@apple.com>
9318
9319         * line-map.h (fileline):  New typedef.
9320         (struct line_map, linemap_add, linemap_lookup):  Use it.
9321         * input.h (struct location_s):  Comment notes that long-term we want
9322         to replace it by fileline.
9323
9324 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
9325
9326         Fix SHcompact exception handling:
9327         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
9328         by the prologue, return a MEM with return_address_pointer_rtx
9329         as address.
9330         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
9331         (RETURN_ADDR_OFFSET): Don't define.
9332         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
9333         registers that are visible in compact mode.  Show that SHmedia
9334         registers still exist in compact mode, even if there are not
9335         readily accessible.
9336         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
9337         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
9338         and DW_EH_PE_pcrel for pic data.
9339         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
9340         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
9341         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
9342         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
9343         * sh.md (movsi_media-1): New splitter.
9344
9345 2003-08-06  Graeme Peterson <gp@qnx.com>
9346
9347         * config/i386/nto.h: New.
9348         * config/i386/t-nto: New.
9349         * config.gcc (i[34567]86-*-nto-qnx*): New.
9350
9351 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
9352
9353         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
9354
9355 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
9356
9357         * calls.c (load_register_parameters): Arrange for call_fusage to
9358         report the whole register as used when shifting to the msb.
9359
9360 2003-08-05  Roger Sayle  <roger@eyesopen.com>
9361
9362         * builtins.c (expand_builtin): When not optimizing, call the library
9363         function for all builtins that have library functions (except alloca).
9364
9365 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
9366
9367         * c.opt: Introduce -fworking-directory.
9368         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
9369         * c-common.h (flag_working_directory): Declare.
9370         * c-common.c (flag_working_directory): Define.
9371         * c-opts.c (c_common_handle_options): Set it.
9372         (sanitize_cpp_opts): Set...
9373         * cpplib.h (struct cpp_options): ... working_directory option.
9374         (struct cpp_callbacks): Add dir_change.
9375         * cppinit.c (read_original_filename): Call...
9376         (read_original_directory): New.  Look for # 1 "directory//"
9377         and process it.
9378         (cpp_read_main_file): Call dir_change callback if working_directory
9379         option is set.
9380         * gcc.c (cpp_unique_options): Pass -g*.
9381         * c-lex.c (cb_dir_change): New.
9382         (init_c_lex): Set dir_change callback.
9383         * toplev.c (src_pwd): New static variable.
9384         (set_src_pwd, get_src_pwd): New functions.
9385         * toplev.h (get_src_pwd, set_src_pwd): Declare.
9386         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
9387         * dwarf2out.c (gen_compile_unit_die): Likewise.
9388         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
9389
9390 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9391
9392         * pretty-print.h (pp_set_line_maximum_length): Make macro.
9393         (pp_set_prefix): Likewise.
9394         (pp_destroy_prefix): Likewise.
9395         (pp_remaining_character_count_for_line): Likewise.
9396         (pp_clear_output_area): Likewise.
9397         (pp_formatted_text): Likewise.
9398         (pp_last_position_in_text): Likewise.
9399         (pp_emit_prefix): Likewise.
9400         (pp_append_text): Likewise.
9401         (pp_flush): Likewise.
9402         (pp_format_text): Likewise.
9403         (pp_format_verbatim): Likewise.
9404         (pp_tree_identifier): Tidy.
9405         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
9406         (pp_base_format_verbatim): Rename from pp_format_verbatim.
9407         (pp_base_flush): Rename from pp_flush.
9408         (pp_base_set_line_maximum_length): Rename from
9409         pp_set_line_maximum_length.
9410         (pp_base_clear_output_area): Rename from pp_clear_output_area.
9411         (pp_base_set_prefix): Rename from pp_set_prefix.
9412         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
9413         (pp_base_emit_prefix): Rename from pp_emit_prefix.
9414         (pp_base_append_text): Rename from pp_append_text.
9415         (pp_base_formatted_text): Rename from pp_formatted_text.
9416         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
9417         (pp_base_remaining_character_count_for_line): Rename from
9418         pp_remaining_character_count_for_line.
9419         * diagnostic.h (diagnostic_format_decoder): Tidy.
9420         (diagnostic_flush_buffer): Likewise.
9421         * c-pretty-print.h: (pp_c_string_literal): Declare.
9422         (pp_c_real_literal): Likewise.
9423         (pp_c_integer_literal): Likewise.
9424         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
9425         pp_identifier.
9426         (pp_c_character_literal): Tidy.
9427         (pp_c_string_literal): Make public.
9428         (pp_c_bool_literal): Likewise.
9429         (pp_c_integer_literal): Likewise.
9430         (pp_c_real_literal): Likewise.
9431
9432         * Makefile.in (C_PRETTY_PRINT_H): New variable.
9433         (c-pretty-print.o): Update dependence.
9434
9435 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
9436
9437         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
9438         ".set nomacro" state.
9439         (fix_truncsfsi2_macro): Likewise.
9440
9441 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
9442
9443         * tree.h (DID_INLINE_FUNC): Remove macro.
9444         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
9445         add tree check for FUNCTION_DECL.
9446         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
9447         (struct tree_decl): Rename inlined_function_flag to
9448         declared_inline_flag.
9449         * c-common.h (c_lang_decl): Remove.
9450         (DECL_ESTIMATED_INSNS): Remove.
9451         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
9452         (DECL_DECLARED_INLINE_P): Remove.
9453         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
9454         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
9455         (finish_function): Make uninlinable a bool.  Fixup call to
9456         tree_inlinable_function_p() and fix some code style issues.
9457         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
9458         * cgraph.c (dump_cgraph): Likewise.
9459         * cgraphunit.c (cgraph_decide_inlining): Likewise
9460         (cgraph_finalize_compilation_unit): Likewise.
9461         Also update call to tree_inlinable_function_p().
9462         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
9463         look at DECL_DECLARED_INLINE and reverse logic.
9464         * print-tree.c (print_node): Likewise.
9465         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
9466         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
9467         prototype.
9468         * tree-inline.c (inlinable_function_p): Split up in this function to
9469         check for basic inlining inhibiting conditions, and new
9470         limits_allow_inlining() function.  Warn if inlining is impossible
9471         because the inline candidate calls alloca or uses sjlj exceptions.
9472         (limits_allow_inlining): this new function to check if the inlining
9473         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
9474         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
9475         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
9476         Update prototypes.
9477         (tree_inlinable_function_p): Make a bool.  Update call to
9478         inlinable_function_p
9479         (expand_call_inline): Use limits_allow_inlining() when not in
9480         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
9481         instead see if the function was declared `inline'.
9482
9483 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
9484
9485         * gcse.c (try_replace_reg): Fix updating of note.
9486
9487 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9488
9489         PR middle-end/11771
9490         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
9491         logic in negate_expr, i.e. we don't invert (A-B) for floating
9492         point types unless flag_unsafe_math_optimizations.
9493
9494 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9495
9496         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
9497         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
9498         for floating point expressions with -ffast-math.
9499         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
9500         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
9501
9502 2003-08-04  Roger Sayle  <roger@eyesopen.com>
9503
9504         * c-common.c (flag_noniso_default_format_attributes): Delete.
9505         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
9506         (c_attrs_initialized): Delete.
9507         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
9508         always call c_init_attributes.
9509         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
9510         set c_attrs_initialized when done.
9511         (c_common_insert_default_attributes): Delete.
9512         * c-common.h (flag_noniso_default_format_attributes): Delete.
9513         (c_coomon_insert_default_attributes): Delete prototype.
9514         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
9515         flag_noniso_default_format_attributes.
9516
9517         * c-decl.c (c_insert_default_attributes): Delete.
9518         * c-tree.h (c_insert_default_attributes): Delete prototype.
9519
9520         * attribs.c (decl_attributes): Don't call insert_default_attributes
9521         langhook.  Update function description comment.
9522         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
9523         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
9524         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
9525         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
9526
9527         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
9528         define.
9529
9530 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
9531
9532         * config/mips/mips.c (override_options): Disable -G on targets that
9533         have no .section support.
9534         (mips_select_section): Use default_select_section for such targets.
9535
9536 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
9537
9538         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
9539         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
9540         * fixinc/fixincl.x: Rebuild.
9541         * fixinc/tests/base/regexp.h: New test.
9542
9543 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
9544
9545         * c-ppoutput.c (cb_line_change): Don't skip line changing while
9546         parsing macro arguments in the top-level context.
9547
9548 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
9549
9550         * config.in: Remove HAVE_LSTAT.
9551         * configure, configure.in: Don't test for lstat.
9552
9553 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9554
9555         * opts.c (decode_options): Do language-specific initialization for
9556         the global diagnostic context.
9557         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
9558         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
9559         (LANG_HOOKS_INITIALIZER): Adjust.
9560         * langhooks.h (struct lang_hooks): Add new field
9561         initialize_diagnostics.
9562         * langhooks.c (lhd_initialize_diagnostics): Define.
9563
9564 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9565
9566         * pretty-print.h:   Adjust macro definitions.
9567         * pretty-print.c (pp_newline): Rename to pp_base_newline.
9568         (pp_character): Rename to pp_base_character.
9569         (pp_string): Rename to pp_base_string.
9570         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
9571         (pp_newline):  Likewise.  Adjust.
9572         (pp_c_char): Adjust.
9573
9574 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9575
9576         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
9577         BUILT_IN_LLABS): Move to miscellaneous section.
9578
9579 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
9580
9581         PR preprocessor/11534
9582         * cppexp.c (parse_defined): Warn only if -pedantic.
9583
9584 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
9585
9586         * cppfiles.c (stack_file): Use file path.
9587
9588 2003-08-02  Roger Sayle  <roger@eyesopen.com>
9589
9590         * builtin-types.def (BT_SSIZE): New primitive type.
9591         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
9592         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
9593         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
9594         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
9595         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
9596         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
9597         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
9598         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
9599         few functions that define default attributes using it.
9600         * c-common.c (c_common_insert_default_attributes): Do nothing.
9601
9602         * doc/extend.texi: Document these "new" builtins.
9603
9604 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
9605
9606         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
9607         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
9608         when -mieee-fp set and -shared not set.
9609         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
9610
9611 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
9612
9613         * cppfiles.c (struct _cpp_file): Rename once_only_next to
9614         next_file.  Remove import and pragma_once, add once_only.
9615         (find_file): Add new file structures to the all_files list.
9616         (should_stack_file): Mark #import-ed files once-only, and
9617         don't stack them if the file has already been stacked.
9618         (_cp_mark_file_once_only): Simplify.
9619         * cpphash.h (struct cpp_reader): Rename once_only_files
9620         to all_files.  Rename saw_pragma_once to seen_once_only.
9621         (_cpp_mark_file_once_only): Update prototype.
9622         * cpplib.c (do_pragma_once): Update.
9623
9624 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
9625
9626         * cppfiles.c (ENOTDIR): Remove.
9627         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
9628         other than ENOENT here.
9629         (once_only_file_p): Rename should_stack_file.
9630         (find_file, open_file_failed, read_file_guts): Report errors
9631         with full path name.
9632         (read_file): Move pch handling to should_stack_file.
9633         (should_stack_file): Handle PCH and once-only issues, and
9634         reading the file.
9635         (stack_file): Don't do file reads.
9636
9637 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9638
9639         * libgcov.c (gcov_exit): Cleanup and fix.
9640         * profile.c (compute_value_histograms): Don't try to read profiles
9641         that are not present.
9642
9643 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9644
9645         * builtins.def: Categorize.
9646
9647         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
9648         Mind fp rounding.
9649         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
9650
9651 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
9652
9653         * config.gcc: Enable posix threads by default on darwin.
9654
9655 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
9656
9657         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
9658         even if nehedges1 is 0.
9659
9660 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
9661
9662         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
9663         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
9664         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
9665         and defintions.
9666
9667         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
9668         * fixinc/fixincl.x: Regenerate.
9669         * fixinc/tests/base/math.h: Regenerate to match test_text change.
9670
9671 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9672
9673         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
9674
9675 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9676
9677         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
9678         for accesses to exc_ptr.
9679
9680 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
9681
9682         * doc/sourcebuild.texi (Front End Directory): Don't make references
9683         to libsubdir, it's not part of the interface to frontends.
9684         * doc/install.texi (Configuration): Help users read faster by saying
9685         that GCC's configure options are the standard autoconf ones.
9686         Mention --libdir.  Update the default rules for finding the
9687         assembler.  Don't use libsubdir since we haven't said what it means.
9688         (Specific): In the Solaris 7 notes, update the place to put the
9689         assembler.
9690         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
9691         * doc/cpp.texi (Search Path): Actually, the search path
9692         depends on libdir, which can relocate with cpp.
9693         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
9694         now a private interface between the Makefile and the driver.
9695
9696 2003-08-01  Richard Henderson  <rth@redhat.com>
9697
9698         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
9699
9700         * varasm.c (lookup_constant_def): New function.
9701         * rtl.h (lookup_constant_def): Declare it.
9702         * dwarf2out.c (loc_descriptor_from_tree): Use it.
9703         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
9704
9705 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
9706
9707         * c-decl.c (gettags, pushdecl_function_level): Delete.
9708         (last_function_parm_vars): Rename last_function_parm_others.
9709         (current_function_parm_vars): Rename current_function_parm_others.
9710         (struct c_scope): Rewrite comment explaining this data structure.
9711         Add names_last, blocks_last, parms_last fields.  Rename
9712         incomplete_list to incomplete.
9713         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
9714         (poplevel): Ignore second argument.  No need to nreverse
9715         anything.  Restructure such that each list is processed
9716         exactly once.  Use 'const location_t *locus' syntactic sugar
9717         variable where useful.  Issue unused variable warnings
9718         ourselves, do not rely on function.c.
9719         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
9720         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
9721         (implicitly_declare): decl cannot be error_mark_node.
9722         (undeclared_variable): Manipulate scope structure directly.
9723         (c_make_fname_decl): Likewise.
9724         (getdecls, c_init_decl_processing): Fix comment.
9725         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
9726         for 'last' variable.
9727         (grokparms): No need to nreverse parms list.
9728         (store_parm_decls_newstyle): Set up the parms_last and
9729         names_last fields of the new scope too.
9730         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
9731         on parms to begin with; check this under ENABLE_CHECKING.  Set
9732         up parms_last.
9733         (check_for_loop_decls): Refer directly to current_scope->tags.
9734         Use consistent quote style in diagnostics.
9735         (c_write_global_declarations): The names list is not backward.
9736
9737         * c-common.h: Don't prototype gettags.
9738         * c-parse.in: Call poplevel with second argument 0 always.
9739
9740 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9741
9742         * builtins.def: Resort builtins.
9743
9744 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9745
9746         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
9747         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
9748         Prepend "__builtin_" onto NAME with string concatenation.  Remove
9749         explicit "__builtin_" from each macro call.
9750
9751         Reformat entire file.
9752
9753 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9754
9755         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
9756         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
9757
9758 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
9759
9760         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
9761         CCL1, or CCL2 modes with floating point operations.
9762
9763         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
9764         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
9765         "*subdf3_cconly"): New insns.
9766         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
9767
9768 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
9769
9770         * Makefile.in: Refine dependencies.
9771         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
9772         * c.opt: Update help for -Wimport.
9773         * cppfiles.c: Include hashtab.h.  Update comments.
9774         (stack_file): Read the file before updating dependencies.
9775         (once_only_file_p): Be smarter about marking once-only files.
9776         (_cpp_mark_file_once_only): Correct the check for existence on
9777         the list.
9778         (open_file_failed): Use name not path, which is NULL.
9779         * cpphash.h: Don't include hashtab.h.
9780         (struct _cpp_file): Remove.
9781         (struct cpp_reader): Update.
9782         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
9783         * cpplib.h (struct cpp_options): Remove warn_import.
9784         (cpp_simplify_path): Remove.
9785
9786 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
9787
9788         PR c++/11295
9789         * doc/extend.texi (Statement Expressions): Document C++ semantics.
9790
9791 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
9792
9793         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
9794
9795 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9796
9797         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
9798         throughout.
9799         * builtins.def: Likewise.
9800
9801 2003-07-31  Jason Merrill  <jason@redhat.com>
9802
9803         * Makefile.in (bubblestrap): Don't require a previous full
9804         bootstrap.
9805
9806         * expr.c (mostly_zeros_p): No longer static.
9807         * tree.h: Declare it.
9808         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
9809         unless we need to do substitutions.
9810
9811 2003-07-31  Roger Sayle  <roger@eyesopen.com>
9812
9813         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
9814         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
9815         as pow(x,2.0) when the latter will be expanded back into x*x.
9816         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
9817         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
9818         pow can never set errno when used with an integer exponent.
9819         Always use expand_powi when exponent is -1, 0, 1 or 2.
9820         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
9821         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
9822         the pow forms of these expressions.
9823
9824 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
9825
9826         * Makefile.in (libexecdir): New.
9827         (libsubdir): Use gcc instead of gcc-lib.
9828         (libexecsubdir): New.
9829         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
9830         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
9831         gcc-lib.
9832         (installdirs): Make libexecsubdir.
9833         (install-common): Put executables in libexecsubdir.
9834         (itoolsdir): Use libexecsubdir.
9835         (itoolsdatadir): New.
9836         (install-mkheaders): Separate data files and executables.
9837         (install-collect2): Put executables in libexecsubdir.
9838         (uninstall): Remove libexecsubdir.
9839         * mkheaders.in: Update for new arrangement of files.
9840         (libexecdir): New.
9841         (libexecsubdir): New.
9842         (itoolsdir): Use libexecsubdir.
9843         (itoolsdatadir): New.
9844         * gcc.c (gcc_libexec_prefix): New.
9845         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
9846         (standard_exec_prefix_1): Use libexec.
9847         (standard_exec_prefix_2): New.
9848         (standard_libexec_prefix): New.
9849         (process_command): Update for new arrangement of files.  Compute
9850         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
9851
9852 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9853
9854         * inclhack.def (stdio_va_list): Avoid bogus replacement which
9855         triggers on Interix.
9856         * fixincl.x: Regenerate.
9857
9858 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
9859
9860         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
9861         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
9862
9863 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9864
9865         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
9866
9867 2003-07-31  Per Bothner  <pbothner@apple.com>
9868
9869         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
9870         (add_input_filename):  New function.
9871         (handle_options):  Call add_input_filename directly instead of
9872         with a lang hook.
9873         * opts.h (in_fnames, num_in_fnames):  Moved here.
9874         (add_input_filename):  Declare.
9875         * c-decl.c:  Need to #include opts.h.
9876         * Makefile.in (c-decl.o):  Also depends on opts.h.
9877         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
9878         (c_common_handle_filename):  Replaced by add_input_filename.
9879         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
9880         Remove.
9881         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
9882         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
9883         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
9884         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
9885
9886 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9887
9888         * combine.c (try_combine): Set JUMP_LABEL for newly created
9889         unconditional jump.
9890
9891 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9892
9893         * fold-const.c (fold): Fold some comparisons of bit operations.
9894
9895 2003-07-31  Jan Hubicka  <jh@suse.cz>
9896
9897         * cgraph.c (create_edge): Fix typo.
9898         * i386.c (pic_symbolic_operand): Reorder tests.
9899
9900 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
9901
9902         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
9903         more fully.
9904         (Gcov Data Files): Update.
9905
9906 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9907
9908         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
9909         default.
9910
9911         * gthr-posix.c: New file.
9912         * gthr-posix.h: Define _REENTRANT if missing.
9913         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
9914
9915         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
9916         by gthr-posix.o.
9917         * config/alpha/t-osf-pthread: New file.
9918
9919         * fixinc/inclhack.def (alpha_pthread): New fix.
9920         * fixinc/fixincl.x: Regenerate.
9921         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
9922
9923         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
9924         warning.
9925         Fixes PR bootstrap/9330.
9926
9927 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9928
9929         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
9930         without GNU ld.
9931         Update comment.
9932         * configure: Regenerate.
9933
9934 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
9935
9936         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
9937         setter.
9938
9939 2003-07-30  Roger Sayle  <roger@eyesopen.com>
9940
9941         * builtins.def: Alphabetize.
9942
9943 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
9944
9945         * doc/c-tree.texi: Normalize spellings of "lowercase" and
9946         "uppercase".
9947         * doc/cpp.texi: Likewise.
9948         * doc/md.texi: Likewise.
9949         * doc/rtl.texi: Likewise.
9950         * doc/tm.texi: Likewise.
9951
9952 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
9953
9954         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
9955         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
9956         of cc1obj.
9957
9958 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
9959
9960         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
9961         macros before defining them.
9962
9963 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
9964
9965         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
9966         UNSPECV_BLOCKAGE): New constants.
9967         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
9968         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
9969         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
9970         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
9971
9972         (all insns and expanders): Write output control string as brace block
9973         where appropriate.  Remove \-escapes for doublequote characters.
9974
9975 2003-07-31  Jan Hubicka  <jh@suse.cz>
9976
9977         * gcse.c (insert_store): Fix typo in previous patch.
9978
9979 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
9980
9981         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
9982
9983 2003-07-30  Andi Kleen  <ak@muc.de>
9984
9985         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
9986
9987 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9988
9989         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
9990         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
9991         GCOV_N_VALUE_COUNTERS): New.
9992         * profile.c (compute_value_histograms): New static function.
9993         (branch_prob): Read back the value histograms.
9994         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
9995         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
9996         * value-prof.c: Add comment on reading the profile.
9997         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
9998         * doc/invoke.texi (-fprofile-values): Document behavior with
9999         -fbranch-probabilities.
10000
10001 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
10002
10003         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
10004
10005 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
10006
10007         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
10008         symbolically.
10009
10010 2003-07-30  Jan Hubicka  <jh@suse.cz>
10011
10012         * gcse.c (insert_store): Ignore fake edges.
10013
10014         * c-common.c (flag_vtable_gc): Kill.
10015         * c-common.g (flag_vtable_gc): Kill.
10016         * c-opts (c_common_handle_option): Kill.
10017         * c.opt (fvtable-gc): Kill.
10018         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
10019         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
10020         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
10021
10022         * invoke.texi (-ftable-gc): Kill documentation.
10023
10024         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
10025         just because function body is missing.
10026
10027         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
10028
10029 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
10030
10031         * unwind-sjlj.c: Fix typo in file description.
10032
10033 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
10034
10035         * calls.c (load_register_parameters): When shifting reg sized values
10036         to the msb, move the value to a reg first.
10037
10038 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
10039
10040         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
10041         * line-map.h (linemap_add): Update comments.
10042         * line-map.c (linemap_add): Update comments, interpret zero-length
10043         filename as "<stdin>".
10044
10045 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
10046
10047         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
10048
10049 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
10050
10051         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
10052         New static variables.
10053         (struct c_scope): Add parms and warned_forward_parm_decls
10054         fields; remove parm_order.
10055         (storedecls, storetags): Delete.
10056         (poplevel): Also clear bindings on the parms chain.
10057         (pushdecl): Handle forward declarations of parameters, and
10058         chain PARM_DECLs on the parms list, not the names list.
10059         (lookup_name_current_level): Check for PARM_DECLs on the parms
10060         list too.
10061         (push_parm_decl): Don't update parm_order.
10062         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
10063         warning, only once per parameter list, and set TREE_ASM_WRITTEN
10064         on the decls here.  Then move the forward decls to the names list.
10065         (grokparms): Set last_function_parm_vars.
10066         (get_parm_info): Don't use gettags or getdecls.  No need to
10067         extract non-parms from the parms list, or reorganize the parms
10068         list.  Feed nonparms back in the TREE_TYPE of the list node
10069         returned.  Issue only one error per parameter list for "void"
10070         appearing more than once in said parameter list.  Collapse
10071         parmlist_tags_warning into this function to avoid double scan
10072         of tags list.
10073         (start_function): Set current_function_parm_vars.
10074         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
10075         directly.  Get non-parms from current_function_parm_vars; no
10076         need to extract them from the parms chain.  Properly bind tags
10077         in the new scope.
10078         (store_parm_decls_oldstyle): No need to extract non-parameters
10079         from the parms chain, nor to store them back afterward.  Move
10080         declaration to top of function, restructure code reordering
10081         DECL_ARGUMENTS.
10082         (store_parm_decls): No need to save and restore warn_shadow.
10083         * c-parse.in: Don't call parmlist_tags_warning nor
10084         clear_parm_order.  Call mark_forward_parm_decls when forward
10085         parm decls are encountered.
10086         * c-tree.h: Prototype mark_forward_parm_decls; not
10087         clear_parm_order or parmlist_tags_warning.
10088
10089 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
10090
10091         * c-common.c (allow_pch): Remove.
10092         * c-common.h (allow_pch): Remove.
10093         (c_common_no_more_pch): Declare.
10094         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
10095         * c-pch.c: Include hosthooks.h.
10096         (c_common_valid_pch): Don't check allow_pch.
10097         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
10098         (c_common_no_more_pch): New.
10099         * ggc-common.c: Include hosthooks.h.
10100         (gt_pch_save): Call gt_pch_get_address.
10101         (gt_pch_restore): Call gt_pch_use_address.
10102         * hooks.c (hook_voidp_size_t_null): New.
10103         (hook_bool_voidp_size_t_false): New.
10104         * hooks.h (hook_voidp_size_t_null): New.
10105         (hook_bool_voidp_size_t_false): New.
10106         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
10107         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
10108         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
10109         HOST_HOOKS_GT_PCH_USE_ADDRESS.
10110         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
10111         gt_pch_use_address.
10112         * doc/hostconfig.texi (Host Common): Document
10113         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
10114         * Makefile.in (c-pch.o): Depend on hosthooks.h.
10115         (ggc-common.o): Likewise.
10116
10117         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
10118         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
10119         (pch_address_space): New.
10120         (darwin_rs6000_gt_pch_get_address): New.
10121         (darwin_rs6000_gt_pch_use_address): New.
10122
10123 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
10124
10125         PR preprocessor/11569
10126         PR preprocessor/11649
10127         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
10128         * cppfiles.c: Completely rewritten.
10129         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
10130         struct cpp_path is now struct cpp_dir.
10131         (remove_duplicates): Don't simplify path names.
10132         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
10133         cpp_stack_file.
10134         * cpphash.h: Include hashtab.h.
10135         (_cpp_file): Declare.
10136         (struct cpp_buffer): struct include_file is now struct _cpp_file,
10137         and struct cpp_path is now struct cpp_dir.  Rename members.
10138         (struct cpp_reader): Similarly.  New members once_only_files,
10139         file_hash, file_hash_entries, quote_ignores_source_dir,
10140         no_search_path, saw_pragma_once.  Remove all_include_files and
10141         max_include_len.  Make some members bool.
10142         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
10143         (_cpp_stack_file): Renamed from _cpp_read_file.
10144         (_cpp_stack_include): Renamed from _cpp_execute_include.
10145         (_cpp_init_files): Renamed from _cpp_init_includes.
10146         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
10147         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
10148         (cpp_read_next_file): Rename and move to cppfiles.c.
10149         (cpp_read_main_file): Update.
10150         * cpplib.c (run_directive): Update for renamed members.
10151         (do_include_common, _cpp_pop_buffer): Update.
10152         (do_import): Undeprecate #import.
10153         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
10154         * cpplib.h: Remove file_name_map_list.
10155         (cpp_options): Remove map_list.
10156         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
10157         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
10158
10159 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
10160
10161         * Makefile.in:  Make stamp-objdir safe for parallel builds.
10162
10163 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
10164
10165         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
10166         (info):  Depend on stmp-docobjdir.
10167
10168 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10169
10170         * configure: Regenerate.
10171
10172 2003-07-29  Jan Hubicka  <jh@suse.cz>
10173
10174         PR C++/11131
10175         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
10176         in !unit-at-a-time mode.
10177
10178 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
10179
10180         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
10181         main function.
10182
10183 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
10184
10185         PR c++/11667
10186         * c-common.c (shorten_compare): Take into account differences
10187         between C and C++ representation for enumeration types.
10188         * tree.h (set_min_and_max_values_for_integral_type): Declare.
10189         * stor-layout.c (set_min_and_max_values_for_integral_type): New
10190         function, broken out from ...
10191         (fixup_signed_type): ... here and ...
10192         (fixup_unsigned_type): ... here.
10193
10194 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
10195
10196         * c-decl.c: Update commentary, adjust blank lines throughout.
10197         (struct c_scope): Fix indentation.  Reorder members so
10198         outer-context pointers come first, booleans last.
10199         (duplicate_decls, define_label): Use a 'locus' variable for
10200         diagnostic locations in a few more places.
10201         (warn_if_shadowing): Un-split a conditional that fits on one line.
10202         (c_init_decl_processing): No need to clear current_scope and
10203         current_function_scope.
10204         (start_decl): Merge if/else if statements with same action.
10205         (push_parm_decl): Rename old_immediate_size_expand to use
10206         save_foo convention; save/restore around entire function.
10207         (grokdeclarator): Remove unnecessary braces.
10208
10209 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
10210             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
10211
10212         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
10213         when warn_declaration_after_statement.  Call pedwarn_c90, not
10214         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
10215         * c-common.c (warn_declaration_after_statement): Define.
10216         * c-common.h (warn_declaration_after_statement): Declare.
10217         * c.opt (Wdeclaration-after-statement): New.
10218         * c-errors.c (pedwarn_c90): New function.
10219         * c-opts.c (c_common_handle_option) <case
10220         OPT_Wdeclaration_after_statement>: New.
10221         * c-tree.h (pedwarn_c90): Declare.
10222         * doc/invoke.texi (Option Summary): Document
10223         -Wdeclaration-after-statement.
10224         (Warning Options): Ditto.
10225
10226 2003-07-28  Jan Hubicka  <jh@suse.cz>
10227
10228         * i386.md (memory attribute) Avoid accessing uninitialized memory
10229         for ishift1 type instructions.
10230
10231 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
10232
10233         * configure.in (--enable-checking): Add fold category.
10234         (ENABLE_FOLD_CHECKING): Define if requested.
10235         * configure: Rebuilt.
10236         * config.in: Rebuilt.
10237         * doc/install.texi: Document it.
10238         * fold-const.c: Include md5.h.
10239         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
10240         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
10241         print_fold_checksum): New functions.
10242
10243         * fold-const.c (fold): Never modify argument passed to fold, instead
10244         change a copy and return it.
10245         * convert.c (convert_to_integer): Likewise.
10246
10247 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
10248
10249         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
10250         cleanup of junk after #else and #endif directives.  Collapse repeated
10251         clauses into for statment.
10252
10253         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
10254
10255 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
10256
10257         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
10258         (keep_next_if_subblocks): Rename next_is_function_body.
10259         (pushlevel): Adjust commentary.  Always set ->keep on the
10260         outermost level of a function.  Don't set ->keep_if_subblocks.
10261         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
10262         (store_parm_decls): Adjust to match.
10263         (finish_function): Adjust to match.
10264         Call poplevel with all three arguments zero.
10265
10266         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
10267         New functions split out of store_parm_decls.
10268         Avoid unnecessary work. Use local variables consistently.
10269         (store_parm_decls): Likewise.
10270
10271         (finish_function): No need to set functionbody flag on call to
10272         poplevel.
10273         (struct language_function): Remove scope field.
10274         (c_push_function_context, c_pop_function_context): No need to
10275         save and restore current_scope.
10276
10277 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
10278
10279         * doc/extend.texi (Deprecated Features): Implicit typename is
10280         gone. Default args on types is going.
10281
10282 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
10283
10284         * Makefile.in (ifcvt.o): Depend on target.h
10285         * ifcvt.c (target.h): Include.
10286         (if_convert): Don't call mark_loop_exit_edges if we can't
10287         modify jumps.
10288
10289 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10290
10291         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
10292
10293 2003-07-26  Richard Henderson  <rth@redhat.com>
10294
10295         PR inline-asm/11676
10296         * cse.c (count_reg_usage): Handle asm_operands properly.
10297
10298 2003-07-26  Roger Sayle  <roger@eyesopen.com>
10299
10300         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
10301         (DEF_EXT_FALLBACK_BUILTIN): Delete.
10302         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
10303         the regular DEF_EXT_LIB_BUILTIN macro.
10304         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
10305         the regular DEF_LIB_BUILTIN macro.
10306         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
10307         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
10308         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
10309         DEF_EXT_LIB_BUILTIN macro.
10310
10311         * c-decl.c (duplicate_decls): Remove code to handle builtin
10312         functions prototyped without an argument list.
10313
10314 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
10315
10316         * config/i386/winnt.c: Revert 2003-07-08 change.
10317         (i386_pe_section_type_flags): Remove error_with_decl here too.
10318
10319 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10320
10321         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
10322         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
10323         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
10324         (v850_handle_data_area_attribute): Likewise.
10325
10326 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
10327
10328         * varasm.c (output_constant_def_contents): Use
10329         ASM_DECLARE_CONSTANT_NAME if defined.
10330         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
10331         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
10332         objects get at least one byte to prevent assembler problems.
10333         (ASM_DECLARE_CONSTANT_NAME): New.
10334
10335         * Makefile.in (libbackend.o): Remove options_.h.
10336         (mostlyclean): Likewise.
10337
10338         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
10339         insert a label at the end of an function under Mach-O.
10340
10341         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
10342
10343 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
10344
10345         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
10346         equality.
10347         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
10348
10349         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
10350
10351 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10352
10353         * doc/passes.texi (Passes): Mention pretty-printing and
10354         diagnostic files.
10355
10356 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
10357
10358         * doc/extend.texi (Function Attributes): GNU C++ does now allow
10359         unused parameter decls.
10360         (Attribute Syntax): GNU C++ does not allow label attributes to be
10361         after the ':'.
10362
10363 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10364
10365         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
10366         (objc_declare_class): Likewise.
10367         (error_with_ivar): Likewise.
10368         (start_class): Likewise.
10369         (warn_with_method): Likewise.
10370
10371 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10372
10373         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
10374         from GCC.
10375         * calls.c (try_to_integrate): Don't use xxx_with_decl.
10376         (expand_call): Likewise.
10377         * dwarfout.c (output_reg_number): Likewise.
10378         * expr.c (expand_expr): Likewise.
10379         * function.c (assign_temp): Likewise.
10380         (uninitialized_vars_warning): Likewise.
10381         (setjmp_args_warning): Likewise.
10382         (expand_function_end): Likewise.
10383         * stmt.c (fixup_gotos): Likewise.
10384         (warn_about_unused_variables): Likewise.
10385         (expand_end_bindings): Likewise.
10386         * stor-layout.c (layout_decl): Likewise.
10387         (place_field): Likewise.
10388         * toplev.c (check_global_declarations): Likewise.
10389         (rest_of_handle_inlining): Likewise.
10390         (default_tree_printer): New function.
10391         (general_init): Initialize diagnostic machinery before routing
10392         signals to the ICE machinery.  Set default tree printer.
10393         * toplev.h (pedwarn_with_decl): Remove declaration.
10394         (warning_with_decl): Likewise.
10395         (error_with_decl): Likewise.
10396         (pedwarn): Remove attribute for the time being.
10397         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
10398         * varasm.c (named_section): Likewise.
10399         (make_decl_rtl): Likewise.
10400         (assemble_variable): Likewise.
10401         (merge_weak): Likewise.
10402         (declare_weak): Likewise.
10403
10404         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
10405         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
10406         (format_with_decl): Remove.
10407         (diagnostic_for_decl): Likewise.
10408         (pedwarn_with_decl): Likewise.
10409         (warning_with_decl): Likewise.
10410         (error_with_decl): Likewise.
10411         (diagnostic_initialize): Adjust.
10412         (diagnostic_count_diagnostic): Likewise.
10413         (announce_function): Likewise.
10414         (lhd_print_error_function): Likewise.
10415         (diagnostic_report_current_module): Likewise.
10416         (default_diagnostic_starter): Likewise.
10417         (diagnostic_report_diagnostic): Likewise.
10418         (default_diagnostic_finalizer): Likewise.
10419         (verbatim): Likewise.
10420         (error): Likewise.
10421         (warning): Likewise.
10422         * opts.c (common_handle_option): Likewise.
10423         * pretty-print.c: New file.
10424         * c-pretty-print.h (pp_base): Override.
10425         * c-pretty-print.c: Adjust use of macros throughout.
10426         (pp_buffer): New macro.
10427         (pp_newline): Likewise.
10428         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
10429         * Makefile.in (DIAGNOSTIC_H): New variable.
10430         (c-errors.o): Use it.
10431         (c-objc-common.o): Likewise.
10432         (c-common.o): Likewise.
10433         (c-opts.o): Likewise.
10434         (c-format.o): Likewise.
10435         (diagnostic.o): Likewise.
10436         (opts.o): Likewise.
10437         (toplev.o): Likewise.
10438         (rtl-error.o): Likewise.
10439         (dwarf2out.o): Likewise.
10440         (jump.o): Likewise.
10441         (pretty-print.o): New rule.
10442
10443 2003-07-24  Roger Sayle  <roger@eyesopen.com>
10444
10445         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
10446         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
10447         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
10448         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
10449         (DEF_FRONT_END_LIB_BUILTIN): Delete.
10450         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
10451         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
10452
10453         * builtins.c (build_string_literal): New function to construct
10454         a char* pointer to a string literal.
10455         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
10456         "rtx target" to be consistent with other expand_builtin_* functions.
10457         Change 3rd argument from "int unlocked" to "bool unlocked".
10458         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
10459         c-common.c to avoid front-end dependencies.  Optimize printf("")
10460         as a no-op when the result isn't required.  Handle embedded NULs
10461         in format string.
10462         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
10463         from c-common.c to avoid front-end dependencies.  Likewise, optimize
10464         fprintf(fp,"") as a no-op when the result isn't required, evaluating
10465         fp for side-effects.  Handle embedded NULs in format string.
10466         (expand_builtin_sprintf): Fix typo.
10467         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
10468         optimizing.  Adjust calls of expand_builtin_fputs to match the API
10469         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
10470         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
10471         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
10472
10473         * c-common.c (is_valid_printf_arglist): Delete.
10474         (c_expand_builtin): Delete.
10475         (c_expand_builtin_printf): Moved to builtins.c. Delete.
10476         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
10477         (c_expand_expr): No longer treat CALL_EXPRs specially.
10478         (CALLED_AS_BUILT_IN): Delete.
10479
10480 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10481
10482         PR optimization/11631
10483         * gcse.c (store_motion): Connect infinite loops to exit.
10484
10485 2003-07-24  Jason Merrill  <jason@redhat.com>
10486
10487         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
10488         (boolean_true_node, boolean_false_node): Likewise.
10489         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
10490         * tree.c (build_common_tree_nodes): Init boolean_type_node.
10491         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
10492         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
10493         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
10494         (truthvalue_true_node): Renamed from boolean_true_node.
10495         (truthvalue_false_node): Renamed from boolean_false_node.
10496         * c-decl.c: Just set truthvalue_* to integer_*.
10497         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
10498
10499 2003-07-24  Roger Sayle  <roger@eyesopen.com>
10500
10501         * c-decl.c (match_builtin_function_types): New subroutine of
10502         duplicate_decls to test whether a redeclaration of a builtin
10503         function is suitably close, i.e. the return type and all of
10504         the argument types have the same modes as the builtin expects.
10505         (duplicate_decls): Fuzzy type matching for builtin functions
10506         moved to match_builtin_function_types.
10507
10508 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10509
10510         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
10511         flag correctly.
10512
10513 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
10514
10515         * c-decl.c: Search-and-replace change 'binding level' to
10516         'scope' in commentary.
10517         (struct binding_level): Now struct c_scope.
10518         (current_binding_level): Now current_scope.
10519         (free_binding_level): Now scope_freelist.
10520         (current_function_level): Now current_function_scope.
10521         (global_binding_level): Now global_scope.
10522         (make_binding_level): Now make_scope.
10523         (pop_binding_level): Now pop_scope.
10524
10525 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10526
10527         * configure.in (libgcc_visibility): Add missing whitespace.
10528
10529 2003-07-24  Richard Henderson  <rth@redhat.com>
10530
10531         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
10532         __gcc_personality_v0.
10533
10534 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10535
10536         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
10537
10538 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
10539
10540         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
10541         documentation missed from my 2003-07-09 patch.
10542
10543 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
10544
10545         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
10546         it's not provided.
10547         * configure: Rebuild.
10548
10549 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
10550
10551         PR c/10602
10552         * c-typeck.c (type_lists_compatible_p): Do not compare
10553         arguments if one of them is an error_mark_node
10554
10555 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
10556
10557         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
10558         if current_function_calls_eh_return.
10559
10560 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
10561
10562         * doc/c-tree.texi (OFFSET_TYPE): Update description.
10563
10564 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
10565
10566         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
10567         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
10568         __umodsi3, __modsi3): Increase frame size to 32.
10569
10570 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
10571
10572         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
10573         prototype.
10574
10575 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
10576
10577         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
10578
10579         PR optimization/10679
10580         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
10581
10582 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10583
10584         PR target/11607 and PR target/11516
10585         * pa.md (extzv, extv, insv): Revert latter half of last patch.
10586
10587 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
10588
10589         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
10590         * varasam.c (output_constant): Likewise.
10591
10592 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
10593
10594         * alias.c: Fix comment formatting.
10595         * c-common.c: Likewise.
10596         * c-decl.c: Likewise.
10597         * c-opts.c: Likewise.
10598         * combine.c: Likewise.
10599         * cpplib.c: Likewise.
10600         * diagnostic.c: Likewise.
10601         * dojump.c: Likewise.
10602         * final.c: Likewise.
10603         * fold-const.c: Likewise.
10604         * gcc.c: Likewise.
10605         * gcse.c: Likewise.
10606         * ggc-page.c: Likewise.
10607         * jump.c: Likewise.
10608         * loop.c: Likewise.
10609         * mips-tfile.c: Likewise.
10610         * recog.c: Likewise.
10611         * regclass.c: Likewise.
10612         * regmove.c: Likewise.
10613         * tree.c: Likewise.
10614         * tree.h: Likewise.
10615
10616 2003-07-22  Per Bothner  <pbothner@apple.com>
10617
10618         * line-map.c (add_line_map):  Handle invalid LEAVE request.
10619         Fixes PR preprocessor/11361.
10620
10621 2003-07-22  Per Bothner  <pbothner@apple.com>
10622
10623         * diagnostic.c.(diagnostic_report_current_module):  Update to match
10624         2003-06-05 changes to push_srcloc and pop_srcloc.
10625
10626 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
10627
10628         * doc/trouble.texi: Better document two-stage name lookup.
10629
10630 2003-07-22  Eric Christopher <echristo@redhat.com>
10631
10632         * config/s390.c (s390_valid_pointer_mode): New.
10633         (TARGET_VALID_POINTER_MODE): Use.
10634         (s390_emit_prologue): Add tpf profiling hooks.
10635         (s390_emit_epilogue): Ditto.
10636         * config/s390.h (MASK_TPF): New.
10637         (TARGET_TPF): Use.
10638         (POINTERS_EXTEND_UNSIGNED): Define.
10639         * config/s390.md (ptr_extend): New pattern.
10640
10641 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
10642
10643         * hashtable.c (approx_sqrt): Make static.
10644         * hashtable.h: Don't prototype approx_sqrt.
10645         * line-map.c (init_line_maps): Rename linemap_init.
10646         (free_line_maps): Rename linemap_free.
10647         (add_line_map): Rename linemap_add.
10648         (lookup_line): Rename linemap_lookup.
10649         (print_containing_files): Rename linemap_print_containing_files.
10650         * linemap.h: Update to match.
10651
10652         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
10653         linemap routines to use new names.
10654
10655 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
10656
10657         * c-common.c (handle_packed_attribute): Don't pack a struct via a
10658         typedef. Propagate packedness from a main variant.
10659
10660 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10661
10662         * Makefile.in (install-common): Add dependency on installdirs.
10663
10664 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
10665
10666         * c-common.c (c_common_type_for_mode): Return integer types for
10667         pointer modes.
10668
10669 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
10670
10671         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
10672         (finish_decl): Call maybe_apply_pragma_weak here.
10673         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
10674         TREE_PUBLIC and TREE_STATIC are decided.
10675         (start_function): Move call to maybe_apply_pragma_weak.  Check that
10676         DECL_ASSEMBLER_NAME isn't set too early.
10677
10678         * cpplex.c (_cpp_process_line_notes): Mention option name in
10679         trigraphs warning.
10680
10681 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
10682
10683         * combine.c (if_then_else_cond): Simplify the comparison of
10684         rtx against -1, 0, and 1.
10685         * loop.c (check_dbra_loop): Likewise.
10686         * optabs.c (emit_conditional_move): Likewise.
10687         (emit_conditional_add): Likewise.
10688         * config/i386/i386.md (*movsi_or): Likewise.
10689         (*movdi_or_rex6): Likewise.
10690
10691 2003-07-22  Jan Hubicka  <jh@suse.cz>
10692
10693         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
10694
10695 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
10696
10697         * cppfiles.c (open_file_pch): Don't put unused entries in the
10698         splay tree.  Remove dead code.
10699
10700 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
10701
10702         * c-common.h (num_in_fnames): Declare.
10703         (c_static_assembler_name): Move from here...
10704         * c-tree.h (c_static_assembler_name): ... to here.
10705         * c-opts.c: Don't include langhooks-def.h.
10706         (c_static_assembler_name): Move to c-decl.c.
10707         (num_in_fnames): Make externally visible.
10708         * c-decl.c: Include langhooks-def.h.
10709         (c_static_assembler_name): Move from c-opts.c.
10710         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
10711         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
10712
10713         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
10714         when it's not needed.
10715
10716 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
10717
10718         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
10719         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
10720         (rs6000_emit_prologue): Save FPRs inline if set.
10721
10722 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
10723
10724         * config/ia64/ia64.md (prefetch): Support predicate.
10725
10726 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
10727
10728         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
10729         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
10730         table.
10731
10732 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
10733
10734         PR optimization/11536
10735         * unroll.c (loop_iterations): Do not replace a register holding
10736         the final value by its equivalent before the loop if it is not
10737         invariant.
10738
10739 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
10740
10741         * doc/extend.texi: Fixes to spelling, grammar, and diction.
10742
10743 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
10744
10745         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
10746         (V850 Options): Spelling fixes.
10747
10748 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
10749
10750         * doc/invoke.texi: Fixes to style, grammar and diction.
10751
10752 2003-07-20  Roger Sayle  <roger@eyesopen.com>
10753
10754         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
10755         * system.h (SMALL_STACK): Poison obsolete target macro.
10756         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
10757
10758 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
10759
10760         * configure.in:  Cache the results of testing for cmp's capabilities.
10761         * configure:  Regenerate.
10762
10763 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
10764
10765         PR debug/11279
10766         * dwarf2out.c (gen_enumeration_type_die): Remember that
10767         enumerators can be unsigned.
10768
10769 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
10770
10771         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
10772         (push_label_level, pop_label_level): Kill.
10773         (struct binding_level): Rename level_chain to outer.
10774         Add outer_function field.  Change parm_flag, function_body,
10775         keep, keep_if_subblocks to 1-bit bitfields of type bool.
10776         (current_function_level): New variable.
10777         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
10778         (keep_next_level, declare_parm_level, warn_if_shadowing):
10779         Update to match.
10780         (struct language_function): Kill named_labels, shadowed_labels fields.
10781         (c_init_decl_processing, start_function, c_push__function_context)
10782         (c_pop_function_context): No need to muck with named_labels nor
10783         shadowed_labels.
10784
10785         (make_binding_level): No need to clear the structure here.
10786         (pop_binding_level): Always operate on current_binding_level.
10787         Update current_function_level if necessary.
10788         (pushlevel): Don't clear named_labels.  Update current_function_level
10789         if necessary.  Use "true" and "false" where appropriate.
10790         (poplevel): Diagnose labels defined but not used, or vice
10791         versa, and clear out label-meanings leaving scope, while
10792         walking down the decls list, for all binding levels.
10793         Handle LABEL_DECLs appearing in the shadowed list.
10794         pop_binding_level takes no arguments.
10795         (pushdecl_function_level): Use current_function_level.
10796
10797         (make_label, bind_label): New static functions.
10798         (declare_label): New exported function.
10799         (lookup_label, define_label): Rewritten for new data structure.
10800         (shadow_label): Kill.
10801
10802         * c-tree.h: Prototype declare_label; don't prototype
10803         push_label_level, pop_label_level, nor shadow_label.
10804         * c-parse.in: Remove all calls to push_label_level and
10805         pop_label_level.  Use declare_label for __label__ decls.
10806
10807         * doc/extend.texi: Clarify that __label__ can be used to
10808         declare labels with local scope in any nested block, not
10809         just statement expressions.  Cross-reference nested functions
10810         section from local labels section.
10811
10812 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10813
10814         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
10815
10816 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
10817
10818         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
10819
10820 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10821
10822         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
10823         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
10824
10825 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
10826
10827         * config/s390/s390.c (legitimize_pic_address): Access local symbols
10828         relative to the GOT instead of relative to the literal pool base.
10829         (s390_output_symbolic_const): Handle new GOT-relative accesses.
10830         * config/s390/s390.md ("call"): Access local functions and PLT stubs
10831         relative to the GOT instead of relative to the literal pool base.
10832         ("call_value"): Likewise.
10833         ("call_value_tls"): Likewise.
10834
10835         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
10836         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
10837         (s390_chunkify_finish): Likewise.
10838         (s390_chunkify_cancel): Likewise.
10839         (s390_reorg): Adapt caller.
10840         (find_base_register_in_addr,
10841         find_base_register_ref, replace_base_register_ref): Delete.
10842         (find_ltrel_base, replace_ltrel_base): New functions.
10843         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
10844         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
10845         base vs. index register usage.
10846         (struct constant_pool): Remove 'anchor'.
10847         (s390_add_anchor): Delete.
10848         (s390_dump_pool): Remove anchor handling.
10849         * config/s390/s390.md ("reload_anchor"): Remove.
10850
10851         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
10852         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
10853         (s390_emit_prologue): Use it.
10854         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
10855         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
10856         hard-code register 14.
10857         * config/s390/s390-protos.h (s390_load_got): Declare.
10858
10859         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
10860         Support TImode constants.
10861         * config/s390/s390.md ("consttable_ti"): New.
10862         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
10863
10864         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
10865         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
10866         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
10867         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
10868         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
10869         New symbolic constants.
10870         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
10871         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
10872         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
10873         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
10874         symbolic UNSPEC values.
10875         * config/s390/s390.c (larl_operand, s390_short_displacement,
10876         bras_sym_operand, s390_cannot_force_const_mem,
10877         s390_delegitimize_address, s390_decompose_address,
10878         legitimize_pic_address, s390_output_symbolic_const,
10879         s390_function_profiler): Use symbolic UNSPEC values.
10880
10881 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10882
10883         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
10884         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
10885         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
10886         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
10887         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
10888         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
10889         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
10890         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
10891         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
10892         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
10893         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
10894         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
10895         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
10896         postreload.c prefix.c print-tree.c protoize.c ra-build.c
10897         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
10898         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
10899         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
10900         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
10901         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
10902         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
10903         casts.
10904
10905 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10906
10907         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
10908         * toplev.h (warning): Remove attribute.
10909
10910 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10911
10912         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
10913         (pop_label_level): Likewise.
10914         (duplicate_decls): Likewise.
10915         (implicitly_declare): Likewise.
10916         (shadow_label): Likewise.
10917         (start_decl): Likewise.
10918         (finish_decl): Likewise.
10919         (grokdeclarator): Likewise.
10920         (get_parm_info): Likewise.
10921         (detect_field_duplicates): Likewise.
10922         (finish_struct): Likewise.
10923         (start_function): Likewise.
10924         (store_parm_decls): Likewise.
10925         (finish_function): Likewise.
10926         (c_expand_body_1): Likewise.
10927         (check_for_loop_decls): Likewise.
10928         (merge_translation_unit_decls): Likewise.
10929
10930 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
10931
10932         * common.opt:  Document --param.
10933         * opts.c (columns, undocumented_msg): New.
10934         (print_help): Get number of columns from environment.  Print
10935         --param help.  Tweak newline handling.
10936         (print_param_help): New.
10937         (print_filtered_help): Better handling of duplicates.  Complain
10938         about undocumented switches.
10939         (print_switch): New.
10940         (wrap_help): Improve wrapping, use COLUMNS.
10941         * opts.sh: Ignore comments in records.
10942         * params.def: Fix typos and remove trailing periods.
10943         * toplev.c (display_help): Don't dump --param help.
10944         * doc/sourcebuild.texi: Update.
10945
10946 2003-07-18  Richard Henderson  <rth@redhat.com>
10947
10948         PR target/11556
10949         * optabs.c (prepare_operand): Fail gracefully instead of abort
10950         if the predicate doesn't satisfy.
10951         (gen_cond_trap): Allow prepare_operand to fail.
10952
10953 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10954
10955         * c-common.c: Don't undefine GCC_DIAG_STYLE.
10956         (fname_decl): Don't use xxx_with_decl.
10957         (c_add_case_label): Likewise.
10958         (handle_section_attribute): Likewise.
10959         (handle_alias_attribute): Likewise.
10960         (handle_no_instrument_function_attribute): Likewise.
10961         (handle_no_limit_stack_attribute): Likewise.
10962         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
10963         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
10964
10965 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10966
10967         * Makefile.in (ifcvt.o): Add cfgloop.h.
10968         * basic-block.h (EDGE_LOOP_EXIT): New flag.
10969         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
10970         * ifcvt.c: Include cfgloop.h.
10971         (mark_loop_exit_edges): New static function.
10972         (if_convert): Call it.
10973         (find_if_header): Ignore branches out of loops.
10974
10975 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
10976
10977         * combine.c (simplify_comparison): Don't share rtx when converting
10978         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
10979
10980 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
10981
10982         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
10983         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
10984         (MUST_PASS_IN_STACK): Define.
10985         (BLOCK_REG_PADDING): Define.
10986
10987 2003-07-18  Richard Henderson  <rth@redhat.com>
10988
10989         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
10990         to skip the addr_vec.
10991
10992 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
10993
10994         * combine.c (combinable_i3pat): Don't forbid occurrences of
10995         i2dest or i1dest in inner_dest if inner_dest is a mem.
10996
10997 2003-07-18  Jan Hubicka  <jh@suse.cz>
10998
10999         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
11000
11001 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
11002
11003         PR target/11087
11004         * loop.c (basic_induction_var): Check if convert_modes emitted any
11005         instructions. Remove them and return 0 if so.
11006
11007 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
11008
11009         PR optimization/11083
11010         * toplev.c (rest_of_handle_addresof): Rename into
11011         rest_of_handle_addressof.  Delete unreachable blocks
11012         if dead edges were purged after the addressof pass.
11013
11014 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
11015
11016         * Makefile.in, configure, configure.in: Remove handling of
11017         lang-options.h and options_.h.
11018         * toplev.c (struct lang_opt, documented_lang_options): Remove.
11019         (display_help): Don't use documented_lang_options.
11020
11021 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
11022
11023         * c-decl.c (pushdecl_function_level): Make static, return nothing.
11024         (kept_level_p): Fold into poplevel.
11025         (undeclared_variable): Moved here from c-typeck.c.  Export.
11026         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
11027         (undeclared_variable): Prototype here.  Don't prototype
11028         kept_level_p nor pushdecl_function_level.
11029         * c-parse.in: Change first argument to poplevel from
11030         "kept_level_p()" to "KEEP_MAYBE".
11031         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
11032
11033 2003-07-17  Roger Sayle  <roger@eyesopen.com>
11034
11035         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
11036         commutative operands instead of modifying the RTL in-place.
11037
11038 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
11039
11040         PR optimization/11557
11041         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
11042         unless we know which function is being called.
11043
11044 2003-07-17  Roger Sayle  <roger@eyesopen.com>
11045
11046         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
11047         whether to reorder the operands of a commutative binary operator.
11048
11049 2003-07-17  Roger Sayle  <roger@eyesopen.com>
11050
11051         * fold-const.c (const_binop): Avoid performing the FP operation at
11052         compile-time, if either operand is NaN and we honor signaling NaNs,
11053         or if we're dividing by zero and either flag_trapping_math is set
11054         or the desired mode doesn't support infinities.
11055         (fold_initializer): New function to fold an expression ignoring any
11056         potential run-time exceptions or traps.
11057         * tree.h (fold_initializer): Prototype here.
11058         * c-typeck.c (build_binary_op): Move to the end of the file so
11059         that intializer_stack is in scope.  If constructing an initializer,
11060         i.e. when initializer_stack is not NULL, use fold_initializer to
11061         fold expressions.
11062         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
11063         performing FP operations at compile-time, if they would raise an
11064         exception at run-time.
11065
11066 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
11067
11068         PR 11498
11069         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
11070         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
11071         (GTFILES): Add langhooks.c.
11072         (gt-langhooks.h): New.
11073         * c-common.h (c_static_assembler_name): Prototype.
11074         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
11075         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
11076         * c-opts.c: Include langhooks-def.h.
11077         (c_static_assembler_name): New.
11078         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
11079         (var_labelno): New.
11080         (lhd_set_decl_assembler_name): Give static objects with context
11081         unique names.
11082         * varasm.c (var_labelno): Delete.
11083         (make_decl_rtl): Don't change the assembler name once it's set.
11084
11085         * c-opts.c (this_input_filename): New.
11086         (finish_options): Take new parameter, name of file being compiled.
11087         Update callers.  Set this_input_filename.
11088         (push_command_line_include): Use this_input_filename not
11089         main_input_filename.
11090
11091 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
11092
11093         * Makefile.in: Depend .pot generation on options.c.
11094         * po/exgettext: Add an extra_files variable containing additional
11095         files to scan.
11096
11097 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
11098
11099         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
11100         c_write_global_declarations.
11101
11102         * c-decl.c: Fix typos in several comments.  Remove all
11103         #if 0 blocks; reindent as needed.  Remove unused argument
11104         to declare_parm_level; all callers changed.
11105         * c-parse.in: Update calls to declare_parm_level.  Avoid
11106         issuing a double warning in some circumstances.
11107         * c-typeck.c: Update calls to declare_parm_level.
11108         * c-tree.h: Update prototype of declare_parm_level.
11109
11110         * c-pragma.c (apply_pragma_weak): Don't complain about a
11111         redundant #pragma weak.
11112
11113         * objc/objc-act.c (forward_declare_categories,
11114         build_selector_reference_decl, build_class_reference_decl,
11115         build_objc_string_decl, synth_forward_declarations,
11116         build_protocol_reference): Set TREE_PUBLIC on synthetic
11117         forward decl to 0, consistent with eventual definition.
11118         Correct comments to match.
11119
11120         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
11121         in regexp that don't form a range expression.
11122         * fixinc/fixincl.def: Regenerate.
11123
11124 2003-07-17  Richard Henderson  <rth@redhat.com>
11125
11126         PR target/10907
11127         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
11128         even with !TARGET_CONST_GP.
11129         (ia64_function_ok_for_sibcall): Reject non-local functions.
11130
11131 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
11132
11133         * c-common.c (c_estimate_num_insns_1): Don't handle
11134         METHOD_CALL_EXPR.
11135         * expr.c (safe_from_p): Likewise.
11136         * gengtype.c (adjust_field_tree_exp): Likewise.
11137         * stmt.c (warn_if_unused_value): Likewise
11138         * tree.c (first_rtl_op): Likewise.
11139         * tree.def: Don't define METHOD_CALL_EXPR.
11140         * java/lang.c (java_estimate_num_insns_1): Don't handle
11141         METHOD_CALL_EXPR.
11142
11143 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
11144
11145         PR other/11466
11146         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
11147         and its restrictions for the SPARC64 port.
11148         Move the entry of "-mimpure-text" before that of "-mv8".
11149
11150 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
11151             Phil Edwards <phil@jaj.com>
11152
11153         * doc/install.texi (*-*-solaris2*): Document the step-by-step
11154         procedure to bootstrap and install.
11155         Document the preference for the legacy Sun tools in /usr/bin
11156         over the POSIX tools in /usr/xpg4/bin for the build process.
11157
11158 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
11159
11160         * c.opt: Document Uncodumented; use it.  Document ObjC options.
11161         * opts.c (print_filtered_help): Skip undocumented switches.
11162         * opts.h (CL_UNDOCUMENTED): New.
11163         * opts.sh: Handle Undocumented.
11164         * toplev.c (documented_lang_options): Prevent its becoming empty.
11165 objc:
11166         * lang-options.h: Remove.
11167
11168 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
11169
11170         * loop.c (check_ext_dependent_givs): Pass const struct loop *
11171         instead of struct loop_info * as argument.  Accept BIVs with
11172         increment +/- 1 provided there is a friendly exit test against
11173         a loop-invariant value.
11174         (strength_reduce): Adapt call to check_ext_dependent_givs.
11175
11176 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
11177             Con Bradley <con.bradley@superh.com>
11178
11179         * sh-protos.h (sh_get_pr_initial_val): Declare.
11180         * sh.c (regno_reg_class): Make its elements type enum reg_class.
11181         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
11182         and live_regs_mask arguments.  Changed all callers.
11183         (save_schedule_s): New structure.
11184         (save_schedule): New typedef.
11185         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
11186         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
11187         In interrupts handlers, also save registers that are usually
11188         partially saved, and make sure there is at least one general purpose
11189         register saved if a target register needs saving.
11190         Add casts in comparisons to avoid warnings.
11191         (sh_media_register_for_return): return -1 for interrupt handlers.
11192         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
11193         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
11194         registers used are available.
11195         Set RTX_FRAME_RELATED_P where appropriate.
11196         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
11197         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
11198         (initial_elimination_offset): Likewise.
11199         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
11200         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
11201         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
11202         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
11203         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
11204         and for target registers.
11205         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
11206         (regno_reg_class): Make its elements type enum reg_class.
11207         (CONSTRAINT_LEN): Don't use isdigit.
11208         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
11209         (FUNCTION_ARG): Add parentheses to avoid warnings.
11210         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
11211         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
11212         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
11213         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
11214         * sh.md (xordi3+1): Remove unused variable regno.
11215         (return_media): Check that tr0 is available before using it.
11216
11217 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
11218
11219         * c.opt: Document more options.
11220
11221 2003-07-16  Roger Sayle  <roger@eyesopen.com>
11222
11223         * combine.c (subst): Also handle (subreg (const_double ...)) case
11224         if created by a substitution, by using the original inner mode.
11225
11226 2003-07-16  Roger Sayle  <roger@eyesopen.com>
11227
11228         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
11229         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
11230         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
11231
11232 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
11233
11234         * doc/install.texi (--without-headers): New.
11235
11236         Partial Fix PR/10129
11237         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
11238         (machopic_output_function_base_name): New; print the true pic label.
11239         (machopic_classify_ident): Pic Base is always a defined data.
11240         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
11241         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
11242
11243         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
11244         if they are not floating point registers.
11245
11246         PR c/10962
11247         * ggc.h: Add header guards.
11248         * c-decl.c (finish_struct): Sort fields if
11249         number greater than 15 and there are no
11250         anonymous structs/unions.
11251         * c-common.h: Include ggc.h.
11252         (sorted_fields_type): New struct.
11253         (field_decl_cmp): New prototype.
11254         (resort_sorted_fields): New prototype.
11255         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
11256         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
11257         as s, removing other fields.
11258         * c-typeck.c (lookup_field): Use s in lang_type.
11259         These were mostly moved from cp/class.c:
11260         * c-common.c (field_decl_cmp): New static function.
11261         (field_decl_cmp): New function.
11262         (resort_sorted_fields): New function.
11263
11264 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
11265
11266         * config/darwin.c (machopic_select_section): Use decl_readonly_section
11267         to do most of the work.
11268
11269 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
11270
11271         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
11272         * config/mmix/mmix.c: Convert functions to ISO C90.
11273         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
11274         formatting.
11275         (mmix_get_hard_reg_initial_val): Tweak section head comment.
11276
11277 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
11278
11279         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
11280
11281 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
11282
11283         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
11284         (uw_update_context_1): Use it.
11285         * config/rs6000/rs6000.c (insn_after_throw): Remove.
11286         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
11287         in parent frame if _Unwind_* called directly instead of through
11288         .plt.
11289         (rs6000_emit_eh_toc_restore): Remove.
11290         (rs6000_emit_prologue): Update stack pointer before doing any saving
11291         if current_function_calls_eh_return.  Generate unwind info for $r2.
11292         (rs6000_emit_epilogue): Restore stack pointer after doing all
11293         restoring if current_function_calls_eh_return.  Restore $r2.
11294         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
11295         * config/rs6000/rs6000.md (eh_return): Remove call to
11296         rs6000_emit_eh_toc_restore.
11297         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
11298         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
11299
11300 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
11301
11302         * expr.c (emit_block_move): Don't move anything if size is const 0.
11303         (clear_storage): Test against const0_rtx instead of comparing INTVAL
11304         against 0.
11305
11306 2003-07-15  David S. Miller  <davem@redhat.com>
11307
11308         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
11309         emit nop if the last real insn is CALL_INSN.
11310
11311 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
11312
11313         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
11314         as "nul".
11315         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
11316
11317 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
11318
11319         * config/i386/winnt.c (associated_type): Artificial methods are not
11320         affected by the import/export status of their class unless they are
11321         COMDAT.
11322         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
11323
11324         * config/i386/winnt.c: Fix GCC copyright comment.
11325
11326 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
11327
11328         PR c++/11531
11329         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
11330         not recursing on hard error.
11331         (diagnostic_for_decl): Likewise.
11332         * diagnostic.def: Rearrange.
11333
11334 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
11335
11336         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
11337         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
11338
11339 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
11340             Richard Henderson  <rth@redhat.com>
11341
11342         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
11343         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
11344         (_Unwind_SetGR): Likewise.
11345         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
11346         (Unwind_SpTmp): New typedef.
11347         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
11348         (uw_update_context): Use _Unwind_GetPtr.
11349         (init_dwarf_reg_size_table): Move above uw_init_context_1.
11350         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
11351         Use _Unwind_SetSpColumn.
11352         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
11353         Use _Unwind_GetPtr.
11354
11355 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
11356
11357         * c.opt: Document more options.
11358         * toplev.c (documented_lang_options): Remove all local help strings.
11359
11360 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
11361
11362         PR debug/11473
11363         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
11364         base classes.
11365
11366 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
11367
11368         PR target/10795
11369         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
11370         swap comparison operands if doing so would generate an
11371         unrecognizable insn.
11372
11373 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
11374
11375         PR optimization/11320
11376         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
11377         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
11378         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
11379         current_sched_info->compute_jump_reg_dependencies. Record which
11380         registers are used and which registers are set by the jump.
11381         Clear deps->reg_conditional_sets after a barrier.
11382         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
11383         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
11384         (init_deps): Initialize reg_conditional_sets.
11385         (free_deps): Clear reg_conditional_sets.
11386         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
11387         Mark registers live on entry of the fallthrough block and conditionally
11388         set as set by the jump. Mark registers live on entry of non-fallthrough
11389         blocks as used by the jump.
11390         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
11391         Mark new parameters as unused.
11392
11393 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11394
11395         * doc/invoke.texi: Resync MIPS -march documentation.
11396
11397 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11398
11399         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
11400         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
11401         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
11402         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
11403         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
11404         (mips_issue_rate): Handle PROCESSOR_R9000.
11405         (mips_use_dfa_pipeline_interface): Likewise.
11406         * config/mips/9000.md: New file.
11407         * config/mips/mips.md: Include it.
11408         (define_attr cpu): Add r9000.
11409         (mulsi3_mult3): Use "mul" for rm9000 code.
11410
11411 2003-07-15  Stan Cox  <scox@redhat.com>
11412
11413         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
11414         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
11415         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
11416         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
11417         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
11418         (mips_issue_rate): Handle PROCESSOR_R7000.
11419         (mips_use_dfa_pipeline_interface): Likewise.
11420         * config/mips/7000.md: New file.
11421         * config/mips/mips.md: Include it.
11422         (define_attr cpu): Add r7000.
11423         (mulsi3_mult3): Use "mul" for rm7000 code.
11424
11425 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
11426
11427         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
11428         the conditional move patterns.
11429         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
11430         Check for condmove type.
11431         (ir_vr54_arith): Add move type.
11432         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
11433         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
11434
11435 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
11436
11437         * c-opts.c (print_help): Remove.
11438         (c_common_handle_option): Don't handle --help.
11439         * c.opt: Document some options.
11440         (--help): Remove.
11441         * opts.c (print_filtered_help): New.
11442         (print_help): Use it.
11443
11444 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
11445
11446         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
11447         * tree.c: (build_common_tree_nodes_2): Likewise.
11448         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
11449         (V4DF_type_node): New.
11450
11451         * c-opts.c (push_command_line_include): Don't free deferred_opts,
11452         we'll need it.
11453         (finish_options): Reset init_cursor.
11454
11455 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
11456
11457         * expr.c (expand_assignment): Remove an unused argument
11458         SUGGEST_REG.
11459         * expr.h: Update the prototype.
11460         * function.c: Update the callers.
11461         * stmt.c: Likewise.
11462
11463 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
11464
11465         PR debug/11098
11466         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
11467         as DECL_ABSTRACT.
11468
11469 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11470
11471         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
11472         with __cplusplus, not "we must use the C++ compiler's type"
11473         * fixinc/inclhack.def (void_null): Note that Interix needs this.
11474         * fixinc/fixincl.x: Regenerate.
11475
11476 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
11477
11478         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
11479         and unseen_objects from the global data before calling
11480         __deregister_frame_info_bases.
11481         (examine_objects): Insert objects into the seen_objects list,
11482         not unseen_objects.
11483         (_Unwind_Find_FDE): Always unlock the global object lists, even if
11484         we couldn't allocate a data structure to put in it.
11485
11486         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
11487         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
11488         (SET_TYPE_PROTOCOL_LIST): New.
11489         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
11490         (get_object_reference): Likewise.
11491
11492 2003-07-14  Jan Hubicka  <jh@suse.cz>
11493
11494         * cfglayout.c (locator_file): Break out from ....
11495         (insn_file): ... here.
11496         (locator_line): Break out from ....
11497         (insn_line): ... here.
11498         * rtl.h (locator_file, locator_line): Declare.
11499         (final_start_function): Set proper line/file info.
11500
11501 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11502
11503         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
11504         handled by pp_c_cast_expression.
11505
11506 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11507
11508         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
11509         allocate 32768 bytes of stack.  Use addition rather than subtraction
11510         when a single insn is enough.
11511         * config/mips/mips.md: Remove insns and splitters for subtracting
11512         constants.
11513         (subsi3): Only accept register operands.
11514         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
11515         (subdi3_internal_3, subsi3_internal_2): Likewise.
11516         (casesi): Use expand_binop to subtract the lower bound.
11517
11518 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11519
11520         * config/mips/mips.c (mips_in_small_data_p): Don't handle
11521         TARGET_MIPS16 specially.
11522
11523 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
11524
11525         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
11526         mips_output_aligned_bss.
11527         * config/mips/linux.h: Likewise.
11528         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
11529         * config/mips/mips.c (mips_output_aligned_bss): New function.
11530
11531         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
11532         * config/mips/elf64.h: Likewise.
11533
11534         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
11535         mips_declare_object_name.
11536         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
11537         * config/mips/elf64.h: As for elf.h.
11538         * config/mips/iris6.h: Likewise.
11539         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
11540         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
11541         do...while (0) block.
11542         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
11543         (mips_finish_declare_object): Declare.
11544         * config/mips/mips.c (mips_declare_object_name): New function.
11545         (mips_finish_declare_object): New function.
11546
11547         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
11548         * config/mips/linux.h: Likewise.
11549
11550         * config/mips/mips.c (inside_function): Delete.
11551         (file_in_function_warning, ignore_line_number): Delete.
11552         (mips_output_filename): Don't warn about changing filenames within
11553         a function.
11554         (mips_output_lineno): Update accordingly.
11555         (mips_output_function_prologue): Don't reset the deleted variables.
11556         * config/mips/mips.h (inside_function): Delete.
11557         (file_in_function_warning, ignore_line_number): Delete.
11558
11559         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
11560         * config/mips/elf64.h: Likewise.
11561         * config/mips/openbsd.h: Likewise.
11562         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
11563         * config/mips/linux.h: Likewise.
11564         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
11565         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
11566
11567         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
11568         to the list of include files when using gas.
11569         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
11570         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
11571         * config/mips/elf64.h: Likewise.
11572         * config/mips/iris5.h: Likewise.
11573         * config/mips/linux.h: Likewise.
11574         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
11575         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
11576         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
11577         * config/mips/sdb.h: ...this new file.
11578
11579 2003-07-14  Douglas Rupp  <rupp@gnat.com>
11580
11581         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
11582         argument to getcwd; use fixed buffer instead.
11583
11584 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
11585
11586         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
11587         * fixinc/fixinc.wrap: Delete.
11588
11589 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
11590
11591         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
11592         don't have 2.
11593
11594 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
11595
11596         * ggc-page.c (struct globals): Add new fields to keep track of the
11597         total allocated memory and overhead.
11598         (ggc_print_statistics): Print them.
11599         (ggc_alloc): Keep track of the total allocated memory and the
11600         overhead.
11601
11602         * tree.c (dump_tree_statistics): Increase spacing.
11603         (enum tree_node_kind): Move to ...
11604         * tree.h (enum tree_node_kind): ... here.
11605         (tree_node_counts, tree_node_sizes): Declare.
11606
11607 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
11608
11609         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
11610
11611 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11612
11613         PR optimization/11440
11614         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
11615         SIGN_EXTRACT SETs.
11616
11617 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
11618
11619         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
11620         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
11621         (emit_group_load, emit_group_store): Adjust declarations.
11622         Remove most occurrences of #ifdef TREE_CODE.
11623         * expr.c (emit_group_load): Add "type" param, and use
11624         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
11625         aligned accesses if !SLOW_UNALIGNED_ACCESS.
11626         (emit_group_store): Likewise.
11627         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
11628         emit_group_load and emit_group_store calls.
11629         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
11630         BLOCK_REG_PADDING to determine whether we need endian_correction.
11631         (load_register_parameters): Localize vars.  Handle shifting of
11632         small values to the correct end of regs.  Adjust emit_group_load
11633         call.
11634         (expand_call, emit_library_call_value_1): Adjust emit_group_load
11635         and emit_group_store calls.
11636         * function.c (assign_parms): Set mem alignment for stack slots.
11637         Adjust emit_group_store call.  Store values at the "wrong" end
11638         of regs to the stack.  Use BLOCK_REG_PADDING.
11639         (locate_and_pad_parm): Save where_pad.
11640         (expand_function_end): Adjust emit_group_load call.
11641         * stmt.c (expand_value_return): Adjust emit_group_load call.
11642         * Makefile.in (calls.o): Depend on $(OPTABS_H).
11643         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
11644         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
11645         (MUST_PASS_IN_STACK): Define.
11646         (BLOCK_REG_PADDING): Define.
11647         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
11648         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
11649         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
11650         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
11651         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
11652
11653 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
11654
11655         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
11656
11657 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11658
11659         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
11660         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
11661
11662 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
11663
11664         PR other/11123
11665         * toplev.c: Don't cut off option names.
11666
11667 2003-07-13  Andreas Jaeger  <aj@suse.de>
11668
11669         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
11670         to integer of different size.
11671
11672 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
11673
11674         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
11675         to (eq (and X 1) 0).
11676
11677 2003-07-13  Andreas Jaeger  <aj@suse.de>
11678
11679         * config.gcc: Add pmmintrin.h for x86_64-*-*.
11680
11681 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
11682
11683         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
11684         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
11685         list.  Move these all together down by cpplib.
11686
11687         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
11688         definition of CPPCHAR_SIGNED_T.
11689
11690         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
11691         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
11692         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
11693
11694         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
11695         * cppinit.c (cpp_create_reader): Likewise.
11696
11697         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
11698         * cpptrad.c: Likewise.  All callers changed.
11699         * cpplib.c: All callers changed.
11700         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
11701         * hashtable.h: Define GTY(x) to nothing here too.
11702
11703 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11704
11705         * stor-layout.c (compute_record_mode): Remove very obsolete test
11706         that forces BLKmode for records with fields crossing word boundary.
11707
11708 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
11709
11710         * Makefile.in: Remove orphan reference to acconfig.h.
11711
11712 2003-07-13  Andreas Jaeger  <aj@suse.de>
11713
11714         * cgraphunit.c: Convert prototypes to ISO C90.
11715
11716 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
11717
11718         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
11719         (for OpenBSD).
11720         * fixinc/fixincl.x: Rebuild.
11721
11722 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
11723
11724         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
11725         i?86-*-*.  Use correct name of cache variable.
11726         * configure: Regenerate.
11727
11728 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
11729
11730         * config/alpha/alpha.c: Fix comment typos.
11731         * config/alpha/alpha.md: Likewise.
11732         * config/arm/arm.c: Likewise.
11733         * config/arm/arm.md: Likewise.
11734         * config/arm/lib1funcs.asm: Likewise.
11735         * config/avr/avr.md: Likewise.
11736         * config/arm/README-interworking: Fix typos.
11737
11738 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
11739
11740         * c-format.c: Fix comment formatting.
11741         * c-typeck.c: Likewise.
11742         * coverage.c: Likewise.
11743         * cppcharset.c: Likewise.
11744         * cpplib.c: Likewise.
11745         * dbxout.c: Likewise.
11746         * gcov-io.h: Likewise.
11747         * toplev.c: Likewise.
11748
11749 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11750
11751         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
11752         fix.
11753
11754 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
11755
11756         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
11757         uses three-argument AC_DEFINE so no acconfig.h entries are
11758         needed.
11759         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
11760         which contains the GAS version number as a scaled integer.
11761         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
11762         ability to check for ELF assembler.
11763         (gcc_GAS_CHECK_FEATURE): New macro.
11764         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
11765         assembler feature checks using gcc_GAS_CHECK_FEATURE.
11766         Use three-argument AC_DEFINE everywhere.
11767         * acconfig.h: Deleted.
11768         * config.in, configure: Regenerate.
11769
11770 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
11771
11772         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
11773         (on OpenBSD).
11774         * fixinc/fixincl.x: Regenerate.
11775
11776         * fixinc/inclhack.def (gnu_types): Improve comment.
11777
11778 2003-07-12  Andreas Jaeger  <aj@suse.de>
11779
11780         * fp-test.c (main): Use ISO C90 prototype.
11781
11782         * version.c: Remove unneded include of ansidecl.h.
11783
11784         * cgraph.h: Convert prototypes to ISO C90.
11785         * cgraph.c: Likewise.
11786         * fix-header.c: Likewise.
11787         * ra.h: Likewise.
11788         * protoize.c: Likewise.
11789
11790 2003-07-12  Jan Hubicka  <jh@suse.cz>
11791
11792         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
11793         warning.
11794
11795 2003-07-12  Jan Hubicka  <jh@suse.cz>
11796                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11797
11798         * cgraph.c (cgraph_max_uid): New global variable.
11799         (cgraph_node): Set uid field.
11800         (create_edge): Keep inline flags consistent.
11801         (dump_cgraph): Dump more info.
11802         * cgraph.h (struct cgraph_local_info): Remove inline_many and
11803         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
11804         (struct cgraph_global_info): Add insns, calls, cloned_times,
11805         will_be_output.
11806         (struct cgraph_node): Add uid.
11807         (struct cgraph_edge): Add inline_call.
11808         (cgraph_max_uid, cgraph_inline_p): Declare.
11809         * cgraph.c: Include params.h and fibheap.h
11810         (cgraph_mark_functions_to_inline_once): Kill.
11811         (INSNS_PER_CALL): New constant.
11812         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
11813         static variables.
11814         (cgraph_finalize_function): Do not analyze inlining.
11815         (cgraph_finalize_compilation_unit): Set inlining attributes.
11816         (cgraph_mark_functions_to_output): More consistency checks.
11817         (cgraph_optimize_function): Set current_function_decl to NULL.
11818         (cgraph_expand_function): Use new inline flags.
11819         (cgraph_postorder): Expand from cgraph_expand_functions.
11820         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
11821         (cgraph_inlined_into, cgraph_inlined_callees,
11822         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
11823         cgraph_mark_inline, cgraph_check_inline_limits,
11824         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
11825         cgraph_decide_inlining, cgraph_inline_p): New functions.
11826         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
11827         PARAM_INLINE_UNIT_GROWTH): New parameters.
11828         * tree-inline.c (struct inline_data): New field current_decl.
11829         (expand_call_inline): Avoid forward declarations; use
11830         inlinable_function_p.
11831         (optimize_inline_calls): Set id.current_decl.
11832
11833 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
11834
11835         * configure.in: Remove wrongly added definition of
11836         local_prefix.
11837         * configure: Regenerate.
11838
11839 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
11840
11841         * rtl.def (NOTE): Do not use padding.
11842
11843 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
11844
11845         * doc/install.tex: Update required binutils for i?86-*-linux*
11846
11847 2003-07-11  Richard Henderson  <rth@redhat.com>
11848
11849         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
11850
11851 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
11852
11853         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
11854         TRANSLATION_UNIT_DECL as top_level.
11855
11856 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
11857
11858         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
11859         then fall back to cmpstrM.
11860         * builtins.c (expand_builtin_memcmp): Likewise.
11861         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
11862         (s390_expand_cmpmem): ... this.
11863         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
11864         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
11865         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
11866         to s390_expand_cmpmem.
11867         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
11868         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
11869         to cmpmem*.
11870         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
11871         cmpstr* patterns.
11872         * doc/md.texi (cmpstrM): Describe as String compare insn, not
11873         Block compare insn.
11874         (cmpmemM): Add.
11875
11876 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
11877
11878         * config/i386/freebsd.h (SET_ASM_OP): Remove.
11879         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
11880         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
11881          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
11882
11883 2003-07-11  Richard Henderson  <rth@redhat.com>
11884
11885         * function.c (assign_parms): Don't recombine complex args if
11886         fnargs is unchanged from orig_fnargs.
11887         (split_complex_args): Return args without complex before copying.
11888         Re-layout the modified parameters.
11889
11890 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
11891
11892         * regclass.c (choose_hard_reg_mode): Add third argument.
11893         Changed all callers.
11894         * rtl.h (choose_hard_reg_mode): Update declaration.
11895         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
11896         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
11897
11898 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
11899
11900         * c-decl.c (finish_decl): Handle 'used' here...
11901         * cgraphunit.c (cgraph_finalize_function): ... and here ...
11902         * c-common.c: (handle_used_attribute): ... not here.
11903
11904         * configure.in (onstep): Support --enable-intermodule.
11905         * Makefile.in (OBJS-common): New.
11906         (OBJS-md): New.
11907         (OBJS-archive): New.
11908         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
11909         (OBJS-onestep): New.
11910         (libbackend.a): Support @onestep@.
11911         (libbackend.o): New.
11912         * configure: Regenerate.
11913
11914         * c-common.h (c_reset_state): New prototype.
11915         (c_parse_file): New prototype.
11916         (finish_file): Move prototype from c-tree.h.
11917         * c-decl.c: Include <hashtab.h>.
11918         (builtin_decls): New.
11919         (current_file_decl): New.
11920         (duplicate_decls): Add extra parameter. Change all callers.  Don't
11921         output duplicate common symbols.
11922         (link_hash_hash): New.
11923         (link_hash_eq): New.
11924         (poplevel): Handle popping of the top level.
11925         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
11926         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
11927         (pushdecl_top_level): Likewise.
11928         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
11929         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
11930         (finish_decl): Handle TRANSLATION_UNIT_DECL.
11931         (merge_translation_unit_decls): New.
11932         (c_write_global_declarations): New.
11933         (c_reset_state): New.
11934         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
11935         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
11936         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
11937         TRANSLATION_UNIT_DECL.
11938         (c_objc_common_finish_file): Call merge_translation_unit_decls.
11939         * c-opts.c (in_fnames): Rename from in_fname.
11940         (c_common_decode_option): Handle multiple input filenames.
11941         (c_common_post_options): Likewise.
11942         (c_common_parse_file): Likewise; also, call c_parse_file rather than
11943         yyparse.
11944         * c-parse.in: Move cleanup code to c_parse_file.
11945         (free_parser_stacks): Move contents to c_parse_file.
11946         (c_parse_file): New.
11947         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
11948         for integer types.
11949         (C_DECL_FILE_SCOPE): New.
11950         (finish_file): Move prototype to c-common.h.
11951         (merge_translation_unit_decls): New prototype.
11952         (comptypes): Add extra parameter to prototype.
11953         (c_write_global_declarations): New prototype.
11954         * c-typeck.c (tagged_types_tu_compatible_p): New.
11955         (function_types_compatible_p): Add extra parameter, change all callers.
11956         (type_lists_compatible_p): Likewise.
11957         (comptypes): Likewise.
11958         (struct tagged_tu_seen): New.
11959         (tagged_tu_seen_base): New.
11960         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
11961         (c_mark_addressable): Remove #if 0 code.
11962         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
11963         comment explaining why it shouldn't have to.
11964         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
11965         options.
11966         * cppinit.c (cpp_read_next_file): New.
11967         (cpp_read_main_file): Use it.
11968         * cpplib.c (undefine_macros): New.
11969         (cpp_undef_all): New.
11970         * cpplib.h (cpp_read_next_file): Prototype.
11971         (cpp_undef_all): Prototype.
11972         * langhooks-def.h (write_global_declarations): Remove prototype.
11973         * toplev.h (write_global_declarations): Add prototype.
11974         * tree.c (decl_type_context): Use switch statement, handle
11975         TRANSLATION_UNIT_DECL.
11976         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
11977         (TRANSLATION_UNIT_DECL): New kind of tree.
11978         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
11979         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
11980         * doc/invoke.texi: Make attempt to document new functionality.
11981
11982         2003-05-19  Per Bothner <bothner@apple.com>
11983
11984         * gcc.c (combine_inputs): New.
11985         (process_command): Set combine_inputs.
11986         (do_spec_1): Handle combine_inputs.
11987         (main): Likewise.
11988
11989 2003-07-10  James E Wilson  <wilson@tuliptree.org>
11990
11991         PR optimization/9745
11992         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
11993         loop_insn_emit_before.
11994         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
11995
11996 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
11997
11998         * cppcharset.c: Fix comment.
11999         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
12000         (EILSEQ): #define to EINVAL if not already defined.
12001         (convert_using_iconv): #if out when !HAVE_ICONV.
12002         (init_iconv_desc): Handle !HAVE_ICONV here...
12003         (cpp_init_iconv): ...not here.
12004
12005 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
12006
12007         * common.opt: More --help messages.
12008         * opts.c (print_help): Use puts().
12009         * toplev.c (f_options): Remove help text.
12010         (display_help): Don't dump f_options.
12011
12012 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
12013
12014         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
12015         Move i?86-*-interix* to the don't-fix list.
12016         * fixinc/fixinc.interix: Delete with extreme prejudice.
12017
12018 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
12019
12020         PR bootstrap/10758
12021         * doc/install.texi: Document requirements for ia64-*-hpux* target.
12022
12023 2003-07-10  Roger Sayle  <roger@eyesopen.com>
12024
12025         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
12026
12027 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
12028
12029         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
12030         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
12031         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
12032         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
12033         convert_no_conversion, convert_using_iconv): New functions.
12034         (APPLY_CONVERSION): New macro.
12035         (struct conversion, conversion_tab): New data structure.
12036         (init_iconv_desc): Check conversion_tab for a custom conversion
12037         primitive before trying to use iconv.
12038         (convert_cset): Deleted.
12039         (cpp_init_iconv): Use UTF- terminology, not UCS-.
12040         (_cpp_destroy_iconv): Update to match.
12041         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
12042         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
12043         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
12044         (_cpp_interpret_string_notranslate): New function, moved here
12045         from cpplib.c.
12046
12047         * cpphash.h (convert_f, struct cset_converter): New types.
12048         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
12049         are now struct cset_converter, not bare iconv_t.
12050         Update prototypes.
12051         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
12052         all callers changed.
12053
12054 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
12055
12056         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
12057         to opts.sh command line.
12058         * opts.sh: Write to temporary files with a move-if-change at the end.
12059
12060 2003-07-10  Denis Chertykov  <denisc@overta.ru>
12061             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12062
12063         * combine.c (gen_binary): Handle the CLOBBER rtx and
12064         don't build a binary operation with it.
12065
12066 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12067
12068         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
12069         store_killed_after, store_killed_before): Keep track of the correct
12070         dependency function to use.
12071
12072 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
12073         * toplev.c (do_compile): Don't try to open dump files before
12074         lang_dependent_init initializes dump_base_name.
12075
12076 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12077
12078         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
12079         Use ARRAY_SIZE.
12080         * config/frv/frv.c (frv_expand_builtin): Likewise.
12081         * config/sh/sh.c (sh_media_init_builtins): Likewise.
12082
12083 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
12084
12085         PR c++/10032
12086         * doc/invoke.texi (C++ Dialect Options): Change documentation of
12087         -fpermissive.
12088
12089 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
12090
12091         * tm.texi (RETURN_ADDR_OFFSET): Document.
12092
12093 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
12094
12095         * gcov-io.h: Update documentation.
12096         (GCOV_UNSIGNED2STRING): New.
12097         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
12098         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
12099         GCOV_TAG_SUMMARY_LENGTH): Adjust.
12100         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
12101         GCOV_TAG_COUNTER_NUM): New.
12102         (GCOV_BLOCK_SIZE): Number of words.
12103         (gcov_var): Adjust buffer type.
12104         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
12105         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
12106         count, not byte count.
12107         (gcov_open): Adjust overread init.
12108         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
12109         gcov_write_string, gcov_write_tag, gcov_write_length,
12110         gcov_write_tag_length): Adjust.
12111         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
12112         (gcov_sync, gcov_seek): Adjust.
12113         * gcov-dump.c (print_usage): Show gcc version only.
12114         (dump_file): Use GCOV_UNSIGNED2STRING.
12115         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
12116         * gcov.c (print_version): Show gcc version only.
12117         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
12118         GCOV_TAG_*_NUM macros.
12119         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
12120         GCOV_TAG_COUNTER_LENGTH.
12121         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
12122         Use GCOV_TAG_COUNTER_NUM.
12123         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
12124         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
12125
12126 2003-07-10  Andreas Schwab  <schwab@suse.de>
12127
12128         * gcov-dump.c (dump_file): Fix missing address operator.
12129
12130 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
12131
12132         PR c/11449
12133         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
12134         of HOST_WIDE_INT.
12135         (fold_single_bit_test): If sign_bit_p() fails, assume that the
12136         bit being tested is not a sign bit.
12137
12138 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
12139
12140         * config/h8300/h8300.md (a peephole2): New.
12141
12142 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
12143
12144         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
12145         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
12146         from ld-linux.so.2 to ld.so.1.
12147         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
12148         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
12149         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
12150         nor -Wl,-rpath-link.
12151         (LIB_SPEC): Add -rpath-link if !static.
12152         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
12153         * config/mn10300/mn10300.c (mn10300_protect_label): New
12154         variable.
12155         * config/mn10300/linux.h (PRINT_OPERAND,
12156         PRINT_OPERAND_ADDRESS): Set it during their execution.
12157         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
12158         mn10300_protect_label is set.
12159         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
12160         -Wl,-rpath-link.
12161         (LIB_SPEC, STARTFILE_SPEC): Define.
12162         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
12163         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
12164         FLOAT_BIT_ORDER_MISMATCH.
12165         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
12166         * config.gcc (am33_2.0-*-linux*): Added.
12167         * config/mn10300/linux.h: New.
12168         * config/mn10300/t-linux: New.
12169
12170 2003-07-10  Andreas Jaeger  <aj@suse.de>
12171
12172         * fold-const.c: Properly wrap prototypes.
12173
12174 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
12175
12176         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
12177         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
12178         Moved from...
12179         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
12180         * config/mn10300/mn10300.h: GTY-declare it.
12181         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
12182         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
12183         prototype.  Use incoming RTL argument.
12184         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
12185         * config/mn10300/mn10300.md (int_label): Move C statements...
12186         (GOTaddr2picreg): ... here.
12187         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12188         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
12189         * config/mn10300/mn10300.c (mn10300_encode_section_info):
12190         ... here.  New function.
12191         (TARGET_ENCODE_SECTION_INFO): Define to it.
12192         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
12193         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
12194         pattern name.
12195         (mn10300_loadPC): Define as insn splittable after reload.
12196         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
12197         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
12198         be defined in .rodata even in PIC, now that the assembler
12199         supports that.
12200         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
12201         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
12202         symbol take an underscore prefix.
12203         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
12204         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
12205         legitimize_pic_address): Declare.
12206         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
12207         the PIC register as fixed.
12208         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
12209         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
12210         PIC.
12211         (LEGITIMATE_PIC_OPERAND_P): Define.
12212         (PIC_OFFSET_TABLE_REGNUM): Define.
12213         (GOT_SYMBOL_NAME): Define.
12214         (SYMBOLIC_CONST_P): Define.
12215         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
12216         symbols.
12217         (MN10300_GLOBAL_P): Test it.
12218         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
12219         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
12220         * config/mn10300/mn10300.c (print_operand): Handle unspec.
12221         (expand_prologue): Set PIC register.
12222         (call_address_operand): Don't match SYMBOL_REFs in PIC.
12223         (legitimize_address): Call legitimize_pic_address.
12224         (legitimize_pic_address): New fn.
12225         (legitimate_pic_operand_p): New fn.
12226         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
12227         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
12228         UNSPEC_PLT): New constants.
12229         (pop_pic_reg): New insn.
12230         (movsi): Adjust non-PIC addresses.
12231         (builtin_setjmp_receiver): Restore the PIC register.
12232         (casesi): New insn.
12233         (call): Adjust non-PIC addresses.
12234         (int_label, GOTaddr2picreg): New expands.
12235         (am33_loadPC): New insn.
12236         (mn10300_loadPC): New expand.
12237         (call_next_insn): New insn.
12238         (add_GOT_to_pic_reg): New expand.
12239         (symGOT2reg, symGOT2reg_i): New expands.
12240         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
12241         (sym2PIC, sym2PLT): New expands.
12242
12243 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
12244
12245         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
12246         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
12247         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
12248         to flag_unsafe_math_optimizations.
12249         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
12250         * config/mn10300/mn10300.c (expand_prologue): Mark
12251         FP-register-saving insns as frame-related.
12252         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
12253         * config/mn10300/mn10300.c
12254         (mn10300_get_live_callee_saved_regs): Don't search past
12255         LAST_EXTENDED_REGNUM.
12256         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
12257         * config/mn10300/mn10300.md: Remove excessive line breaks from
12258         `@' output patterns that were accounted as additional
12259         alternatives.
12260         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
12261         Re-introduce changes accidentally removed in Richard Sandiford's
12262         2000-12-05's patch.
12263         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
12264         Re-instate am33-2 lost in merge from net GCC.
12265         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
12266         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
12267         floating-point registers.
12268         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
12269         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
12270         pessimizations that had gone in on 2000-05-08.
12271         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
12272         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
12273         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
12274         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
12275         operand 0.
12276         * (movhi): Likewise.
12277         * (movsi): Likewise.
12278         * (movsf): Likewise.
12279         * (movdi): Likewise.
12280         * (movdf): Likewise.
12281         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
12282         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
12283         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
12284         (expand_prologue, expand_epilogue): Save and restore FP regs.
12285         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
12286         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
12287         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
12288         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
12289         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
12290         Do not clobber cc0.
12291         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
12292         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
12293         Discourage the two-argument, longer opcodes.
12294         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
12295         ones.
12296         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
12297         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
12298         * config/mn10300/mn10300.md (cmpsf): New pattern.
12299         (branch): Test mdep.fpCC and output fbCC.
12300         * config/mn10300/mn10300.c (print_operand): Output conditions.
12301         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
12302         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
12303         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
12304         mulsf3, divsf3): Use the `F' constraint for FP values.
12305         * config/mn10300/mn10300.c (const_1f_operand): New function.
12306         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
12307         * config/mn10300/mn10300.md (sqrtsf2): New expand.
12308         (rsqrtsf2): New insn.
12309         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
12310         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
12311         previous check-in.
12312         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
12313         * config/mn10300/mn10300.md (abssf2, negdf2): On
12314         TARGET_AM33_2, expand to...
12315         (abssf2_am33_2, negdf2_am33_2): New insns.
12316         (addsf3, subsf3, mulsf3, divsf3): Likewise.
12317         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
12318         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
12319         movdi, movdf): Added FP regs.
12320         * invoke.texi (-mam33-2, -mno-am33-2): Document.
12321         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
12322         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
12323         New macros.
12324         (REGNO_AM33_2_FP_P): Renamed to...
12325         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
12326         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
12327         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
12328         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
12329         regs from GENERAL_REGS.
12330         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
12331         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
12332         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
12333         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
12334         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
12335         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
12336         as FP_REGS.
12337         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
12338         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
12339         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
12340         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
12341         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
12342         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
12343         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
12344         AM33/2.0 floating-point registers.
12345         (CONDITIONAL_REGISTER_USAGE): Adjust.
12346         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
12347         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
12348         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
12349         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
12350         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
12351         (MULTILIB_DIRNAMES): Likewise.
12352         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
12353         `__AM33_2__' when `-mam33-2' is given.
12354         (TARGET_AM33_2): Define.
12355         (TARGET_SWITCHES): Adjust.
12356         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
12357         when appropriate.
12358
12359 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
12360
12361         * doc/install.texi: Add missing @.
12362
12363 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
12364
12365         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
12366
12367 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
12368
12369         PR/11144
12370         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
12371
12372 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
12373
12374         PR bootstrap/11043
12375         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
12376         "x-crtfini.o" with "crtinit.o", "crtfini.o".
12377
12378         * fixinc/inclhack.def (limits_ifndefs): Add select test.
12379         * fixinc/fixincl.x: Rebuild.
12380
12381         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
12382         * fixinc/fixincl.x: Rebuild.
12383
12384 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
12385
12386         * doc/install.texi (Configuration): Document the valgrind option
12387         to --enable-checking.
12388
12389 2003-07-09  Jan Hubicka  <jh@suse.cz>
12390
12391         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
12392
12393 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12394
12395         * c-lex.c (cb_ident): Cast cstr.text to const char *.
12396
12397 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
12398
12399         * gcov-io.h: Update documentation.
12400         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
12401         GCOV_NOTE_MAGIC.
12402         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
12403         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
12404         (struct gcov_var): Change buffer's type. Add endian flag.
12405         (gcov_open): Remove mode in libgcov.
12406         (gcov_magic): Prototype.
12407         * gcov-io.c (from_file): New.
12408         (gcov_open): Clear endian flag.
12409         (gcov_magic): New.
12410         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
12411         pointers.
12412         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
12413         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
12414         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
12415         * gcov-iov.c (main): Correct cast.
12416         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
12417         conversion.
12418         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
12419         (coverage_init): Use GCOV_NOTE_SUFFIX.
12420         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
12421         Rename to gcov_version, and return flag.
12422         (gcov_exit): Use gcov_version.
12423         (__gcov_init): Use gcov_version.
12424         * Makefile.in (coverageexts): Update.
12425         * gcov.c (print_version): Remove endianness conversion.
12426         (create_file_names): Use GCOV_NOTE_SUFFIX.
12427         (read_graph_file): Use gcov_magic.
12428         (read_count_file): Likewise.
12429         * gcov-dump.c (dump_file): Remove endianness conversion, use
12430         gcov_magic.
12431
12432 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
12433
12434         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
12435         coverage is on.
12436         * configure: Regenerated.
12437         * Makefile.in (ALL_CFLAGS): Correct its comment.
12438
12439 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
12440
12441         * fold-const.c (make_range): Do not access operand 1 for a
12442         zero-operand operator.
12443
12444 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
12445
12446         * toplev.c (warn_dummy, W_options): Die.
12447         (display_help): Don't print W_options.
12448         * common.opt: Add W_options help from toplev.c.
12449
12450 2003-07-09  Andreas Jaeger  <aj@suse.de>
12451
12452         * opts.c (wrap_help): Only pass int arguments as arguments to
12453         printf's '*' modifier.  Change argument of function.
12454
12455 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
12456
12457         * doc/invoke.texi: Fix misspelling of "@item".
12458
12459 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
12460
12461         * config/i386/i386.md: Remove an old comment about
12462         NOTICE_UPDATE_CC.
12463
12464 2003-07-09  Jan Hubicka  <jh@suse.cz>
12465
12466         * cgraph.c (cgraph_node_name): New function.
12467         (dump_cgraph): Use it.
12468         * cgraph.h (cgraph_dump_file): Declare.
12469         (cgraph_node_name): Declare.
12470         * cgraphunit.c: Include timevar.h
12471         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
12472         (cgraph_optimize_function): Use TV_INTEGRATION.
12473         (cgraph_mark_local_functions): reorganize dumps.
12474         (cgraph_mark_functions_to_inline_once): Likewise.
12475         (cgraph_optimize): Likewise; use timevar.
12476         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
12477         * toplev.c (dump_file_index): Add DFI_cgraph.
12478         (dump_file_info): Likewise.
12479         (cgraph_dump_file): New global variable.
12480         (do_compile): Open and close cgraph dump.
12481         * invoke.texi (-d): Document new flag; renumber.
12482
12483 2003-07-08  Roger Sayle  <roger@eyesopen.com>
12484
12485         PR c/11370
12486         * calls.c (emit_call_1): Don't bother popping the arguments off of
12487         the stack after a noreturn function call;  The adjustment is dead.
12488         (expand_call): Likewise.
12489
12490 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
12491
12492         * expr.c (MOVE_MAX_PIECES): Move from here...
12493         * defaults.h (MOVE_MAX_PIECES): ... to here.
12494
12495 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
12496
12497         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
12498
12499 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12500
12501         * genattr.c (internal_dfa_insn_code): Don't prototype.
12502         * genattrtab.c (attr_desc): Add `static_p' field.
12503         (expand_units): Make blockage range and ready cost functions
12504         static.
12505         (write_attr_get): Don't add extern prototypes in C file.  Mark
12506         static functions as appropriate.
12507         (find_attr, make_internal_attr): Initialize static_p.
12508         * genattrtab.h (ATTR_STATIC): New macro.
12509         * genautomata.c (output_internal_reset_func): Mark output function
12510         as inline.
12511         (make_internal_dfa_insn_code_attr): Mark output function as static.
12512
12513 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12514
12515         * genattrtab.h: Add new macros for attr `special' flags.
12516         * genattrtab.c (attr_desc): Reorder/resize fields better.
12517         Use attr `special' macros in all calls to make_internal_attr.
12518         * genautomata.c: Likewise.
12519
12520 2003-07-09  Jan Hubicka  <jh@suse.cz>
12521
12522         * c-common.c (c_estimate_num_insns_1): New static function.
12523         (c_estimate_num_insns): New global function.
12524         * c-common.h (DECL_NUM_STMTS): Rename to...
12525         (DECL_ESTIMATED_INSNS): ... this.
12526         (c_estimate_num_insns): Declare.
12527         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
12528         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
12529         * c-semantics.c (add_stmt): Do not account statements.
12530         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
12531         New.
12532         * langhooks.h (lang_hooks_for_tree_inlining): Add
12533         estimate_num_insns
12534         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
12535         to 100.
12536         (max-inline-insns): set to 300.
12537         (min-inline-insns): set to 10.
12538         * tree-inline.c (struct inline_data): Rename inlined_stmts to
12539         inlined-insns.
12540         (INSNS_PER_STMT): Kill.
12541         (inlinable_function_p): Compute and store body size.
12542         (expand_call_inline): Likewise.
12543         (optimize_inline_calls): Likewise.
12544
12545 2003-07-08  James E Wilson  <wilson@tuliptree.org>
12546
12547         PR target/10021
12548         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
12549         loop over new variable t2 instead of t.
12550
12551 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
12552
12553         PR bootstrap/11455
12554         * config/i386/winnt.c: Replace use of error(), warning() with
12555         error_with_decl(), warning_with_decl(),  throughout.
12556
12557 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
12558
12559         * opts.c (wrap_help): Use unsigned int, not size_t.
12560
12561 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
12562
12563         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
12564         as .file/.loc directives are incompatible with linker relaxation.
12565
12566 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
12567
12568         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
12569         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
12570         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
12571         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
12572         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
12573         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
12574         Escape { and } characters which are not part of range expressions.
12575         * fixinc/fixincl.x: Regenerate.
12576         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
12577
12578 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
12579
12580         PR c/1687
12581         * tree-inline.c (find_alloca_call): Use
12582         walk_tree_without_duplicates, instead of walk_tree.
12583         (find_builtin_longjmp_call): Likewise.
12584         * c-objc-common.c (c_cannot_inline_fn): Likewise.
12585         * c-semantics.c (find_reachable_label): Likewise.
12586
12587 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
12588
12589         PR c/11420
12590         * config/i386/i386.c (ix86_check_movabs): New function.
12591         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
12592         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
12593         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
12594
12595 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
12596
12597         * Makefile.in (install-po): Cope with empty CATALOGS.
12598
12599 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
12600
12601         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12602         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
12603         (SECTION_FUNCTION_TEMPLATE): Delete.
12604         * config/mips/elf.h: As for elf64.h.
12605         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
12606         * config/mips/linux.h: As for elf.h
12607         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12608         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
12609         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
12610         of in_sdata from current_section_name and current_section_flags.
12611         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
12612         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
12613         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
12614         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
12615         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
12616         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12617         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
12618         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
12619         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
12620         (override_options): Remove setting of MASK_GPOPT.
12621         (mips_output_external): Use mips_in_small_data_p to check whether a
12622         symbol needs an .extern directive.  Don't emit such directives for
12623         TARGET_EXPLICIT_RELOCS.
12624         (mips_declare_object): Update accordingly.
12625         (mips_select_rtx_section): Call named_section rather than
12626         SMALL_DATA_SECTION.
12627         (mips_select_section): Use default_elf_section_section for everything
12628         except .text string constants.
12629         (mips_in_small_data_p): New function.
12630         (mips_encode_section_info): Remove small data handling.
12631         (mips_unique_section): Delete.
12632         (iris6_section_type_flags): New function.
12633         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
12634
12635 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12636
12637         PR Target/11453
12638         * pa.md: Disparage all mtsar constraints.
12639         (extzv, extv, insv): Don't fail on length of {32|64}.
12640
12641 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
12642
12643         * system.h: Poison MAP_CHARACTER.
12644         * config/i370/i370-protos.h (mvs_map_char): Delete.
12645         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
12646         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
12647         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
12648
12649 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
12650
12651         * toplev.c (randomize): Correct call to time().
12652
12653 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
12654
12655         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
12656         REG_EQUIV notes as well.
12657
12658 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
12659
12660         * doc/md.texi: Fix the description of addmodecc.
12661
12662 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
12663
12664         * Makefile.in (top_builddir): Set to "..", not ".".
12665         (INTLLIBS, INTLDEPS): Delete.
12666         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
12667         (LIBDEPS): Add $(LIBICONV_DEP).
12668         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
12669         (INCLUDES): Replace -I../intl with @INCINTL@.
12670         ($(top_builddir)/intl/libintl.a): Delete rule.
12671         (stage2-start, stage3-start, stage4-start, stageprofile-start,
12672         stagefeedback-start): Use $$ for variable to be evaluated by
12673         shell, not make.
12674         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
12675         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
12676         * aclocal.m4: sinclude ../config/progtest.m4.  Add
12677         contents of lcmessage.m4 from gettext distro.
12678         * configure.in: Check for wchar.h and setlocale.  Set
12679         LIBICONV_DEP to the empty string and substitute it.
12680         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
12681         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
12682         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
12683         in $LIBINTL, to avoid linking it twice.
12684         * configure, config.in: Regenerate.
12685
12686 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
12687
12688         * fixinc/mkfixinc.sh: Remove winnt support.
12689         * fixinc/fixinc.winnt: Delete with extreme prejudice.
12690
12691 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
12692
12693         * Makefile.in: Update.
12694         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
12695         * c.opt: Update documentation.
12696         * common.opt: Add some help text.
12697         * opts.c: Include intl.h.
12698         (wrap_help, print_help): New.
12699         (find_opt, handle_option, common_handle_option): opt_text now
12700         contains the '-'.  Use print_help to output help.
12701         * opts.h (struct cl_option): New member "help".
12702         * opts.sh: Update to handle help text output and to prepend
12703         options with '-'.
12704         * toplev.c (display_help): Remove some help text.
12705
12706 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
12707             Fariborz Jahanian  <fjahanian@apple.com>
12708
12709         * configure.in: Test for PowerPC mfcr field support in assembler.
12710         * config.in, configure: Regenderated.
12711
12712         * config/rs6000/power4.md: Add mfcrf reservation.
12713         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
12714         * config/rs6000/rs6000.c (mfcr_operation): Define.
12715         (print_operand): Add 'Q' case for mfcrf.
12716         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
12717         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
12718         (movcc_internal1): Emit optional field operand for mfcr and set
12719         "type" attribute appropriately.
12720         (mfcr SCC): Likewise.
12721         (movesi_from_cr_one): New.
12722
12723 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12724
12725         * config/i386/i386.md: Correct check-in of incorrect version.
12726
12727 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12728
12729         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
12730         adjacent stdio calls.
12731         * c-decl.c (c_print_identifier): Likewise.
12732         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
12733         * print-rtl.c (print_rtx): Likewise.
12734         * print-tree.c (print_node_brief, print_node): Likewise.
12735         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
12736
12737         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
12738         * config.in, configure: Regenerated.
12739
12740 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12741
12742         PR target/10979
12743         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
12744         Changed to define_expand patterns that copy operand[1] to prevent
12745         it from being clobbered before emitting an atan2?f3_1 insn.
12746         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
12747         patterns that actually specify the behaviour of x87's FPATAN.
12748
12749 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
12750
12751         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
12752         clearing of SYMBOL_FLAG_LOCAL bit.
12753         If vcall_offset fits into signed 16-bit immediate, use
12754         one instruction for both addition and load.
12755
12756 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
12757
12758         * opts.c (common_handle_option): Correct handling of the
12759         -falign- switches that do and don't take an argument.
12760
12761 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12762
12763         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
12764         today.
12765         (pushhi1_h8300hs): Likewise.
12766
12767 2003-07-07  Andreas Jaeger  <aj@suse.de>
12768
12769         * genextract.c: Convert remaining prototypes to ISO C90.
12770
12771         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
12772         * fold-const.c (fold_single_bit_test): Likewise.
12773         * diagnostic.c (default_diagnostic_finalizer): Likewise.
12774         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
12775
12776         * gengtype.c (write_array): Generate ISO C90 prototypes.
12777
12778         * genflags.c (gen_proto): Generate ISO C90 prototypes.
12779
12780 2003-07-07  Roger Sayle  <roger@eyesopen.com>
12781
12782         PR optimization/11059
12783         * expr.c (can_store_by_pieces): Return true if length is zero.
12784         (store_by_pieces): If length is zero and endp is two, abort,
12785         othwerise, if length is zero and endp is not two, return "to".
12786         (clear_by_pieces): Do nothing if length is zero.
12787         (clear_storage): Do nothing if length is zero.
12788         (store_constructor): Simplify code when size is zero, or the
12789         target has already been cleared.  This avoids emitting a
12790         blockage instruction when initializing empty structures.
12791
12792 2003-07-07  Andreas Jaeger  <aj@suse.de>
12793
12794         * mips-tfile.c: Convert prototypes to ISO C90.
12795         * mips-tdump.c: Convert prototypes to ISO C90.
12796
12797 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
12798
12799         * rtl.h (emit_line_note): Take a location_t.
12800         (emit_line_note_force): Remove.
12801         (set_file_and_line_for_statement): Take a location_t.
12802         * tree.g (emit_line_note): Take a location_t.
12803         * emit-rtl.c (emit_line_note): Take a location_t.
12804         (emit_line_note_force): Remove.
12805         * function.c (init_function_start): Adjust emit_line_note call.
12806         (expand_function_end): Use force_next_line_note, not
12807         emit_line_note_force.
12808         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
12809         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
12810         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
12811         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
12812         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
12813         genrtl_continue_stmt, genrtl_switch_stmt,
12814         genrtl_asm_stmt): Likewise.
12815         * expr.c (expand_expr): Likewise.
12816         * integrate.c (expand_inline_function): Likewise.
12817         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
12818         (expand_decl_init): Adjust emit_line_note call.
12819
12820 2003-07-07  Dale Johannesen  <dalej@apple.com>
12821
12822         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
12823
12824 2003-07-07  Andreas Jaeger  <aj@suse.de>
12825
12826         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
12827         * config/i386/i386.c: Likewise.
12828
12829 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12830
12831         * config/h8300/h8300.md: Use gen_int_mode instead of
12832         GEN_INT (trunc_int_for_mode (...)).
12833
12834 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
12835
12836         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
12837         2 bytes and then subtract 2 from the stack pointer.
12838         (pushhi1_h8300hs): Likewise.
12839
12840 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
12841
12842         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
12843         -frandom-seed.
12844         * configure: Regenerated.
12845         * Makefile.in: Remove extraneous comment.
12846         * toplev.c (randomize): Protect against potential multiple calls.
12847         * doc/invoke.texi (-frandom-seed): Document use for in coverage
12848         files.
12849
12850 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12851             Eric Botcazou  <ebotcazou@libertysurf.fr>
12852
12853         PR optimization/11198
12854         * alias.c (objects_must_conflict_p): Return 1 if the types have
12855         the same alias set, not if the alias sets only conflict.
12856
12857 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
12858
12859         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
12860         (convert_cset): Change inbuf to type ICONV_CONST char.
12861         * Makefile.in (LIBS): Add LIBICONV.
12862
12863         * doc/invoke.texi (-falign-functions): Document that
12864         when n is zero then a machine-dependent default is used.
12865         (-falign-labels): Document that when n is zero then a
12866         machine-dependent default is used and that -falign-labels =1
12867         is equivalent to -fno-align-labels.
12868         (-falign-loops): Likewise.
12869         (-falign-jumps): Likewise.
12870
12871 2003-07-06  Art Haas  <ahaas@airmail.net>
12872
12873         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
12874         initializer syntax.
12875
12876 2003-07-06  James E Wilson  <wilson@tuliptree.org>
12877
12878         PR optimization/9812
12879         * rtl.h (mem_for_const_double): Delete prototype.
12880         * varasm.c (mem_for_const_double): Delete function.
12881         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
12882         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
12883         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
12884         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
12885         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
12886         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
12887         comment about confused support for XFmode constants.
12888
12889 2003-07-07  Jan Hubicka  <jh@suse.cz>
12890
12891         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
12892
12893 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
12894
12895         * config/h8300/h8300.c: Fix comment typos.
12896         * config/h8300/h8300.md: Likewise.
12897         * config/i386/athlon.md: Likewise.
12898         * config/i386/i386.c: Likewise.
12899         * config/i386/pentium.md: Likewise.
12900         * config/ia64/ia64.c: Likewise.
12901         * config/ia64/itanium1.md: Likewise.
12902         * config/ia64/itanium2.md: Likewise.
12903         * config/m32r/m32r.md: Likewise.
12904         * config/m68hc11/m68hc11.c: Likewise.
12905         * config/mcore/mcore.c: Likewise.
12906         * config/mips/sr71k.md: Likewise.
12907         * config/mips/t-iris5-as: Likewise.
12908         * config/mmix/mmix.h: Likewise.
12909         * config/ns32k/ns32k.h: Likewise.
12910         * config/ns32k/NOTES: Fix a typo.
12911
12912 2003-07-06  Andreas Jaeger  <aj@suse.de>
12913
12914         * stmt.c: Convert remaining prototypes to ISO C90.
12915         * cfglayout.c: Likewise.
12916         * dbxout.c: Likewise.
12917         * gcc.c: Likewise.
12918         * genemit.c: Likewise.
12919
12920         * basic-block.h: Convert prototypes to ISO C90.
12921         * c-parse.in: Likewise.
12922         * c-pragma.h: Likewise.
12923         * c-typeck.c: Likewise.
12924         * cfghooks.h: Likewise.
12925         * cfgloopanal.c: Likewise.
12926         * dbxout.h: Likewise.
12927         * debug.h: Likewise.
12928         * dwarf2asm.h: Likewise.
12929         * gcov.c: Likewise.
12930         * gengtype-lex.l: Likewise.
12931         * sched-int.h: Likewise.
12932         * timevar.c: Likewise.
12933
12934 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
12935
12936         * c-common.h (c_comon_handle_filename,
12937         c_common_missing_arguement): New.
12938         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
12939         LANG_HOOKS_MISSING_ARGUMENT): New.
12940         * c-opts.c (missing_arg): Rename c_common_missing_argument,
12941         update to be an appropriate langhook.
12942         (c_common_handle_option): Don't handle filenames.
12943         (c_common_handle_filename): New.
12944         * hooks.c (hook_void_constcharptr,
12945         hook_bool_constcharptr_size_t_false): New.
12946         * hooks.h (hook_void_constcharptr,
12947         hook_bool_constcharptr_size_t_false): New.
12948         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
12949         LANG_HOOKS_MISSING_ARGUMENT): New.
12950         (LANG_HOOKS_INITIALIZER): Update.
12951         * langhooks.h (struct lang_hooks): Add handle_filename and
12952         missing_argument.
12953         * opts.c (handle_option): Don't handle filenames here, but ...
12954         (handle_options): ... here.
12955         (common_handle_option): Don't handle missing arguments here.
12956         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
12957         LANG_HOOKS_MISSING_ARGUMENT): New.
12958
12959 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
12960
12961         * Makfile.in: Remove traces of mbchar.
12962         * c-parse.in (MULTIBYTE_CHARS): Remove.
12963         * config.in (MULTIBYTE_CHARS): Remove.
12964         * configure: Remove --enable-mbchar.
12965         * configure.in: Remove --enable-mbchar.
12966         * mbchar.c, mbchar.h: Remove.
12967         * system.h: Poison MULTIBYTE_CHARS.
12968         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
12969         * config/linux.h (MULTIBYTE_CHARS): Remove.
12970         * config/svr4.h (MULTIBYTE_CHARS): Remove.
12971         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
12972
12973 2003-07-06  Andreas Jaeger  <aj@suse.de>
12974
12975         * varray.c (varray_check_failed): Fix typo.
12976
12977         * unroll.c: Convert prototypes to ISO C90.
12978         * varasm.c: Likewise.
12979         * varray.c: Likewise.
12980         * varray.h: Likewise.
12981         * vmsdbgout.c: Likewise.
12982         * xcoffout.c: Likewise.
12983         * xcoffout.h: Likewise.
12984
12985 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12986
12987         * gcov-io.h: Add a local time stamp.
12988         (struct gcov_info): Add stamp field.
12989         (gcov_truncate): New.
12990         * coverage.c (read_counts_file): Skip the stamp.
12991         (coverage_begin_output): Write the stamp.
12992         (build_gcov_info): Declare and init the stamp.
12993         (coverage_finish): Only unlink data file, if stamp is zero.
12994         * gcov-dump.c (dump_file): Dump the stamp.
12995         * gcov.c (bbg_stamp): New.
12996         (release_structures): Clear bbg_stamp.
12997         (read_graph_file): Read stamp.
12998         (read_count_file): Check stamp.
12999         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
13000
13001 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
13002
13003         * tree.h (default_flag_random_seed): Remove.
13004         * toplev.h (local_tick): Declare.
13005         * tree.c (flag_random_seed, default_flag_random_seed): Move to
13006         toplev.c.
13007         (append_random_chars): Don't call default_flag_random_seed.
13008         * toplev.c (flag_random_seed): Define here. Set local_tick.
13009         (local_tick): Define.
13010         (randomize): New, moved from tree.c.
13011         (print_switch_values): Adjust.
13012         (toplev_main): Call randomize.
13013
13014 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
13015
13016         * tree.h (crc32_string): Declare.
13017         * tree.c (append_random_chars): Remove.
13018         (crc32_string): New.
13019         (get_file_function_name_long): Use crc32_string here.
13020
13021 2003-07-06  Andreas Jaeger  <aj@suse.de>
13022
13023         * gcc.c: Convert prototypes to ISO C90.
13024         * gcc.h: Likewise.
13025         * gcov-dump.c: Likewise.
13026         * gcov-iov.c: Likewise.
13027         * gcse.c: Likewise.
13028         * genattrtab.h: Likewise.
13029         * ggc.h: Likewise.
13030         * global.c: Likewise.
13031         * graph.c: Likewise.
13032         * graph.h: Likewise.
13033         * hosthooks.h: Likewise.
13034         * hooks.h: Likewise.
13035         * hooks.c: Likewise.
13036         * hashtable.h: Likewise.
13037         * hashtable.c: Likewise.
13038         * haifa-sched.c: Likewise.
13039         * integrate.h: Likewise.
13040         * integrate.c: Likewise.
13041         * input.h: Likewise.
13042         * ifcvt.c: Likewise.
13043         * jump.c: Likewise.
13044         * langhooks-def.h: Likewise.  Add extern to prototypes.
13045         * langhooks.c: Likewise.
13046         * langhooks.h: Likewise.
13047         * lcm.c: Likewise.
13048         * local-alloc.c: Likewise.
13049         * loop-init.c: Likewise.
13050         * loop-unroll.c: Likewise.
13051         * loop-unswitch.c: Likewise.
13052         * loop.c: Likewise.
13053         * loop.h: Likewise. Add extern to prototypes.
13054         * machmode.h: Likewise.
13055         * main.c: Likewise.
13056         * mbchar.c: Likewise.
13057         * mbchar.h: Likewise.
13058         * mkdeps.c: Likewise.
13059         * mkdeps.h: Likewise.
13060         * optabs.c: Likewise.
13061         * optabs.h: Likewise.
13062         * output.h: Likewise.
13063         * gccspec.c: Likwise.
13064         * postreload.c: Likewise.
13065         * prefix.c: Likewise.
13066         * prefix.h: Likewise.
13067         * print-rtl.c: Likewise.
13068         * print-tree.c: Likewise.
13069         * profile.c: Likewise.
13070         * read-rtl.c: Likewise.
13071         * real.c: Likewise.
13072         * real.h: Likewise.
13073         * recog.c: Likewise.
13074         * recog.h: Likewise.
13075         * reg-stack.c: Likewise.
13076         * regclass.c: Likewise.
13077         * regmove.c: Likewise.
13078         * regrename.c: Likewise.
13079         * regs.h: Likewise.
13080         * reload.c: Likewise.
13081         * reload.h: Likewise.
13082         * reload1.c: Likewise.
13083         * reorg.c: Likewise.
13084         * resource.c: Likewise.
13085         * resource.h: Likewise.
13086         * rtl-error.c: Likewise.
13087         * rtl.c: Likewise.
13088         * rtl.h: Likewise.
13089         * rtlanal.c: Likewise.
13090         * sbitmap.c: Likewise.
13091         * sbitmap.h: Likewise.
13092         * scan-decls.c: Likewise.
13093         * scan.c: Likewise.
13094         * sched-deps.c: Likewise.
13095         * sched-ebb.c: Likewise.
13096         * sched-int.h: Likewise.
13097         * sched-rgn.c: Likewise.
13098         * sched-vis.c: Likewise.
13099         * sibcall.c: Likewise.
13100         * simplify-rtx.c: Likewise.
13101         * sreal.c: Likewise.
13102         * sreal.h: Likewise.
13103         * ssa-ccp.c: Likewise.
13104         * ssa-dce.c: Likewise.
13105         * ssa.c: Likewise.
13106         * ssa.h: Likewise.
13107         * stack.h: Likewise.
13108         * stmt.c: Likewise.
13109         * stor-layout.c: Likewise.
13110         * stringpool.c: Likewise.
13111         * target.h: Likewise.
13112         * timevar.c: Likewise.
13113         * timevar.h: Likewise.
13114         * tlink.c: Likewise.
13115         * tracer.c: Likewise.
13116         * tree-inline.c: Likewise.
13117         * tree-inline.h: Likewise.
13118         * tree.c: Likewise.
13119         * tree.h: Likewise.
13120
13121 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
13122
13123         * combine.c (nonzero_bits1): Fix a warning.
13124
13125 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
13126
13127         * config/h8300/h8300.c (compute_mov_length): Correct the
13128         length of loading CONST0_RTX (SFmode).
13129
13130 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
13131
13132         * toplev.c (output_clean_symbol_name): Remove.
13133         * toplev.h (output_clean_symbol_name): Remove.
13134         * config/alpha/alpha.c (unicosmk_output_module_name): Use
13135         lbasename & clean_symbol_name.
13136
13137 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
13138
13139         * ggc.h: Follow spelling conventions.
13140         * config/i386/i386.c: Likewise.
13141         * config/i386/winnt.c: Likewise.
13142         * config/rs6000/rs6000.c: Likewise.
13143
13144 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
13145
13146         * bt-load.c: Fix comment typos.
13147         * c-incpath.c: Likewise.
13148         * cfg.c: Likewise.
13149         * cfgcleanup.c: Likewise.
13150         * cfgloop.h: Likewise.
13151         * cfgloopmanip.c: Likewise.
13152         * cfgrtl.c: Likewise.
13153         * diagnostic.h: Likewise.
13154         * dwarfout.c: Likewise.
13155         * emit-rtl.c: Likewise.
13156         * et-forest.c: Likewise.
13157         * et-forest.h: Likewise.
13158         * expr.c: Likewise.
13159         * gcse.c: Likewise.
13160         * genattr.c: Likewise.
13161         * jump.c: Likewise.
13162         * langhooks.h: Likewise.
13163         * local-alloc.c: Likewise.
13164         * loop-unroll.c: Likewise.
13165         * loop-unswitch.c: Likewise.
13166         * ra-build.c: Likewise.
13167         * regclass.c: Likewise.
13168         * regmove.c: Likewise.
13169         * rtl.def: Likewise.
13170         * rtlanal.c: Likewise.
13171         * sched-ebb.c: Likewise.
13172         * sched-rgn.c: Likewise.
13173         * simplify-rtx.c: Likewise.
13174         * ssa.c: Likewise.
13175         * tracer.c: Likewise.
13176         * tree.c: Likewise.
13177
13178 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
13179
13180         * cppcharset.c: Use the correct return type for the fallback iconv
13181         macro.
13182
13183 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13184
13185         Blame to Jan Hubicka  <jh@suse.cz>
13186         * cfglayout.c (record_effective_endpoints): Split insns before
13187         first basic block correctly.
13188
13189 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13190
13191         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
13192         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
13193         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
13194
13195 2003-07-05  Andreas Jaeger  <aj@suse.de>
13196
13197         * genattrtab.c (write_attr_get): Revert part of last patch to
13198         always write out a prototype.
13199
13200         * genemit.c (gen_split): Readd lost unused attributes in last
13201         patch.
13202
13203 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13204
13205         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
13206         different from header.
13207
13208 2003-07-05  Andreas Schwab  <schwab@suse.de>
13209
13210         * config/m68k/m68k.c: Remove code protected by CRDS.
13211         * config/m68k/m68k.md: Likewise.
13212
13213 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
13214
13215         PR driver/11417
13216         * c-opts.c (permit_fortran_options): New.
13217         (c_common_init_options): Accept fortran front end options if
13218         it looks like we might be preprocessing Fortran.
13219         (c_common_handle_option): Don't reject switch if permit_fotran_options.
13220
13221 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13222
13223         * genattr.c (internal_dfa_insn_code): Output prototype.
13224         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
13225         * genautomata.c: Likewise.
13226         * genconditions.c: Likewise.
13227         * genemit.c: Likewise.
13228         * genextract.c: Likewise.
13229         * gengenrtl.c: Likewise.
13230         * gengtype.c: Likewise.
13231         * genopinit.c: Likewise.
13232         * genoutput.c: Likewise.
13233         * genpeep.c: Likewise.
13234         * genrecog.c: Likewise.
13235
13236 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
13237
13238         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
13239         (struct cpp_options): Add narrow_charset, wide_charset,
13240         bytes_big_endian fields.  Remove EBCDIC field.
13241         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
13242
13243         * cpphash.h: Include <iconv.h> if we have it, otherwise
13244         provide a dummy definition of iconv_t.
13245         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
13246         (_cpp_valid_ucn): Update prototype.
13247         (_cpp_destroy_iconv): New prototype.
13248
13249         * doc/cpp.texi: Document character set handling.
13250         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
13251         * doc/extend.texi: Delete entire section on multiline strings.
13252         Rewrite section on __FUNCTION__ etc now that these are
13253         variables in C.
13254
13255         * cppucnid.tab, cppucnid.pl: New files.
13256         * cppucnid.h: New generated file.
13257         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
13258         (iconv_open, iconv, iconv_close): Provide dummy definitions
13259         if !HAVE_ICONV.
13260         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
13261         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
13262         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
13263         cpp_interpret_string, narrow_str_to_charconst,
13264         wide_str_to_charconst): New.
13265         (ucn_valid_in_identifier): Use a binary search through the
13266         ucnranges table defined in cppucnid.h, not a long chain of if
13267         statements.
13268         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
13269         character names are only valid in C++ and C99" to a warning.
13270         Issue the "meaning of \[uU] is different in traditional C"
13271         warning here.  Take care not to let iconv see an invalid UCS
13272         value if we get a malformed UCN.  Issue an error if we don't
13273         have iconv.
13274         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
13275         cpp_interpret_string to do the heavy lifting.
13276
13277         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
13278         narrow_charset, wide_charset fields of options structure.
13279         (cpp_destroy): Call _cpp_destroy_iconv.
13280         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
13281         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
13282         (cpp_interpret_charconst): Moved to cppcharset.c.
13283         * cpplib.c (dequote_string): Delete.
13284         (interpret_string_notranslate): New.
13285         (do_line, do_linemarker): Use interpret_string_notranslate.
13286
13287         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
13288
13289         * c-common.c (fname_string, combine_strings): Delete.
13290         * c-common.h (fname_string, combine_strings): Delete prototypes.
13291         * c-lex.c (ignore_escape_flag): Delete.
13292         (cb_ident): Use cpp_interpret_string, not lex_string.
13293         (get_nonpadding_token): New function.
13294         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
13295         Adjust calls to lex_string.  Don't write *value twice.
13296         (lex_string): Now handles string constant concatenation.
13297         Most of the work handed off to cpp_interpret_string.
13298         Call fix_string_type here.
13299         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
13300         FUNC_NAME, throughout.
13301         (OBJC_STRING): New token type.
13302         (primary:STRING): No need to call fix_string_type here.
13303         (primary:objc_string): Make that OBJC_STRING.
13304         (objc_string nonterminal): Delete.
13305         (yylexname): Delete code to handle fake string constants.
13306         (yylexstring): Delete entirely.
13307         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
13308         to handle CPP_ATSIGN.
13309
13310         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
13311         * c-opts.c (missing_arg, c_common_handle_option): Handle
13312         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
13313         (c_common_init): Set cpp_opts->bytes_big_endian, not
13314         cpp_opts->EBCDIC.  Call cpp_init_iconv.
13315         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
13316         (TARGET_EBCDIC): Delete default definition.
13317
13318         * objc/objc-act.c (build_objc_string_object): No need to
13319         handle string constant concatenation.
13320
13321 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
13322
13323         * doc/install.texi: Fix typos.
13324         * doc/invoke.texi: Likewise.
13325         * doc/tm.texi: Likewise.
13326
13327 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
13328
13329         * config/pa/fptr.c: Fix comment typos.
13330         * config/pa/pa-64.h: Likewise.
13331         * config/pa/pa.c: Likewise.
13332         * config/pa/pa.h: Likewise.
13333         * config/rs6000/603.md: Likewise.
13334         * config/rs6000/7xx.md: Likewise.
13335         * config/rs6000/darwin.h: Likewise.
13336         * config/rs6000/freebsd.h: Likewise.
13337         * config/rs6000/rs6000.c: Likewise.
13338         * config/rs6000/rs6000.md: Likewise.
13339         * config/rs6000/spe.h: Likewise.
13340
13341 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
13342
13343         * config/s390/2064.md: Change GNU CC to GCC.
13344         * config/s390/2084.md: Likewise.
13345         * config/s390/fixdfdi.h: Likewise.
13346         * config/s390/linux.h: Likewise.
13347         * config/s390/s390-modes.def: Likewise.
13348         * config/s390/s390-protos.h: Likewise.
13349         * config/s390/s390.c: Likewise.
13350         * config/s390/s390.h: Likewise.
13351         * config/s390/s390.md: Likewise.
13352         * config/s390/s390x.h: Likewise.
13353
13354 2003-07-04  Jeff Law  <law@redhat.com>
13355
13356         PR c/11428
13357         * expr.c (do_store_flag): Pass in the correct result type
13358         when calling fold_single_bit_test.
13359         * fold-const.c (fold_single_bit_test): Use result_type for the
13360         result when folding a sign bit test.
13361
13362 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
13363
13364         * opts.c (common_handle_options): Negate sense of -falign- switches.
13365
13366 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
13367
13368         * Makefile.in: Replace PWD with PWD_COMMAND.
13369
13370 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13371
13372         * cfgloopanal.c (count_strange_loop_iterations): New static function.
13373         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
13374         Handle strange loops.
13375
13376 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
13377
13378         * install.texi: Even the g77 manpage is derived from
13379         the full g77 manual.
13380
13381 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
13382
13383         * ABOUT-NLS: Delete.
13384         * intl: Delete entire directory.
13385         * aclocal.m4: Include ../config/gettext.m4.  Delete
13386         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
13387         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
13388         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
13389         Remove intl/Makefile from all_outputs.
13390         * configure, config.in: Regenerate.
13391         * Makefile.in: Expunge all references to intl subdirectory.
13392         Add -I../intl to INCLUDES.
13393         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
13394
13395 2003-07-04  Roger Sayle  <roger@eyesopen.com>
13396
13397         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
13398         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
13399
13400 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
13401
13402         PR c++/5287, PR c++/7910, PR c++/11021
13403         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
13404         dllimport attribute if function is defined at declaration, but
13405         report error instead. Likewise for dllimport'd variable
13406         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
13407         declared within functions, Report error if dllimport or dllexport
13408         symbol is not global.
13409         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
13410         if defined after declaration or if inlined. Don't allow definition
13411         of static data members of C++ classes. Don't dllimport virtual
13412         methods.
13413         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
13414         (i386_pe_mark_dllimport): Remove unnecessary checks.
13415         (i386_pe_encode_section_info): Warn if the dllimport attribute
13416         and symbol prefix have been instantiated and then overridden.
13417
13418         * doc/extend.texi: Document dllimport and dllexport attributes.
13419
13420         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
13421
13422 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
13423
13424         * config/kaos.h (CPP_PREDEFINES): Delete.
13425         (TARGET_OS_CPP_BUILTINS): New.
13426
13427 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13428
13429         * c-aux-info.c: Include toplev.h after c-tree.h.
13430         * c-common.c: Likewise.
13431         (GCC_DIAG_STYLE): Undef.
13432         * c-semantics.c (GCC_DIAG_STYLE): Define.
13433         * c-tree.h (GCC_DIAG_STYLE): Likewise.
13434         * diagnostic.h (inform): Move prototype to toplev.h.
13435         * jump.c: Include diagnostic.h before toplev.h.
13436         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
13437         (warning, error, fatal_error, pedwarn, sorry, inform,
13438         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
13439
13440 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13441
13442         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
13443         at all if edge is not specified.
13444         (can_copy_bbs_p, copy_bbs): New.
13445         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
13446         * cfgloop.c (get_loop_body): Comment more precisely.
13447         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
13448         (scale_bbs_frequencies): Fix comment typo.
13449         (can_duplicate_loop_p): Use can_copy_bbs_p.
13450         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
13451
13452 2003-07-03  Devang Patel <dpatel@apple.com>
13453
13454         * c-opts.c (c_common_parse_file): Remove extra
13455         debug_hooks->start_source_file call.
13456
13457 2003-07-03  Roger Sayle  <roger@eyesopen.com>
13458
13459         * real.c (real_trunc, real_floor, real_ceil): New functions
13460         to implement trunc, floor and ceil respectively.
13461         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
13462         * builtins.c (integer_valued_real_p): New function to test if
13463         a floating point expression has an integer valued result.
13464         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
13465         foo(x) where foo is an integer rounding function.  Similarly,
13466         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
13467         (double)(int)x when both foo and bar are integer rounding
13468         functions and we don't need to honor errno.
13469         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
13470         New functions to fold trunc, floor and ceil.
13471         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
13472         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
13473         to fold BUILT_IN_CEIL*.
13474         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
13475         the remaining integer rounding functions.
13476
13477 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
13478
13479         * config/sparc/sparc.c (function_arg_partial_nregs): Use
13480         SPARC_INT_ARG_MAX to determine where to split unnamed
13481         complex FP arguments.
13482
13483 2003-07-03  Jan Hubicka  <jh@suse.cz>
13484
13485         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
13486         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
13487         (merge_blocks_move_predecessor_nojumps,
13488          merge_blocks_move_successor_nojumps): Use merge_blocks.
13489         (try_optimize_cfg): Use merge_blocks_move.
13490         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
13491         (merge_blocks_nomove): Rename to rtl_merge_blocks.
13492         (cfg_layout_create_basic_block): New.
13493         (rtl_can_merge_blocks): New.
13494         (cfg_layout_split_block): Do not alloc aux by hand.
13495         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
13496         merge_blocks.
13497         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
13498         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
13499         * cfgloopmanip.c (loop_split_edge_with): Likewise.
13500         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
13501
13502         * basic-block.h (basic_block_def): Add field 'rbi'.
13503         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
13504         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
13505         * cfg.c (entry_exit_blocks): Add new field.
13506         * cfglayout.c: Include alloc-pool.h;
13507         (cfg_layout_pool): New.
13508         (record_effective_endpoints, fixup_reorder_chain,
13509         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
13510         of rbi.
13511         (cfg_layout_initialize_rbi): New function.
13512         (cfg_layout_initialize): Use it.
13513         (cfg_layout_finalize): Clear rbi fields.
13514         * cfglayout.h (RBI): Kill.
13515         (cfg_layout_initialize_rbi): Declare.
13516         * cfgloopmanip.c (copy_bbs): Use rbi.
13517         (record_exit_edges): Likewise.
13518         (duplicate_loop_to_header_edge): Likewise.
13519         * cfgrtl.c (cfg_layout_create_basic_block): Use
13520         cfg_layout_initialize_rbi.
13521         (cfg_layout_split_block): Use rbi.
13522         (cfg_layout_delete_block): Likewise.
13523         * loop-init.c (loop_optimizer_finalize): Likewise.
13524         * loop-unswitch.c (unswitch_loop): Likewise.
13525         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
13526
13527         * cfgrtl.c: Update comments.
13528         (try_redirect_by_replacing_jump): New argument.
13529         (redirect_branch_edge): Break out from ...
13530         (rtl_redirect_edge_and_branch): ... this one.
13531         (update_cfg_after_block_merging): Break out from ...
13532         (rtl_merge_blocks): ... this one.
13533         (cfg_layout_split_edge): New.
13534         (cfg_layout_merge_blocks): New.
13535         (cfg_layout_can_merge_blocks_p): New.
13536         (cfg_layout_redirect_edge_and_branch): Reorganize.
13537         (cfg_layout_rtl_cfg_hooks): Fill in.
13538         (cfg_layout_delete_block): Kill barriers.
13539         * cfganal.c (can_fallthru): Deal with exit blocks
13540         * cfglayout.c (cfg_layout_function_header): New function
13541         (record_effective_endpoints): Record function header.
13542         (fixup_reorder_chain): Fixup dead jumptables; place header
13543
13544         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
13545         * bb-reorder.c (cfg_layout_initialize): Update call.
13546         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
13547         edges in cfglayout mode.
13548         * cfglayout.c (cleanup_unconditional_jumps): Kill.
13549         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
13550         * cfglayout.h (cfg_layout_initialize): Update prototype.
13551         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
13552         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
13553         * flow.c (propagate_block): Do not crash when basic block ends
13554         by first insn in the chain.
13555         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
13556         do loop discovery.
13557         * tracer.c (tracer): Update call of cfg_layout_initialize.
13558
13559 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13560
13561         * Makefile.in: Use dependency variables in lieu of explicit
13562         files throughout.
13563
13564 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
13565
13566         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
13567         * tree.h: ...to here.
13568
13569 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
13570
13571         * config/s390/2064.md: Fix comment typos.
13572         * config/s390/2084.md: Likewise.
13573         * config/s390/s390.c: Likewise.
13574         * config/s390/s390.md: Likewise.
13575         * config/sh/sh.c: Likewise.
13576         * config/sh/sh.h: Likewise.
13577         * config/sh/sh.md: Likewise.
13578         * config/sparc/sparc.c: Likewise.
13579         * config/sparc/sparc.h: Likewise.
13580         * config/sparc/sparc.md: Likewise.
13581         * config/stormy16/stormy16.c: Likewise.
13582         * config/stormy16/stormy16.h: Likewise.
13583         * config/stormy16/stormy-abi: Fix a typo.
13584
13585 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
13586
13587         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
13588
13589 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13590
13591         * config/mips/mips.h (save_argv): Delete.
13592
13593 2003-07-03  Roger Sayle  <roger@eyesopen.com>
13594
13595         PR target/10700
13596         * fold-const.c (extract_muldiv_1): There's nothing that can be done
13597         if the expression is a SAVE_EXPR.
13598
13599 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
13600
13601         * config/m32r/m32r.c: Fix comment typos.
13602         * config/m68hc11/m68hc11.c: Likewise.
13603         * config/m68hc11/m68hc11.h: Likewise.
13604         * config/m68k/m68k.c: Likewise.
13605         * config/mcore/mcore.c: Likewise.
13606         * config/mcore/mcore.h: Likewise.
13607         * config/mcore/mcore.md: Likewise.
13608         * config/mips/mips.c: Likewise.
13609         * config/mips/mips.h: Likewise.
13610         * config/mips/mips.md: Likewise.
13611         * config/mips/netbsd.h: Likewise.
13612         * config/mn10300/mn10300.c: Likewise.
13613
13614 2003-07-03  Andreas Schwab  <schwab@suse.de>
13615
13616         * dbxout.c (pending_bincls): Move decl down inside
13617         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
13618
13619 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13620
13621         * rtl.h (NOTE_DATA): Refer to whole union.
13622         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
13623
13624 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
13625
13626         PR optimization/11381
13627         * simplify-rtx.c (simplify_relational_operation): Check that
13628         two equal operands have no side-effects before simplifying
13629         the comparison.
13630
13631 2003-07-02  Jeff Law  <law@redhat.com>
13632
13633         * expr.c (do_store_flag): Remove special case folding for
13634         single bit tests.  Instead call back into the commonized folder
13635         routine.
13636         * fold-const.c (fold_single_bit_test): New function, mostly
13637         extracted from do_store_flag, with an additional case extracted
13638         from fold.
13639         (fold): Call fold_single_bit_test appropriately.
13640         * tree.h (fold_single_bit_test): Prototype.
13641
13642 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
13643
13644         * system.h: Include filenames.h.
13645         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
13646         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
13647         define based on HAVE_DOS_BASED_FILE_SYSTEM.
13648         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
13649         * config/i386/xm-mingw32.h: Don't define
13650         HAVE_DOS_BASED_FILE_SYSTEM,
13651         DIR_SEPARATOR, or DIR_SEPARATOR_2.
13652         * doc/hostconfig.texi: Update to match.
13653
13654         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
13655         config/i386/cygwin.h:
13656         Use IS_ABSOLUTE_PATH throughout.
13657         * gcc.c (DIR_UP): Delete, unused.
13658         * protoize.c (IS_SAME_PATH): Define in terms of
13659         FILENAME_CMP.
13660         (is_abspath): Delete.
13661
13662 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
13663
13664         * config/i386/emmintrin.h: Fix comment typos.
13665         * config/i386/i386.c: Likewise.
13666         * config/i386/i386.h: Likewise.
13667         * config/i386/sco5.h: Likewise.
13668         * config/ia64/ia64.c: Likewise.
13669         * config/ia64/itanium2.md: Likewise.
13670
13671 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
13672
13673         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
13674         DBX_USE_BINCL.
13675         (emit_bincl_stab): Same.
13676         (emit_pending_bincls): Same.
13677
13678 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
13679
13680         * config/h8300/h8300.c (compute_mov_length): Fix the length of
13681         loading CONST0_RTX (SFmode).
13682         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
13683         'G' to CONST0_RTX (SFmode).
13684         * config/h8300/h8300.md (movsf_h8300): Change the first
13685         constraint to 'G'.
13686         (movsf_h8300h): Likewise.
13687
13688 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
13689
13690         * c-common.h (c_common_init_options): New prototype.
13691         * c-opts.c (deferred_size): Remove.
13692         (defer_opt): Array is now pre-allocated.
13693         (c_common_init_options): Pre-allocate deferred_opts.  Make
13694         lang_flags unsigned.
13695         (push_command_line_options): Free deferred_opts.
13696         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
13697         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
13698         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
13699         * langhooks.h (struct lang_hooks): New prototype for init_options.
13700         * main.c (main): Cast argv.
13701         * opts.c (handle_option, handle_options): Update prototypes.
13702         (decode_options): save_argc, save_argv are not global.  Constify.
13703         * opts.h (decode_options): New prototype.
13704         * toplev.c (general_init): New protoype.
13705         (save_argv): Make static.
13706         (save_argc): Remove.
13707         (print_switch_values, general_init): Constify.
13708         (toplev_main): Save argv.
13709         * toplev.h (toplev_main): Update prototype.
13710         (save_argc, save_argv): Remove.
13711
13712 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
13713
13714         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
13715         (emit_bincl_stab): Same.
13716         (emit_pending_bincls): Same.
13717
13718 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
13719
13720         PR c++/11072
13721         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
13722
13723 2003-07-02  Andreas Schwab  <schwab@suse.de>
13724
13725         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
13726
13727 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
13728
13729         PR optimization/11210
13730         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
13731         about the behaviour with regard to bitfields.
13732         * fold-const (decode_field_reference): Record outermost type in
13733         case the expression is a NOP. Strip all NOPs. Set the signedness
13734         to that of the outermost type (if any) when the bitsize is equal
13735         to the size of the type.
13736
13737 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
13738
13739         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
13740         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
13741         (adddi3_internal_3, addsi3_internal_2): Likewise.
13742
13743 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
13744
13745         * config/mips/mips.c (machine_function): Add new fields:
13746         ignore_hazard_length_p and all_noreorder_p.
13747         (mips_flag_delayed_branch): New variable.
13748         (override_options): Treat '/' as an operand punctuation character.
13749         Set up mips_flag_delayed_branch.
13750         (print_operand): Handle '/'.
13751         (mips_output_function_prologue): Put the whole function in
13752         .set noreorder and .set nomacro if all_noreorder_p is true.
13753         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
13754         (mips16_optimize_gp): Remove "first insn" parameter.
13755         (mips16_lay_out_constants): New function, split out from mips_reorg.
13756         (mips_avoid_hazard, mips_avoid_hazards): New functions.
13757         (mips_reorg): For mips16 code, call mips16_lay_out_constant
13758         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
13759         do delayed-branch scheduling followed by hazard detection.
13760         (mips_adjust_insn_length): Only account for hazards if
13761         !ignore_hazard_length_p.
13762         (mips_output_load_label): Add a nop to the o32 sequence if
13763         the target suffers from load delays.
13764         (mips_output_conditional_branch): Add %/ to the end of branches.
13765         (mips_output_division): Fill the branch delay slot with %#.
13766         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
13767         instructions.  End all other %* branches with %/.
13768         (ffssi2, ffsdi2): Fix lengths.
13769         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
13770         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
13771         (fix_truncsfsi2_macro): Likewise.
13772         (mov_lwl): Set hazard to "none".
13773         (ashldi3_internal): Fill the branch delay slot with %#.
13774         (ashrdi3_internal, lshrdi3_internal): Likewise.
13775         (exception_receiver): Explicitly set $28.
13776         (hazard_nop): New pattern.
13777
13778 2003-07-02  Jan Hubicka  <jh@suse.cz>
13779
13780         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
13781         before calling tree_inlinable_function_p.
13782
13783 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13784
13785         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
13786         <internal/stdio_core.h> too.
13787         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
13788         <internal/wchar_core.h> too.
13789         Substitute va_list uses in inline definition.
13790         * fixinc/fixincl.x: Regenerate.
13791
13792 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13793
13794         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
13795         Undef before redefinition.
13796         (LABEL_AFTER_LOC): Likewise.
13797         (DEFAULT_SIGNED_CHAR): Likewise.
13798         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
13799         Fix IRIX spelling.
13800
13801         * config/mips/iris3.h: Remove, unused.
13802         * config/mips/iris4.h: Likewise.
13803
13804         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
13805
13806         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
13807         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
13808         target_cpu_default.
13809
13810         * config/mips/iris5.h: Move explicit includes ...
13811         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
13812
13813         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
13814         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
13815         tm_defines.
13816
13817         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
13818         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
13819         target_cpu_default.
13820
13821         * config/mips/iris6.h: Fix IRIX spelling.
13822         (MULTILIB_DEFAULTS): Undef before redefinition.
13823
13824         * config/mips/iris6.h: Move explicit includes ...
13825         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
13826
13827 2003-07-02  Jan Hubicka  <jh@suse.cz>
13828
13829         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
13830         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
13831         Use next_needed field instead of aux to maintain the queue.
13832         * cgraph.h (cgraph_node): Add next_needed.
13833         (cgraph_varpool_node): Add next_needed; remove aux.
13834         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
13835
13836 2003-07-02  Jan Hubicka  <jh@suse.cz>
13837
13838         * cgraphunit.c (cgraph_finalize_function): Set finalized.
13839         (cgraph_finalize_function): Do not examine inlinablility.
13840         (cgraph_finalize_compilation_unit): Do it here.
13841         * cgraph.h (cgraph_local_info): Add finalized field.
13842
13843 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13844
13845         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
13846         (gt_pch_restore): Likewise.
13847
13848 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13849
13850         * config/alpha/alpha.c: Fix comment typos.
13851         * config/alpha/elf.h: Likewise.
13852         * config/arm/arm.c: Likewise.
13853         * config/arm/arm.h: Likewise.
13854         * config/arm/arm.md: Likewise.
13855         * config/arm/t-arm-coff: Likewise.
13856         * config/arm/t-strongarm-pe: Likewise.
13857         * config/arm/xscale-elf.h: Likewise.
13858         * config/avr/avr.h: Likewise.
13859
13860 2003-07-01  Jeff Law  <law@redhat.com>
13861
13862         * stmt.c (any_pending_cleanups): Remove another redundant test.
13863
13864 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
13865             J"orn Rennecke <joern.rennecke@superh.com>
13866
13867         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
13868         for MEM case.
13869
13870 2003-07-01  Devang Patel  <dpatel@apple.com>
13871
13872         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
13873         (binclstatus): New.
13874         (struct dbx_file): New members - bincl_status, pending_bincl_name and
13875         prev.
13876         (pending_bincls): New.
13877         (dbxout_init): Initialize new dbx_file members.
13878         (dbxout_start_source_file): Same.
13879         (emit_bincl_stab): New function.
13880         (emit_pending_bincls): Same.
13881         (emit_pending_bincls_if_required): Same.
13882         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
13883         processed.
13884         (dbxout_begin_block): Emit pending BINCL stabs.
13885         (dbxout_end_block): Same.
13886         (dbxout_function_decl): Same.
13887         (dbxout_continue): Same.
13888         (dbxout_type): Same.
13889         (dbxout_class_name_qualifiers): Same.
13890         (dbxout_symbol): Same.
13891         (dbxout_symbol_location): Same.
13892         (dbxout_parms): Same.
13893
13894 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13895
13896         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
13897         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
13898
13899 2003-07-01  Andreas Jaeger  <aj@suse.de>
13900
13901         * fold-const.c: Convert prototypes to ISO C90.
13902         * function.c: Likewise.
13903         * function.h: Likewise.
13904
13905 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13906
13907         * doc/contrib.texi: Fix typos.
13908         * doc/invoke.texi: Likewise.
13909         * doc/passes.texi: Likewise.
13910         * doc/sourcebuild.texi: Likewise.
13911         * doc/tm.texi: Likewise.
13912
13913 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
13914
13915         * basic-block.h: Fix comment typos.
13916         * bb-reorder.c: Likewise.
13917         * c-format.c: Likewise.
13918         * cfgcleanup.c: Likewise.
13919         * cfghooks.h: Likewise.
13920         * cfgloop.c: Likewise.
13921         * cfgloopmanip.c: Likewise.
13922         * cfgrtl.c: Likewise.
13923         * cgraph.h: Likewise.
13924         * cgraphunit.c: Likewise.
13925         * combine.c: Likewise.
13926         * convert.c: Likewise.
13927         * dbxout.c: Likewise.
13928         * df.c: Likewise.
13929         * df.h: Likewise.
13930         * diagnostic.c: Likewise.
13931         * dwarf2out.c: Likewise.
13932         * et-forest.h: Likewise.
13933         * flow.c: Likewise.
13934         * fold-const.c: Likewise.
13935         * function.h: Likewise.
13936         * gcov-io.h: Likewise.
13937         * gcov.c: Likewise.
13938         * gcse.c: Likewise.
13939         * genautomata.c: Likewise.
13940         * ggc-common.c: Likewise.
13941         * ggc-page.c: Likewise.
13942         * loop-unroll.c: Likewise.
13943         * loop-unswitch.c: Likewise.
13944         * loop.c: Likewise.
13945         * mips-tfile.c: Likewise.
13946         * optabs.c: Likewise.
13947         * ra-build.c: Likewise.
13948         * ra-colorize.c: Likewise.
13949         * ra-rewrite.c: Likewise.
13950         * ra.h: Likewise.
13951         * regmove.c: Likewise.
13952         * reload.c: Likewise.
13953         * rtlanal.c: Likewise.
13954         * sched-ebb.c: Likewise.
13955         * sched-int.h: Likewise.
13956         * sched-vis.c: Likewise.
13957         * sreal.c: Likewise.
13958         * ssa-ccp.c: Likewise.
13959         * ssa.c: Likewise.
13960         * toplev.c: Likewise.
13961         * tree-inline.c: Likewise.
13962         * value-prof.c: Likewise.
13963         * value-prof.h: Likewise.
13964
13965 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13966
13967         * rtl.h (emit_line_note_after): Remove.
13968         (emit_note_copy_after, emit_note_copy): New.
13969         * emit-rtl.c (reorder_insns_with_line_notes): Replace
13970         emit_line_note_after with emit_note_copy_after.
13971         (emit_insn_after_with_line_notes): Likewise.
13972         (emit_line_note_after): Kill.
13973         (emit_note_copy_after): New.
13974         (emit_note_copy): New.
13975         * function.c (emit_return_into_block): Use emit_note_copy_after.
13976         (thread_prologue_and_epilogue_insns): Likewise.
13977         * integrate.c (expand_inline_function): Use emit_note_copy.
13978         (copy_insn_list): Likewise.
13979         * unroll.c (copy_loop_body): Likewise.
13980         * cfglayout.c (duplicate_insn_chain): Likewise.
13981
13982 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13983
13984         * c-tree.h (define_label): Replace filename and lineno arguments
13985         with a location_t.
13986         * c-decl.c (poplevel): Adjust define_label call.
13987         (pop_label_level): Likewise.
13988         (define_label): Replace filename and lineno arguments with a
13989         location_t.
13990         (store_parm_decls): Use DECL_SOURCE_LOCATION.
13991         * c-parse.in (label): Adjust define_label call.
13992
13993 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
13994
13995         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
13996         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
13997         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
13998         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
13999         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
14000
14001 2003-07-01  Andreas Jaeger  <aj@suse.de>
14002
14003         * final.c: Convert prototypes to ISO C90.
14004         * flow.c: Likewise.
14005         * flags.h: Likewise.
14006         * gcov-io.c: Likewise.
14007         * gcov-io.h: Likewise.
14008
14009 See ChangeLog.9 for earlier changes.