OSDN Git Service

* emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
2
3         * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
4         use of default attributes to agree MEM_ALIGN macro.
5
6 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
7
8         * dbxout.c (dbxout_type): When printing type index of range type
9         whose bounds are printed in octal format, print type of parent type if
10         it exists so enumerated type descriptions are not transformed
11         into unsigned types.
12
13 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
14
15         * config/h8300/h8300-protos.h: Add a prototype for
16         compute_a_shift_cc.
17         * config/h8300/h8300.c (shift_one): Update the CC status.
18         (shift_two): Likewise.
19         (output_a_shift_cc): Set cc_inline and cc_special.
20         (compute_a_shift_cc): New.
21         * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
22
23 2003-04-04  Richard Henderson  <rth@redhat.com>
24
25         * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
26
27 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
28
29         * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
30         * fixinc/fixincl.x: Rebuilt.
31         * fixinc/tests/base/stdio.h: Regenerated.
32
33 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
34
35         * gcov.c (accumulate_line_counts): Fix span tree merge bug.
36
37 Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
38
39         * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
40         (NORMAL_MODE).
41         * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
42
43 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
44         
45         * doc/contrib.texi (Contributors): Add entries for Wolfgang
46         Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
47         Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
48         Danny Smith, and Ulrich Weigand.
49         Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
50         entry.
51
52 2003-04-04  Nick Clifton  <nickc@redhat.com>
53
54         * config/sparc/sol2-bi.h: Revert previous delta.
55         * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
56
57 2003-04-04  Nick Clifton  <nickc@redhat.com>
58
59         * config/v850/v850.c (expand_prologue): Only use register save
60         helper functions if long calls are not being used.
61         Add a clobber of r11 id using long calls.
62         (pattern_is_ok_for_prologue): Account for the extra clobber.
63         (construct_save_jarl): Likewise.
64         * config/v850/v850.md (prolog pattern): Do not use this pattern
65         for v850e's.
66
67 2003-04-04  Andreas Schwab  <schwab@suse.de>
68
69         * stor-layout.c (layout_decl): Avoid syntax error in last change
70         when PCC_BITFIELD_TYPE_MATTERS is defined but not
71         EMPTY_FIELD_BOUNDARY.
72
73 2003-04-03  Jason Merrill  <jason@redhat.com>
74
75         PR c/10175
76         * jump.c (never_reached_warning): Revert patch of 2002-11-02.
77         Look backwards for a line note.
78
79 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
80
81         * fix-header.c (read_scan_file): Defer switch processing.
82
83 2003-04-03  Matt Austern  <austern@apple.com>
84
85         * cpppch.c (reset_ht): Remove.
86         (cpp_read_state): Remove loop to reset hashtable identifiers.
87         * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
88         after pch file is written.
89         * ggc.h (gt_pch_fixup_stringpool): Declare.
90         * stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
91         hashnode's value to another hashtable, then clear the original.
92         (saved_ident_hash): Define.
93         (gt_pch_save_stringpool): Create saved_ident_hash, use it to
94         store definitions in ident_hash, and clear ident_hash.
95         (gt_pch_fixup_stringpool): Define.  Restore definitions from
96         saved_ident_hash to ident_hash, then destroy saved_ident_hash.
97
98 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
99
100         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
101
102 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
103
104         PR optimization/10157
105         * gcse.c (can_copy_p): Rename it to can_copy.
106         (can_copy_init_p): Remove.
107         (compute_can_copy): Use can_copy instead of can_copy_p.
108         (can_copy_p): New exported function. Call compute_can_copy.
109         (hash_scan_set): Use it.
110         (gcse_main): Don't call compute_can_copy.
111         (bypass_jumps): Don't call compute_can_copy.
112         * rtl.h (can_copy_p): Declare.
113         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
114         copy if the mode doesn't support copy operations.
115
116 2003-04-03  Jason Merrill  <jason@redhat.com>
117
118         * Makefile.in (unstrap): Also remove stage_last.
119
120         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
121         (dwarf2out_source_line): Don't do anything if line==0.
122
123         * stor-layout.c (do_type_align): New fn, split out from...
124         (layout_decl): ...here.  Do all alignment calculations for 
125         FIELD_DECLs here.
126         (update_alignment_for_field): Not here.
127         (start_record_layout, debug_rli): Remove unpadded_align.
128         * tree.h (struct record_layout_info_s): Remove unpadded_align.
129         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
130         or DECL_MODE on the CONST_DECLs.
131         (finish_struct): Don't mess with DECL_ALIGN.
132
133 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
134
135         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
136
137 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
138
139         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
140         function is an interrupt handler.
141
142         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
143         restoring target registers with EH_RETURN_STACKADJ_RTX; use
144         multiple registers in round-robin fashion.
145
146 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
147
148         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
149         * system.h (CHAR_BITFIELD): New.
150
151 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
152
153         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
154         and LE.
155         (another peephole2): Likewise.
156
157 2003-04-03  Nick Clifton  <nickc@redhat.com>
158
159         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
160         (DEF_ARCH64_SPEC): Likewise.
161
162 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
163
164         * i386.c (constant_address_p): Use legitimate_constant_p.
165         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
166
167 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
168
169         * config/h8300/h8300-protos.h: Add a prototype for
170         gtle_operator.
171         * config/h8300/h8300.c (gtle_operator): New.
172         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
173         gtle_operator.
174         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
175         and LE.
176
177 2003-04-02  Richard Henderson  <rth@redhat.com>
178
179         * libgcc-std.ver (_Unwind_GetCFA): New.
180         * unwind-dw2.c (_Unwind_GetCFA): New.
181         * unwind-libunwind.c (_Unwind_GetCFA): New.
182         * unwind-sjlj.c (_Unwind_GetCFA): New.
183         * unwind.h: Declare it.
184
185 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
186
187         PR inline-asm/8088
188         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
189         when MMX/SSE is not available.
190
191 2003-04-02  Mike Stump  <mrs@apple.com>
192
193         * doc/install.texi (Specific): Update pointers to apple.com.
194
195 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
196
197         * i386.c (override_options):  Disable red zone by default on i386.
198         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):  
199         Do not test TARGET_64BIT together with TARGET_RED_ZONE
200
201 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
202
203         * config/h8300/h8300.md (a peephole2): Tighten the condition.
204
205 2003-04-02  Richard Henderson  <rth@redhat.com>
206
207         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
208
209 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
210
211         * config/h8300/h8300.md (a peephole2): New.
212
213 2003-04-02  Richard Henderson  <rth@redhat.com>
214
215         * except.c (sjlj_find_directly_reachable_regions): Recognize when
216         must-not-throw region has been deleted.
217
218 2003-04-02  Richard Henderson  <rth@redhat.com>
219
220         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
221         optimization when flag_exceptions not enabled.
222
223 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
224
225         * config/rs6000/rs6000.c
226         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
227         macros.
228         (rs6000_issue_rate): Add case for 8540.
229         (rs6000_use_sched_lookahead): New function.
230
231         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
232         units into MU ones.
233         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
234         reservation before retirement.
235         (ppc8540_multiply, ppc8540_load, ppc8540_store,
236         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
237         Remove additional cycle in the reservation before retirement.
238         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
239         reservation of ppc8540_issue.
240         
241 2003-04-02  Andreas Schwab  <schwab@suse.de>
242
243         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
244
245 2003-04-01  Richard Henderson  <rth@redhat.com>
246
247         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
248         notes for nothrow calls if flag_forced_unwind_exceptions.
249         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
250         (sjlj_find_directly_reachable_regions): Likewise.
251         (reachable_handlers): Likewise.
252         (can_throw_external): Likewise.
253         (collect_one_action_chain): Record cleanups after catch-all and
254         must-not-throw if flag_forced_unwind_exceptions.
255         * flags.h (flag_forced_unwind_exceptions): Declare.
256         * toplev.c (flag_forced_unwind_exceptions): New.
257         (lang_independent_options): Add it.
258         * doc/invoke.text: Add it.
259
260 2003-04-01  David Mosberger <davidm@hpl.hp.com>
261
262         * config/ia64/crti.asm: Clean up trailing whitespace.
263         Remove trailing hashes (#) from identifiers.
264
265         * config/ia64/crtn.asm: Ditto.
266
267         * config/ia64/crtend.asm: Remove trailing hashes (#) from
268         identifiers.
269         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
270         directives.  Drop explicit bundling---it just makes the code
271         harder to read.  Don't save/restore gp needlessly.
272
273         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
274         identifiers (they're only needed if the identifier would clash
275         with a register name otherwise).
276         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
277         directives.  Drop explicit bundling---it just makes the code
278         harder to read.
279         (__do_jv_register_classes): Ditto.
280         (.fini_array): Remove "progbits" (newer
281         assemblers don't like wrong section-types).
282         (.init_array): Ditto.
283
284 2003-04-01  Roger Sayle  <roger@eyesopen.com>
285
286         PR fortran/9974
287         * gcse.c (reg_killed_on_egde): New function to test whether the
288         given reg is overwritten by any instruction queued on an edge.
289         (bypass_block): Ignore substitutions killed on incoming edges.
290         Don't bypass outgoing edges that have queued instructions.
291
292 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
293
294         * real.h (EXP_BITS): Make room for...
295         (struct real_value): ... added canonical bit.
296         (struct real_format): Added pnan.
297         (mips_single_format, mips_double_format, mips_extended_format,
298         mips_quad_format): New.
299         * real.c: Copy p to pnan in all formats.
300         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
301         (real_nan): Use pnan to compute significand's shift.
302         (real_identical): Disregard significand in canonical
303         NaNs.
304         (real_hash): Likewise.  Take signalling into account.
305         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
306         Disregard significand bits in canonical NaNs.  Set all bits of
307         canonical NaN if !qnan_msb_set.
308         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
309         qnan_msb_set to tell the base double format.
310         (ibm_extended_format): Use 53 as pnan.
311         (mips_single_format, mips_double_format, mips_extended_format,
312         mips_quad_format): Copied from the corresponding ieee/ibm
313         formats, with qnan_msb_set false.
314         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
315         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
316         * config/mips/mips.c (override_options): Use mips_single_format
317         and mips_double_format.  Default TFmode to mips_quad_format.
318         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
319         * config/mips/t-irix6: Likewise.
320         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
321         * config/fp-bit.c (pack_d, unpack_d): Obey it.
322
323 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
324
325         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
326         (live_image_destructor): Reset image to initial state.
327         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
328
329 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
330
331         * config/sparc/sparc.c (input_operand): Accept bare
332         CONSTANT_P_RTX operands.
333
334 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
335
336         * gcse.c (struct ls_expr): Added pattern_regs field.
337         (ldst_entry): Initialize it.
338         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
339         (store_ops_ok): Use regs precomputed by them.
340         (find_loads, store_killed_in_insn, load_kills_store): Change return
341         type to bool.
342         (store_killed_before, store_killed_after): Take position of register
343         set in account.
344         (reg_set_info): Store position of the setter.
345         (gcse_main): Enable store motion.
346         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
347         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
348         sharing.
349         (simple_mem): Enable store motion of non-symbol mems.
350         (regvec): Type changed.
351         (LAST_AVAIL_CHECK_FAILURE): New.
352         (compute_store_table_current_insn): New.
353         (build_store_vectors): Computation of availability and anticipatability
354         moved ...
355         (compute_store_table, find_moveable_store): ... here.
356         (delete_store): Remove senseless comment.
357         (store_motion): Reorganize.
358
359 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
360
361         * config/mips/mips.c (override_options): Provide mappings for
362         HI_REGNUM and LO_REGNUM.
363         * config/mips/mips.h (MD_DBX_FIRST): Define.
364
365 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
366
367         * combine.c (merge_outer_ops): Fix typo.
368
369         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
370
371 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
372
373         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
374         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
375         imul_compare.  Add lmul_compare.
376         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
377         in second pair of dispatch slots.  Model stores more accurately.
378         Tweak multiply model.  Add bypasses for CR instructions dependent
379         on complicated compares.
380         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
381         (muldi3): Add lmul_compare patterns.
382         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
383         and FPSTORE_UX to split instructions and add COMPARE,
384         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
385         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
386         (rs6000_rtx_costs): Separate POWER4 multiply case.
387
388 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
389
390         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
391         Do nothing if __builtin_return_address was not used.
392
393 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
394
395         * i386.md (test patterns):  Allow memory operand in operand1.
396
397 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
398
399         * testsuite/gcc.c-torture/execute/simd-3.c: New.
400
401         * expr.c (expand_expr): Handle VECTOR_CST.
402         (const_vector_from_tree): New.
403
404         * varasm.c (output_constant): Handle VECTOR_CST.
405
406         * c-typeck.c (digest_init): Build a vector constant from a
407         VECTOR_TYPE.
408
409         * config/rs6000/rs6000.c: Remove prototype for
410         easy_vector_constant.
411         (easy_vector_constant): Add mode parameter.  Rewrite to handle
412         more easy constants.
413         (rs6000_emit_move): Pass mode to easy_vector_constant.
414         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
415         (emit_easy_vector_insn): New.
416         (easy_vector_same): New.
417         (EASY_VECTOR_15): New macro.
418         (EASY_VECTOR_15_ADD_SELF): New macro.
419         (bdesc_2arg): Rename to xorv2si3.
420         (easy_vector_constant_add_self): New.
421         (input_operand): Allow vector constants.
422
423         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
424         easy_vector_constant, easy_vector_constant_add_self.
425         (EXTRA_CONSTRAINT): Add 'W'.
426
427         * config/rs6000/rs6000-protos.h: Add prototype for
428         easy_vector_constant, emit_easy_vector_insn.
429
430         * config/rs6000/altivec.md (xorv8hi3): New.
431         (xorv16qi3): New.
432         Remove all _const0 patterns.
433         (movv4si_internal): Rewrite to use code.  Add vector constant to
434         vector alternative.  Add splitter.
435         (movv8hi_internal): Same.
436         (movv16qi_internal): Same.
437         (movv4sf_internal): Same.
438         Change the unspecs for vspltis* to use constants.
439
440         * config/rs6000/spe.md ("xorv4hi3"): New.
441         ("spe_evxor"): Rename to xorv2si3.
442         ("xorv1di3"): New.
443         Remove all _const0 patterns.
444         (movv2si_internal): Rewrite to use code.  Add vector constant to
445         alternatives.  Add splitter.
446         (movv4hi_internal): Add vector constant to alternatives.
447         (movv1di_internal): Same.
448         (movv2sf_internal): Same.
449
450 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
451
452         PR c/9936
453         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
454         variably-sized arrays in parameters.
455         (set_save_expr_context): New function.
456         (c_expand_body): Use it, via walk_tree.
457
458 2003-03-31  Eric Christopher  <echristo@redhat.com>
459
460         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
461         (combinable_i3pat): Remove call to expand_field_assignment and
462         #if 0'd code.
463
464 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
465
466         PR c++/10278
467         * c-common.c (finish_label_address_expr): Handle the
468         error_mark_node.
469
470 2003-03-31  Richard Henderson  <rth@redhat.com>
471
472         * real.c (real_identical): Reorg so as to not compare
473         signalling for normals.
474
475 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
476
477         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
478
479 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
480
481         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
482         notes as they are boggus.
483         (m68hc11_gen_movqi): Likewise.
484
485 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
486
487         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
488         save the soft registers after the frame pointer so that gdb can unwind
489         the frame more easily.
490         (expand_epilogue): Likewise in opposite order; allow to use X register
491         as scratch if the return value is by reference.
492
493 2003-03-31  Jason Merrill  <jason@redhat.com>
494
495         PR java/10145
496         * stor-layout.c (update_alignment_for_field): Respect
497         DECL_USER_ALIGN for zero-length bitfields, too.
498         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
499         fields.
500
501 2003-03-31  Matt Austern  <austern@apple.com>
502
503         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
504         (count_defs): Keep track of number of defs as well as total size.
505         (write_defs): Put every definition in cpp_savedstate's defs array.
506         (comp_hashnode): Define.  Comparison function for qsort.
507         (cpp_write_pch_deps): Sort definitions before writing them.
508         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
509         (collect_ht_nodes): Define.
510         (cpp_valid_state): When verifying that undefined identifiers in
511         the pch file are still undefined, read a sorted list of undefined
512         identifiers, collect all defined identifiers into a sorted list,
513         and walk through both lists to make sure there's no match.
514
515 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
516
517         * config/h8300/h8300.md (a peephole2): New.
518
519 2003-03-31  Michael Matz  <matz@suse.de>
520
521         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
522
523 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
524
525         PR target/10177
526         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
527         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
528         all call-clobbered registers as used.
529
530 2003-03-31  Michael Matz  <matz@suse.de>
531
532         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
533         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
534
535 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
536
537         * gcov.c: Add -a & -u options.
538         (struct arc_info): Add local_span, is_call_non_return,
539         is_nonlocal_return, is_unconditional flags, remove is_call flag.
540         (struct block_info): Add flags, is_call_site, is_nonlocal_return
541         members. Make encodings a union with span member.
542         (struct function_info): Add blocks_executed, line, src, line_next
543         members.
544         (struct coverage_info): Make branches a union with blocks member.
545         (struct source_info): Add functions member.
546         (object_summary, program_count): New global variables.
547         (flag_all_blocks, flag_unconditional): New flags.
548         (find_source, output_branch_count): New functions.
549         (print_usage): Adjust.
550         (options): Adjust.
551         (process_args): Adjust.
552         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
553         <GCOV_TAG_BLOCKS>: Read flags.
554         <GCOV_TAG_LINES>: Adjust.
555         (read_count_file): Process SUMMARY tags.
556         (solve_flow_graph): Set is_unconditional and clear is_call_site
557         appropriately.
558         (add_branch_counts): Adjust. Don't count unconditional branches.
559         (add_line_counts): Deal with all-blocks mode, accumulate block
560         coverage.
561         (accumulate_line_counts): Adjust, generate local spanning tree for
562         all-blocks mode.
563         (output_lines): Adjust.
564         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
565         * doc/gcov.texi: Document.
566
567 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
568
569         * config/h8300/h8300.md: Organize peephole2's that transform
570         (compare (reg:HI) (const_int)).
571
572 2003-03-31  Roger Sayle  <roger@eyesopen.com>
573
574         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
575         (init_emit_once): Initialize dconstm2 and dconsthalf here.
576         * real.h (dconstm2, dconsthalf): Add prototypes here.
577         * real.c (real_sqrt): Use dconsthalf rather than local copy.
578         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
579         exp(x/2.0) remember to fold the division if possible.
580         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
581         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
582         1.0/(x*x) and pow(x,0.5) as sqrt(x).
583
584 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
585
586         * config/h8300/h8300.md (a new peephole2): New.
587
588 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
589
590         * gcse.c (simple_mem): Return false for floating-point accesses
591         if flag_float_store is true.
592
593 2003-03-30  Roger Sayle  <roger@eyesopen.com>
594
595         * gcse.c (gcse_constant_p): New function to identify constants
596         suitable for constant propagation, including COMPARE with two
597         integer constant arguments.
598         (hash_scan_set): Use gcse_constant_p.
599         (find_avail_set): Likewise.
600         (cprop_insn): Likewise.
601         (do_local_cprop): Likewise.
602         (find_implicit_sets): Likewise.
603         (find_bypass_set): Likewise.
604
605 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
606
607         * except.h: Remove definition of varray_type.
608
609 2003-03-30  Richard Henderson  <rth@redhat.com>
610
611         PR opt/10011, opt/10252:
612         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
613         before post-gcse cse pass.
614
615 2003-03-30  Roger Sayle  <roger@eyesopen.com>
616
617         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
618
619 2003-03-30  DJ Delorie  <dj@redhat.com>
620
621         * profile.c (instrument_edges): Make sure any newly created
622         jump insns have correct jump label info.
623
624 2003-03-30  Richard Henderson  <rth@redhat.com>
625
626         * cfgbuild.c (make_edges): Use tablejump_p.
627         * cfgcleanup.c (label_is_jump_target_p): Likewise.
628         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
629         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
630         (try_redirect_by_replacing_jump): Likewise.
631         (redirect_edge_and_branch): Likewise.
632         * cse.c (fold_rtx): Likewise.
633         * jump.c (delete_related_insns): Likewise.
634         * rtlanal.c (get_jump_table_offset): Likewise.
635         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
636
637 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
638
639         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
640         (STRICT2_WARN): Likewise.
641
642 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
643
644         PR other/6955
645         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
646         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
647
648 2003-03-30  Richard Henderson  <rth@redhat.com>
649
650         PR c/10083
651         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
652         don't zero_extend const inputs.
653
654 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
655
656         * reload1.c (reload_cse_move2add): Fix a comment typo.
657
658 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
659
660         * config/h8300/h8300.md (a peephole2): Remove useless code.
661
662 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
663
664         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
665         (*iorsi3_and_lshiftrt): Likewise.
666         (*iorsi3_zero_extract): Likewise.
667
668 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
669
670         * config/h8300/h8300.md (*insv_si_8_8): New.
671         (*insv_si_8_8_lshiftrt_8): Likewise.
672         (a peephole2): Likewise.
673
674 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
675
676         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
677         Uniformly use bugfix instead of bug fix.
678
679 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
680
681         PR doc/895
682         * ONEWS: Remove those items that already appear in the EGCS
683         release notes on our web pages.
684
685 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
686
687         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
688         TARGET_HARD_FLOAT.  Reformat.
689         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
690
691 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
692
693         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
694         work on Solaris 2.5.1.
695
696 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
697
698         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
699         section of h8300.md
700         (*addsi3_and_nor_r_1): Likewise.
701
702 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
703
704         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
705         set up before any trapping memory access if flag_non_call_exceptions.
706
707 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
708
709         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
710
711         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
712
713 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
714
715         * configure.in: Clarify comments.
716         * configure: Regenerate.
717
718 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
719
720         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
721         label even if pool empty when generating PIC.
722         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
723
724 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
725             Dhananjay Deshpande  <dhananjayd@kpit.com>
726
727         PR target/10205
728         * config/h8300/h8300.c (h8300_initial_elimination_offset):
729         Correct the offset computation when TARGET_NORMAL.
730
731 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
732
733         PR target/10067
734         * config/sparc/sparc.md (jump pattern): Correct order
735         when issuing the annuling marker.
736
737 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
738
739         PR c/8281
740         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
741         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
742
743 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
744
745         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
746         globalize_label.
747         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
748         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
749         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
750         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
751         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
752         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
753         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
754
755 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
756
757         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
758         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
759         notes after hoisting.
760         (load_mems): Adjust replace_loop_mems call.
761
762 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
763             Richard Henderson  <rth@redhat.com>
764
765         PR target/10114 and PR target/10084
766         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
767
768 2003-03-27  Richard Henderson  <rth@redhat.com>
769
770         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
771
772 2003-03-27  Roger Sayle  <roger@eyesopen.com>
773
774         * fold-const.c (fold_inf_compare):  New function to simplify FP
775         comparisons against +Infinity or -Infinity.
776         (fold):  Optimize floating point comparisons against Infs and NaNs.
777
778 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
779
780         * libgcov.c: Provide only dummy functions if libc is not available.
781
782 2003-03-27  Richard Henderson  <rth@redhat.com>
783
784         * real.h (struct real_value): Add signalling.
785         (EXP_BITS): Decrement.
786         * real.c (get_canonical_qnan): Don't set MSB-1.
787         (get_canonical_snan): Likewise.  Set signalling.
788         (real_identical): Compare signalling.
789         (round_for_format): Remove force-one-bit on code.
790         (real_nan): Likewise.  Set signalling.
791         (encode_ieee_single): Add force-one-bit code; honor signalling.
792         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
793         (decode_ieee_single): Set signalling.
794         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
795
796 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
797
798         PR ada/9953
799         * ada/Makefile.in (gnatlib configuration for HPUX): Split
800         the general section for HPUX into specific sections for
801         HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
802         11 case.
803
804 2003-03-27  Glen Nakamura  <glen@imodulo.com>
805
806         PR opt/10087
807         * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
808         while incrementing giv.
809         (record_biv): Check for duplicate biv locations and
810         set (struct induction *) v->same if found.
811
812 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
813
814         * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
815         v0.9 API change: replace read of UNW_REG_HANDLER with
816         unw_get_proc_info().
817         (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
818         with unw_get_proc_info().
819         (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
820         unw_get_proc_info().
821
822 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
823
824         * config/rs6000/8540.md: Use presence_set instead of absence_set.
825
826 2003-03-26  Richard Henderson  <rth@redhat.com>
827
828         * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
829
830 2003-03-26  Roger Sayle  <roger@eyesopen.com>
831
832         PR bootstrap/10051, PR bootstrap/10169.
833         * mips-tfile.c (init_file): Don't provide a static initializer.
834         (initialize_init_file): Initialize the contents of init_file.
835         (add_file): Call initialize_init_file if not already initialized.
836
837 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
838
839         * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
840         registers used for global asm variables.
841         (s390_frame_info, s390_arg_frame_offset): Likewise.
842         (s390_emit_prologue, s390_emit_epilogue): Likewise.
843
844 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
845
846         * config/rs6000/8540.md: New file.
847
848         * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
849         power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
850         reservations for imul.
851
852         * config/rs6000/rs6000.md: Include 8540.md.  Change
853         delayed_compare onto mult_compare for insns generating
854         multiplication.
855         (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
856         New type attribute values.
857
858         * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
859         fpsimple instead of fp.
860         (*divsf3_gpr): Use type vecfdiv instead of fp.
861         (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
862         instead of vecfloat.
863         (spe_evfsdive): Use type vecfdiv instead of vecfloat.
864         (spe_brinc): Use type brinc instead of veccomplex.
865         (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
866         veccomplex.
867         (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
868         (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
869         *movv2sf_internal): Define type attribute values for all
870         alternatives.
871         (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
872         of fpcompare.
873         (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
874         instead of fpcompare.
875
876 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
877
878         * config/rs6000/power4.md: Allow delay between dispatch and
879         function units for simple instructions.  Correct store units.
880         Allow branch to occupy as many dispatch slots as necessary.
881
882 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
883
884         * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
885         (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
886         zero extend old to it.
887         * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
888         operand.
889
890 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
891
892         PR target/7784
893         * reload.c (find_reloads_address): Handle
894         (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
895         all base registers.
896
897 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
898
899         PR other/10203
900         * version.c: Reference the GCC web site in the URL.
901
902 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
903
904         * c-incpath.c (add_standard_paths): Add both "translated" and
905         non-translated header paths.
906
907 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
908
909         * doc/install.texi (*-*-freebsd*): Update with known status.
910
911 2003-03-21  Jason Merrill  <jason@redhat.com>
912
913         PR optimization/10171
914         * unroll.c (unroll_loop): Don't delete the jump at the end unless
915         we also delete a jump at the beginning.
916
917 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
918
919         * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
920         contributor.
921
922 Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
923
924         * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
925         constants are not expensive.
926
927 Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
928
929         PR opt/10056
930         * cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
931         jump jumping to the next instruction.
932         * cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
933
934 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
935
936         * doc/passes.texi (Passes): Properly document that we do not
937         perform jump2 any longer; remove command-line option -dJ.
938
939 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
940
941         PR optimization/8746
942         * config/i386/i386.md (and promoting splitters): Disable HImode to
943         SImode promoting when the sign bit matters and is not preserved, or
944         when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
945         for size.
946
947 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
948
949         * config/h8300/h8300.md (a peephole2): Extend to support loads
950         in QImode and HImode.
951
952 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
953
954         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
955         _return_far
956         (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
957         (MULTILIB_EXCEPTIONS): Likewise.
958         * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
959         by calling some board support routine.
960         ("call_value"): Likewise.
961         ("*return_void"): Likewise for return.
962         ("*return_16bit"): Likewise.
963         ("*return_32bit"): Likewise.
964         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
965         for 68HC11 too.
966         (DWARF2_ADDR_SIZE): Use 4 so that addresses can
967         * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
968         -mlong-calls for 68HC11.
969         * config/m68hc11/larith.asm (declare_near): New macro.
970         (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
971         (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
972         (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
973         (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
974         (__mulhi32): Likewise.
975         (ret): Update macro for 68HC11.
976         (__far_trampoline): Implement for 68HC11.
977         (__call_a16, __call_a32, __return_void, __return_16): New support
978         routines for 68HC11 memory bank switching calling support.
979         (__return_32): Likewise.
980
981 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
982
983         * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
984
985 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
986
987         * doc/install.texi (Testing): Mention test result links from build
988         status pages.
989
990 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
991
992         * function.c (put_var_into_stack): Change bool parameter to int.
993         (gen_mem_addressof): Likewise.
994         * rtl.h (gen_mem_addressof): Likewise.
995         * tree.h (put_var_into_stack): Likewise.
996         * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
997         gen_mem_addressof or put_var_into_stack.
998         * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
999         * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
1000
1001 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
1002
1003         * config/h8300/h8300.md (a peephole2): New.
1004
1005 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
1006
1007         * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
1008
1009 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1010
1011         * doc/contrib.texi (Contributors): Update Janis Johnson.
1012
1013 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1014
1015         PR target/10072
1016         * combine.c (simplify_if_then_else): Check that the mode
1017         has MODE_INT class before applying the (OP Z (mult COND C2))
1018         transformation.
1019
1020 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1021
1022         PR optimization/9414
1023         * config/sparc/sparc.md (widening peepholes): Use
1024         widen_memory_access instead of change_address.
1025
1026 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
1027
1028         PR c++/7086
1029         * c-typeck.c (c_mark_addressable): Adjust calls to
1030         put_var_into_stack.
1031         * expr.c (expand_expr): Likewise.
1032         * function.c (put_var_into_stack): Add rescan parameter.  Do not
1033         call fixup_var_refs when rescan is false.
1034         (gen_mem_addressof): Likewise.
1035         (assign_parms): Adjust calls to put_var_into_stack.
1036         (setjmp_protect): Likewise.
1037         (setjmp_protect_args): Likewise.
1038         * rtl.h (gen_mem_addressof): Change prototype.
1039         * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
1040         * tree.h (put_var_into_stack): Change prototype.
1041
1042 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
1043
1044         PR middle-end/9967
1045         * builtins.c (expand_builtin_fputs): When optimizing for size,
1046         don't transform fputs into fwrite.
1047
1048 2003-03-23  Glen Nakamura <glen@imodulo.com>
1049
1050         PR c/8224
1051         * fold-const.c (extract_muldiv_1): Don't pass through type conversions
1052         when signedness changes for division or modulus.
1053
1054 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
1055
1056         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
1057         globalize_label.
1058
1059 2003-03-23  Roger Sayle  <roger@eyesopen.com>
1060
1061         PR c/10178
1062         * stmt.c (expand_end_case_type): Check for overflow in range when
1063         determining whether to use a bit-test implementation.
1064
1065 2003-03-23  Richard Henderson  <rth@redhat.com>
1066
1067         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
1068         before flow2.
1069         * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
1070
1071 2003-03-23  Richard Henderson  <rth@redhat.com>
1072
1073         PR opt/10116
1074         * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
1075         from then_bb or else_bb after flow2.
1076
1077 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
1078
1079         * configure.in: Check whether it is necessary to link against
1080         libm to use ldexp.
1081         * configure: Regenerate.
1082         * Makefile.in: Add LDEXP_LIB substitution variable.
1083
1084 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
1085
1086         * config/h8300/h8300.md: Fix comment typos.
1087
1088 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1089
1090         * pa.c (output_cbranch): Fix typo in comment.
1091
1092 2003-03-22  Richard Henderson <rth@redhat.com>
1093
1094         * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
1095         after reload.
1096
1097 2003-03-22  DJ Delorie  <dj at redhat dot com>,
1098         Bruce Korb  <bkorb at gnu dot org>
1099
1100         * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
1101         buggy Solaris 2.6 mutex/cond initializers.
1102         (solaris_mutex_init): Rename to solaris_mutex_init_2.
1103         * fixinc/fixincl.x: Regenerate.
1104         * fixinc/tests/base/pthread.h: Update.
1105         * fixinc/fixincl.c(initialize): be explicit about the default case
1106         and indicate verbose level when being very, very verbose.
1107         * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
1108
1109 2003-03-22  Andreas Jaeger  <aj@suse.de>
1110
1111         * config/i386/i386.c (ix86_init_machine_status): Return value.
1112
1113 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1114
1115         * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
1116         conditional branch to the following instruction.  Use next_real_insn
1117         instead of next_active_insn.
1118         (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
1119         instead of next_active_insn.
1120
1121 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
1122
1123         * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
1124         instead of 'm' constraint in forced-split alternatives.
1125         ("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
1126         VALIDATE_ADDRESS parameter to operand_subword.
1127
1128 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
1129
1130         * config/h8300/h8300.c (notice_update_cc): Correctly handle
1131         the case where the set destination is STRICT_LOW_PART.
1132
1133 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
1134
1135         * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
1136         c30 instead of a c40 processor.
1137
1138 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
1139
1140         * combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
1141
1142 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1143
1144         * c-common.c: Include intl.h.
1145         (shadow_warning): Rewrite to allow better diagnostic translations.
1146         * c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
1147         * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
1148         use it throughout.
1149         * Makefile.in (c-common.o): Add intl.h.
1150
1151 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
1152
1153         * config.gcc: Remove 'float_format'.
1154
1155         * fixproto: Define NULL and size_t in generated stdlib.h and
1156         unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
1157         Rearrange file generation loop for readability.  Generate time.h,
1158         string.h if missing.
1159         * tsystem.h: Include <string.h>, <time.h> unconditionally.
1160         * config.gcc: Blow away POSIX defines.
1161
1162 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1163
1164         * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
1165
1166 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1167
1168         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
1169         writing .interrupt command.
1170         * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
1171         if it's a far or near function.
1172         ("call_value"): Likewise.
1173         * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
1174         near attributes.
1175         (m68hc11_handle_fntype_attribute): Accept attributes on methods.
1176         (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
1177         (m68hc11_initial_elimination_offset): Set current_function_far
1178         according to attributes.
1179         (expand_prologue): Likewise.
1180         (trap_handler_symbol): New global to keep track of trap handlers.
1181         (m68hc11_encode_section_info): Mark symbol as far if needed; set
1182         trap symbol.
1183         (m68hc11_is_far_symbol): New function.
1184         (m68hc11_is_trap_symbol): New function.
1185         * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
1186         (m68hc11_is_trap_symbol): Declare.
1187
1188 2003-03-21  Jan Hubicka  <jh@suse.cz>
1189
1190         * i386.c (ix86_compute_frame_layout): Recompute fast prologues
1191         only when amount of saved regs changed.
1192         (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
1193         * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
1194
1195 2003-03-21  Jan Hubicka  <jh@suse.cz>
1196
1197         PR inline-asm/7916
1198         * function.c (instantiate_virtual_regs_lossage): New function.
1199         (instantiate_virtual_regs_1): Use it.
1200         (instantiate_virtual_regs): Do not continue in substition when insn has
1201         been deleted.
1202
1203 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1204
1205         * combine.c (make_field_assignment): Fix a warning.
1206
1207 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1208
1209         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
1210
1211 2003-03-21  Dale Johannesen  <dalej@apple.com>
1212
1213         * config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
1214         priority for R2 on Darwin.
1215         (HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
1216
1217 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1218
1219         * combine.c (make_field_assignment): Remove unnecessary AND
1220         when storing into zero_extract.
1221
1222 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1223
1224         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
1225         * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
1226         * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
1227         in comment.
1228
1229 2003-03-21  DJ Delorie  <dj@redhat.com>
1230
1231         * optabs.c (init_integral_libfuncs): Make sure we init at least up
1232         to "long long" size words.
1233
1234 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
1235
1236         * config/s390/s390.h: Do not include fixdfdi.h on s390x.
1237         (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
1238         (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
1239
1240 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1241
1242         PR doc-bug/9813
1243         * doc/extend.texi: Move misplaced paragraph about underscores in
1244         variables in macros.
1245
1246 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1247             Richard Henderson  <rth@redhat.com>
1248
1249         PR optimization/8366
1250         * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
1251         (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
1252         PIC+SYMBOLIC_CONST in other modes than Pmode.
1253         (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
1254         the form PIC+SYMBOLIC_CONST as mode dependent.
1255
1256 2003-03-21  DJ Delorie  <dj@redhat.com>
1257
1258         * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
1259         sure we always emit at least one insn.
1260
1261 2003-03-21  Christopher Faylor  <cgf@redhat.com>
1262
1263         * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
1264         stub t-cygming. Use common target header cygming.h. Add extra
1265         c_target_obj and cxx_target_obj file. Default cygwin to posix
1266         threading. Enforce i386 as float format.
1267         (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
1268         Remove cygwin.h as target header. Use common target header
1269         cygming.h  Enforce i386 as float format. Correct typo.
1270         * config/i386/cygming.h: New file, containing definitions
1271         common to mingw32 and cygwin.
1272         * config/i386/cygwin.h: Remove definitions common to cygwin and
1273         mingw.  Simplify special spec logic.  Define "wrappers" around
1274         certain include path defines to accommodate -mno-cygwin.
1275         Remove some #if 0'ed code.
1276         (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
1277         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
1278         (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
1279         * config/i386/mingw32.h: Remove definitions common to cygwin and
1280         mingw.
1281         (EXTRA_OS_CPP_BUILTINS): Adjust.
1282         (TARGET_VERSION): Define.
1283         * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
1284         mingw32.h definitions.
1285         (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
1286         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
1287         Add compilation rules for cygwin1.o cygwin2.o.
1288         * config/i386/cygwin1.c: New file.
1289         * config/i386/cygwin2.c: New file.
1290         * config/i386/t-cygming: New makefile stub.
1291
1292 2003-03-20  Richard Henderson  <rth@redhat.com>
1293
1294         * fold-const.c (extract_muldiv_1): Revert changing order of
1295         operands in case MULT_EXPR of 2003-02-16 patch.
1296
1297 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
1298         Merge changes from new-regalloc-branch
1299
1300         From Michael Matz  <matz@suse.de>
1301         * df.c (df_ref_record_1): Move init of loc to safe point.
1302         Only recurse on interesting things in parallels.
1303         Handle CLASS_CANNOT_CHANGE_MODE smarter.
1304         (df_uses_record): Ditto.
1305
1306         * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
1307         it's already okay to use memory operands in (IE doesn't require
1308         adding another insn or anything).
1309
1310 2003-03-20  Richard Henderson  <rth@redhat.com>
1311
1312         PR middle-end/6348
1313         * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
1314         different from word_mode.
1315
1316 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1317
1318         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
1319         source operand to those that can be extracted with bld.
1320
1321 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
1322
1323         PR 10066
1324         * arm.md (UNSPEC_PIC_BASE): New constant.
1325         (pic_add_dot_plus_four): Wrap with unspec.
1326         (pic_add_dot_plus_eight): Likewise.
1327
1328 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1329
1330         * config/h8300/h8300.md (*insv_si_1_n): New.
1331         (*insv_si_1_n_lshiftrt): Likewise.
1332
1333 2003-03-20  Roger Sayle  <roger@eyesopen.com>
1334
1335         * fold-const.c (fold_mathfn_compare): New function to simplify
1336         comparisons against built-in math functions.  Fold comparisons
1337         of sqrt against constants.
1338         (fold): Call fold_mathfn_compare when appropriate.
1339
1340 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
1341
1342         * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
1343         information.
1344
1345 2003-03-20  Per Bothner  <pbothner@apple.com>
1346
1347         Various cleanups to help compile server.
1348
1349         * cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
1350         and pass that to _cpp_init_hashtable.
1351         (cpp_read_main_file):  Drop hash_table* argument; don't call
1352         _cpp_init_hashtable.
1353         * cpplib.h:  Update declarations to match.
1354         * c-opts.c (c_common_init_options):  Pass ident_hash to
1355         cpp_create_reader.
1356         (c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
1357         * fix-header.c (read_scan_file):  Likewise pass NULL table to
1358         cpp_create_reader rather than cpp_read_main_file.
1359
1360         * cppfiles.c (cpp_rename_file):  Generalized and renamed
1361         to cpp_change_file.
1362         * cpplib.h:  Update declaration to match.
1363         * c-opts.c (push_command_line_line, finish_options):  Change
1364         cpp_rename_file calls to cpp_change_file.
1365
1366         * line-map.c (add_line_map):  Allow leaving the outermost file.
1367         Allowing entering an outermost-file after the initial time.
1368
1369         * toplev.c (pop_srcloc):  Allow popping from initial file.
1370
1371 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
1372
1373         * fold-const.c (fold): Fold A - (A & B) into ~B & A.
1374
1375 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1376
1377         * config/h8300/h8300.md (a peephole2): New.
1378
1379 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1380
1381         * config/h8300/h8300.md (*addsi3_and_r_1): New.
1382         (*addsi3_and_not_r_1): Likewise.
1383
1384 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
1385
1386         * Makefile.in (STRICT2_WARN): Add @WERROR@.
1387         (GCC_WARN_CFLAGS): Remove $(WERROR).
1388         (fixinc.sh-warn): New.
1389         * ada/Make-lang.in (ada-warn): Add $(WERROR).
1390         * cp/Make-lang.in (cp-warn): Add $(WERROR).
1391         * f/Make-lang.in (f-warn): Add $(WERROR).
1392         * java/Make-lang.in (java-warn): Add $(WERROR).
1393         * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
1394
1395 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1396
1397         * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
1398         langhooks-def.h (lhd_tree_dump_dump_tree),
1399         langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
1400         Change return type from 'int' to 'bool'.  Replace 0 and 1 with
1401         true and false in return statements.
1402
1403 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
1404
1405         * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
1406         (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
1407         DWARF_INITIAL_LENGTH_SIZE.
1408         (output_compilation_unit_header, output_pubnames, output_aranges)
1409         (output_line_info): Output 0xffffffff escape value for 64-bit
1410         DWARF extension.
1411         * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
1412
1413 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
1414
1415         * config/s390/s390.c (s390_preferred_reload_class): Do not
1416         force constants to the pool unless necessary.
1417         (s390_decompose_address): Prefer to use pointer as base,
1418         not index register.
1419         * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
1420         Q alternative.
1421         ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
1422         "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
1423         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1424         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1425         "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
1426
1427 2003-03-19  Jan Hubicka  <jh@suse.cz>
1428
1429         * i386.h (machine_function): New fields use_fast_prologue_epilogue.
1430         * i386.c (use_fast_prologue_epilogue): Remove.
1431         (ix86_frame): New field save_regs-using_mov;
1432         (ix86_compute_frame_layout):  Decide on fast prologues;
1433         allocate saved registers in red zone.
1434         (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
1435
1436 2003-03-19  Nick Clifton  <nickc@redhat.com>
1437
1438         * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
1439
1440 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1441
1442         PR 10062
1443         * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
1444         * pa-protos.h (output_lbranch): New prototype.
1445         * pa.c (compute_frame_size): Change size of the frame marker on the
1446         64-bit ports to 48 bytes.
1447         (pa_output_function_prologue): Document why SAVE_SP is set.
1448         (hppa_expand_prologue): Save previous stack pointer into frame marker
1449         on targets which use the hpux unwind library.
1450         (output_cbranch): Use output_lbranch.
1451         (output_lbranch): New function to output long unconditional branches.
1452         * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
1453         (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
1454         64-bit ports.
1455         * pa.md (jump): Use output_lbranch.
1456         (allocate_stack): New expander for dynamic stack allocation.
1457
1458 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
1459
1460         * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
1461         when debugging on XCOFF targets.  Delete "abi" temp.
1462
1463         PR target/10073
1464         * combine.c (force_to_mode <NOT>): Use gen_int_mode.
1465
1466 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
1467
1468         * config/s390/s390.c (s390_output_dwarf_dtprel): New.
1469         * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
1470         * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1471
1472         * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
1473         * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
1474         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1475
1476 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1477
1478         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
1479         the result of machopic_function_base_name.
1480         * config/darwin.c (machopic_function_base_name): Use a gc-allocated
1481         string rather than a static array.
1482
1483         * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
1484
1485         * gengtype.c: Include rtl.h.
1486         (enum rtx_code): Don't define.
1487         (rtx_format): Make declaration match rtl.h.
1488         (rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
1489         users.
1490         (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
1491         * Makefile.in (gengtype.o): Update dependencies.
1492
1493 2003-03-18  Andreas Schwab  <schwab@suse.de>
1494
1495         * config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
1496         martin@blom.org.
1497
1498 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1499
1500         * function.c (next_block_index): Mark with GTY.
1501
1502         * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
1503
1504 2003-03-18  Richard Henderson  <rth@redhat.com>
1505
1506         * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
1507         (builtin_setjmp_receiver): Delay call to ia64_reload_gp
1508         until after reload.
1509
1510 2003-03-18  Richard Henderson  <rth@redhat.com>
1511
1512         * builtins.c (expand_builtin_unop): New target_mode operand;
1513         use it to convert the result to the correct mode.
1514         (expand_builtin): Update all callers.
1515
1516 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
1517
1518         * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
1519
1520 2003-03-18  Jan Hubicka  <jh@suse.cz>
1521
1522         * i386.md:  Fix previous commit that mistakely applied the patch
1523         twice.
1524
1525         * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
1526         canonicalized.
1527         (memrefs_conflict_p): Likewise.
1528         (addr_side_effect_eval): Canonicalize the constructed address.
1529
1530 2003-03-18  Jan Hubicka  <jh@suse.cz>
1531
1532         * i386.md (cvtts?2si peep2): New.
1533
1534 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
1535
1536         * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
1537
1538 2003-03-18  Andreas Schwab  <schwab@suse.de>
1539
1540         * dwarf2out.c (output_file_names): Cast size_t to unsigned long
1541         for format.
1542
1543 2003-03-17  Jason Merrill  <jason@redhat.com>
1544
1545         PR c++/10091
1546         * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
1547         an unaligned member of TREE_ADDRESSABLE type.
1548
1549 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
1550
1551         * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
1552         (TARGET_PROFILE_KERNEL): Define.
1553         (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
1554         (PROFILE_BEFORE_PROLOGUE): Don't define.
1555         (PROFILE_KERNEL): Remove hacks.
1556         * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
1557         (rs6000_stack_info): No need to save lr if just for profiling when
1558         TARGET_PROFILE_KERNEL.
1559         (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
1560         (output_function_profiler): Localize label generation.  Emit code
1561         for kernel profiling.
1562
1563 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
1564
1565         * config/h8300/h8300-protos.h: Add a prototype for
1566         byte_accesses_mergeable_p.
1567         * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
1568         * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
1569         (a splitter): Likewise.
1570         (*iorsi3_ashift_16_ashift_24): Likewise.
1571         (*iorsi3_ashift_16_ashift_24_mem): Likewise.
1572
1573 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1574
1575         * dwarf2asm.h: Delete obsolete comment.
1576         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1577         dw2_asm_output_pcrel, dw2_asm_output_addr,
1578         dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
1579         dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
1580         dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
1581         dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
1582
1583 2003-03-17  Zack Weinberg <zack@codesourcery.com>
1584
1585         * c-tree.h (struct lang_identifier): Remove error_locus field.
1586         (IDENTIFIER_ERROR_LOCUS): Kill.
1587         (record_function_scope_shadow): New prototype.
1588         * c-typeck.c (build_external_ref): Don't complain if
1589         decl is error_mark_node.  When not at file scope, bind the
1590         decl's local value to error_mark_node to suppress further
1591         warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
1592
1593         * c-decl.c (get_function_binding_level): New static function.
1594         (record_function_scope_shadow): New exported function.
1595         (c_make_fname_decl): Use get_function_binding_level.
1596
1597 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
1598
1599         * stmt.c (tail_recursion_args): Call promote_mode to set
1600         unsignedp flag correctly before calling convert_move.
1601
1602 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1603
1604         * loop-unroll.c (decide_peel_completely,
1605         decide_unroll_constant_iterations, decide_unroll_stupid,
1606         decide_unroll_runtime_iterations, decide_peel_simple): Set
1607         loop->has_desc.
1608
1609 2003-03-17  Jan Hubicka  <jh@suse.cz>
1610
1611         * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
1612
1613 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
1614
1615         * function.c (assign_parms): For a struct value address passed as
1616         first argument, delay the function's result RTL setup code until
1617         after the emission of parameter conversions.
1618
1619 2003-03-17  Dave Love  <fx@gnu.org>
1620             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1621
1622         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
1623         __arch64__ to match Compaq cc.
1624
1625 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1626
1627         * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
1628         (c_common_init): Set EBCDIC in cpp options.
1629         * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
1630         not conditional compilation.
1631         * cpplib.h (struct cpp_options): New entry EBCDIC.
1632
1633 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1634
1635         * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
1636
1637 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1638
1639         * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
1640         argument to 0 for redirect_jump.
1641
1642 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
1643
1644         PR c++/8805
1645         * except.c (eh_region_u_cleanup): Add prev_try.
1646         (expand_eh_region_end_cleanup): Set it.
1647         (reachable_handlers): Use it to skip over cleanup blocks.
1648
1649 2003-03-17  Andreas Jaeger  <aj@suse.de>
1650
1651         * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
1652
1653 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
1654
1655         * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
1656         (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
1657         (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
1658         (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
1659
1660 2003-03-16  Richard Henderson  <rth@redhat.com>
1661
1662         * simplify-rtx (simplify_binary_operation): Don't abort for
1663         SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
1664
1665 2003-03-16  Richard Henderson  <rth@redhat.com>
1666
1667         * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
1668         optimize_size as well.
1669
1670 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
1671
1672         * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
1673         for D register to specify the low part of it, aka B.
1674         (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
1675         the register if we are loading 1 or -1 to it; avoid using temp
1676         register when moving X/Y to Y/X.
1677         (m68hc11_gen_movqi): Likewise.
1678         (m68hc11_check_z_replacement): Fix last insn setting for compare case.
1679
1680 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
1681
1682         PR optimization/9016
1683         * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
1684         into the constant pool.
1685
1686 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1687
1688         PR target/9164
1689         * tree.c (get_narrower): For extensions with unchanged bit number,
1690         return the unsignedness of the outer mode.
1691
1692 2003-03-16  Roger Sayle  <roger@eyesopen.com>
1693
1694         * c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
1695         to avoid "may be used uninitialized" warning on ia64-hpux.
1696         * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
1697
1698 2003-03-16  Andreas Jaeger  <aj@suse.de>
1699
1700         * configure.in: Improve check for memcheck.h.
1701         * configure: Regenerated.
1702
1703 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
1704
1705         * doc/cppopts.texi: Remove documentation of -A-.
1706
1707 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
1708
1709         * doc/libgcc.texi: Remove @tie.
1710
1711 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
1712
1713         * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
1714         (rtx_pair): Added new element update_label_nuses, renamed to
1715         replace_label_data.
1716         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
1717         replace_label_data instead of rtx_pair.
1718         * loop.c (load_mems): Likewise.
1719         * rtlanal.c (replace_label): Replace label in pool constants and in
1720         INSN_LIST (in REG_LABEL note).
1721         (subrtx_p): Renamed to rtx_referenced_p.
1722         (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
1723         LABEL_REF with CODE_LABEL, traverse constants from pool.
1724
1725 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
1726             Zack Weinberg  <zack@codesourcery.com>
1727
1728         * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
1729         * doc/libgcc.texi: New file.
1730         * doc/interface.texi: Delete paragraph about libgcc interface.
1731         * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
1732
1733 2003-03-15  Jason Merrill  <jason@redhat.com>
1734
1735         PR debug/9039
1736         * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
1737
1738         PR debug/6387
1739         * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
1740         function DIEs at toplevel.
1741         (decls_for_scope): At -g1, don't descend into subblocks.
1742
1743 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
1744
1745         * varasm.c (struct rtx_const): Change type of un.addr member
1746         to struct holding an additional 'symbol' member.
1747         (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
1748         with equal string addresses as equal.
1749         (simplify_subtraction): Adapt to struct rtx_const change.
1750
1751 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1752
1753         * fix-header.c (read_scan_file): Read main file before handling -D.
1754
1755 2003-03-15  Roger Sayle  <roger@eyesopen.com>
1756
1757         * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
1758         * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
1759         * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
1760         (find_sub_basic_blocks): Likewise.
1761         * cgraphunit.c (cgraph_expand_functions): Likewise.
1762         * dwarf2out.c (prune_unused_types): Likewise.
1763         * expr.c (store_field): Likewise.
1764         * genextract.c (print_path): Likewise.
1765         * haifa-sched.c (schedule_insn): Likewise.
1766         * lcm.c (compute_antinout_edge): Likewise.
1767         * loop-unroll.c (decide_peel_once_rolling): Likewise.
1768         * ra-colorize.c (ra_colorize_free_all): Likewise.
1769         * ra-debug.c (dump_igraph): Likewise.
1770         (debug_hard_reg_set): Likewise.
1771         * reg-stack.c (reg_to_stack): Likewise.
1772         * rtlanal.c (refers_to_regno_p): Likewise.
1773         * tracer.c (layout_superblocks): Likewise.
1774
1775 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1776
1777         * fix-header.c (read_scan_file): Fix thinko.
1778
1779 2003-03-15  Glen Nakamura  <glen@imodulo.com>
1780
1781         * reload1.c (choose_reload_regs): Use && instead of ||
1782         with REG_CANNOT_CHANGE_MODE_P condition.
1783
1784 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1785
1786         * Makefile.in: Update.
1787         * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
1788         * c-lex.c (init_c_lex): Register builtins hook is dead.
1789         * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
1790         (c_common_decode_option): Don't call cpp_handle_option.
1791         Handle -A, -D and -U.
1792         (handle_deferred_opts): Simplify.
1793         (finish_options): Define builtins and command line macros.
1794         * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
1795         * cppinit.c: Don't include intl.h.
1796         (init_builtins): Rename cpp_init_builtins.  No hook to call.
1797         (init_library): Don't need to sort options.
1798         (cpp_create_reader): Don't set pending.
1799         (cpp_destroy): Don't free pending.
1800         (struct pending_option, cl_directive_handler, struct cpp_pending,
1801         APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
1802         cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
1803         cl_options, cpp_handle_option): Remove.
1804         * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
1805         cpp_finish_options): Remove.
1806         (cpp_init_builtins): New.
1807         * fix-header.c (read_scan_file): Update to handle -D.  Fix
1808         handling of -I.  Replace call to cpp_finish_options.
1809
1810 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1811
1812         PR optimization/9387
1813         * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
1814         for conditional returns.
1815
1816 2003-03-14  Jason Merrill  <jason@redhat.com>
1817
1818         PR optimization/6871
1819         * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
1820
1821 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
1822
1823         * c-opts.c (finish_options): New.
1824         (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
1825         (missing_arg): Handle OPT_include and OPT_imacros.
1826         (c_common_init, c_common_parse_file): Use finish_options.
1827         (handle_deferred_opts): Update.
1828         * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
1829         (cpp_finish_options): Don't handle -imacros here.
1830         (no_fil): Remove.
1831         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
1832
1833 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
1834
1835         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
1836         rs6000_maybe_dead if !fromprolog.
1837
1838 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
1839
1840         * Makefile.in: Update.
1841         * c-common.h (fe_file_change, pp_file_change): New.
1842         * c-lex.c (init_c_lex): Don't set cb_file_change.
1843         (c_common_parse_file): Move to c-opts.c.
1844         (cb_file_change): Rename fe_file_change.
1845         * c-opts.c: Include debug.h.
1846         (warn_unused_macros, include_cursor): New.
1847         (push_command_line_include, cb_file_change): New.
1848         (COMMAND_LINE_OPTIONS): Handle -include.
1849         (c_common_decode_option): Use local warn_unused_macros.
1850         Handle OPT_include.
1851         (c_common_post_options): Set file change callback.
1852         (handle_deferred_opts): Skip -include.  Don't free the array.
1853         (c_common_init): Call cpp_finish_options here, and push an
1854         initial -include file.
1855         * c-ppoutput.c (cb_file_change): Rename pp_file_change.
1856         (preprocess_file): Don't call cpp_finish_options.
1857         (init_pp_output): Don't set the file change callback.
1858         (pp_file_change): Return if no line commands or no output.
1859         * cpphash.h (next_include_file, first_unused_line): Remove.
1860         * cppinit.c (include_head, include_tail): Remove.
1861         (cpp_destroy): Don't free -include chain.
1862         (cpp_finish_options): Don't handle -include, or worry about
1863         -Wunused-macros.
1864         (_cpp_maybe_push_include_file): Remove.
1865         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
1866         * cpplib.c (_cpp_pop_buffer): Don't handle -include.
1867         * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
1868         Used flag is set based upon the state of the warn_unused_macros
1869         flag, and so use of first_unused_line is unnecessary.
1870
1871 2003-03-13  Jan Hubicka  <jh@suse.cz>
1872
1873         * cselib.c (clear_table): Do not take argument; always clear just
1874         used slots.
1875         (cselib_process_insn):  Update call of clear_table
1876         (cselib_init): Do not call clear_table.
1877         (cselib_finish): Clear table.
1878
1879         * cse.c (count_reg_usage): Do not check side_effects_p.
1880         * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
1881         like noop.
1882         (find_reg_equal_equiv_note): Do not use find_reg_note.
1883
1884 2003-03-14  Richard Henderson  <rth@redhat.com>
1885
1886         PR target/9700
1887         * config/alpha/alpha.c (alpha_va_start): Account for
1888         current_function_pretend_args_size in the AP offset.
1889
1890         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
1891         (INITIAL_ELIMINATION_OFFSET): Move out of line.
1892         * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
1893         (alpha_initial_elimination_offset) New.
1894         * config/alpha/alpha-protos.h: Update.
1895
1896 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
1897
1898         * stmt.c (expand_start_case): Call emit_queue ().
1899
1900 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
1901             Alexandre Oliva  <aoliva@redhat.com>
1902
1903         * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
1904         words in new abis.
1905
1906 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
1907
1908         PR optimization/8396
1909         * tree-inline.c (initialize_inlined_parameters): Make sure the value
1910         of read-only constant arguments is passed with the right type.
1911
1912 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
1913
1914         * doc/extend.texi (Function Names): Make the example compilable.
1915
1916 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
1917
1918         * config/rs6000/rs6000.c (processor_target_table): Really allow
1919         GP optional instructions on Power4.
1920
1921 2003-03-13  Roger Sayle  <roger@eyesopen.com>
1922
1923         * calls.c (flags_from_decl_or_type): Factor and remove redundant
1924         conditional tests.
1925
1926 2003-03-13  Mike Stump  <mrs@apple.com>
1927
1928         * ggc-page.c (struct page_entry): Remove varray.h header.
1929         Add index_by_depth field.
1930         Remove save_in_use_p field.
1931         (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
1932         by_depth_max, by_depth, and save_in_use fields.
1933         (INITIAL_PTE_COUNT): Add.
1934         (save_in_use_p_i): Add.
1935         (save_in_use_p): Add.
1936         (adjust_depth): Add.
1937         (move_ptes_to_front): Add.
1938         (push_depth): Add.
1939         (push_by_depth): Add.
1940         (prefetch): Add.
1941         (free_page): Add support for and use faster data structures.
1942         (ggc_alloc): Likewise.
1943         (init_ggc): Likewise.
1944         (ggc_recalculate_in_use_p): Likewise.
1945         (ggc_pop_context): Likewise.
1946         (clear_marks): Likewise.
1947         (ggc_pch_read): Likewise.
1948         * Makefile.in (ggc-page.o): Remove varray.h.
1949
1950 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
1951
1952         * ChangeLog: Rotated last year's entries to...
1953         * ChangeLog.8: New.
1954
1955         * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
1956         config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
1957         config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
1958         config/ia64/ia64-protos.h, config/ia64/ia64.c,
1959         config/ia64/ia64.h, config/ia64/ia64.md,
1960         config/ia64/itanium1.md, config/ia64/itanium2.md,
1961         config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
1962         config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
1963
1964 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
1965
1966         * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
1967         Differentiate endianness.
1968         (s6000_override_options): Use cpu type instead of TARGET_SPE.
1969
1970 2003-03-13  Nick Clifton  <nickc@redhat.com>
1971
1972         * config/arm/arm.c (print_multi_reg): Do not generate a type 2
1973         LDM instructions with writeback enabled.
1974         (output_return_instruction): Likewise.
1975
1976         * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
1977         (CALL_USED_REGISTERS): Remove definition.
1978         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
1979
1980 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
1981
1982         * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
1983         (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
1984         (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
1985         (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
1986         (rs6000_legitimize_address): Formatting.
1987         (rs6000_emit_move): Likewise.
1988         (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
1989         (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
1990         (rs6000_elf_select_section): Comment reason for shlib being
1991         set for ABI_AIX.
1992         (rs6000_elf_unique_section): Likewise.
1993         (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
1994         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
1995         as well as flag_pic.
1996         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
1997         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
1998         * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
1999
2000 2003-03-13  Richard Henderson  <rth@redhat.com>
2001
2002         * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
2003
2004         * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
2005         (ia64_gp_save_reg): Remove.
2006         (struct ia64_frame_info): Move to the beginning of the file;
2007         add reg_save_gp.
2008         (ia64_expand_call): Rearrange for new call patterns.
2009         (ia64_reload_gp): New.
2010         (ia64_split_call): New.
2011         (ia64_compute_frame_size): Allocate reg_save_gp.
2012         (ia64_expand_prologue): Save reg_save_gp.
2013         (ia64_expand_epilogue): Don't restore gp.
2014         (ia64_hard_regno_rename_ok): Remove R4 hack.
2015         (ia64_function_ok_for_sibcall): New.
2016         (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
2017         call try_split on sibcall pattern.
2018         * config/ia64/ia64-protos.h: Update.
2019         * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
2020         Rename from nopic versions.  Confiscate 2nd argument to call as
2021         a marker.
2022         (call_pic, call_value_pic, sibcall_pic): Remove.
2023         (call_gp, call_value_gp, sibcall_gp): New.
2024         (builtin_setjmp_setup): Remove.
2025         (builtin_setjmp_receiver): Call ia64_reload_gp.
2026
2027 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2028
2029         * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2030         config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
2031         "GNU CC" with "GCC".
2032
2033         * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
2034         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2035         config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
2036         GCC, not GNU CC.
2037
2038         * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
2039         langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
2040
2041         * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
2042         langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
2043         unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
2044         "GNU CC" with "GCC".
2045
2046         * config/v850/lib1funcs.asm, config/v850/rtems.h,
2047         config/v850/v850-c.c, config/v850/v850-protos.h,
2048         config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
2049         GCC, not GNU CC.
2050
2051         * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
2052         config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
2053         config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
2054         config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
2055         GNU CC.
2056
2057 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2058
2059         * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
2060
2061 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2062
2063         * fixinc/fixinc.interix: Remove dead code (most of it).
2064         * fixinc/fixinc.dgux: Remove.
2065
2066         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
2067         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
2068
2069 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2070
2071         * pa.c (pa_init_builtins): Fix warning.
2072
2073 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
2074
2075         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
2076         (ASM_OUTPUT_XDATA_SHORT): Remove.
2077         (ASM_OUTPUT_XDATA_INT): Remove.
2078         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
2079         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
2080         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
2081         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
2082
2083 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
2084
2085         PR c++/7050
2086         * expr.c (store_expr): Don't attempt to store void-typed trees,
2087         just evaluate them for side effects.
2088
2089 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2090
2091         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
2092         * cppinit.c (push_include): Move with changes to cppfiles.c.
2093         (cpp_read_main_file): Mark named operators here...
2094         (cpp_finish_options): ...not here.  Update.
2095         (_cpp_maybe_push_include_file): Update.
2096         * cpplib.h (cpp_push_include, cpp_rename_file): New.
2097
2098 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2099
2100         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
2101         _gcc_COMPUTE_GAS_VERSION.
2102         * configure.in: Use them.
2103         * configure: Regenerate.
2104
2105 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
2106
2107         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
2108         to detect carry.
2109         (subdi3): Reorder emitted instructions.
2110
2111 2003-03-12  Andreas Jaeger  <aj@suse.de>
2112
2113         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
2114         NETBSD_OS_CPP_BUILTINS_LP64.
2115
2116 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2117
2118         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
2119         Rearrange.  Reorganize.
2120         * configure.in: Rearrange.
2121         * configure: Regenerate.
2122
2123 2003-03-12  Andreas Jaeger  <aj@suse.de>
2124
2125         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
2126         LP64 targets.
2127
2128         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
2129         _LP64.
2130
2131         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
2132         _LP64 macros here.
2133         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2134
2135         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
2136         NETBSD_OS_CPP_BUILTINS_LP64.
2137         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2138         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2139
2140         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
2141
2142 2003-03-12  Jan Hubicka  <jh@suse.cz>
2143
2144         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
2145
2146 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
2147
2148         Fix PR target/9797 and PR c/9853.
2149         * stmt.c (expand_decl_init): Call push_temp_slots () and
2150         pop_temp_slots ().
2151
2152 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
2153
2154         * sh.c: Include basic-block.h.
2155         (sh_output_mi_thunk, emit_load_ptr): New functions.
2156         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
2157
2158 2003-03-12  Nick Clifton  <nickc@redhat.com>
2159
2160         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
2161         (CALL_USED_REGISTERS): Likewise.
2162         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
2163         describing how this value is calculated.
2164
2165 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
2166
2167         * configure.in (rlim_t): Define to long if no valid definition
2168         found in sys/resource.h.
2169         * config.in, configure: Regenerate.
2170
2171 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2172
2173         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
2174         TARGET_OS_CPP_BUILTINS.
2175         * config/mcore/mcore-pe.h: Similarly.
2176         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
2177         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
2178
2179 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2180
2181         PR c/9928
2182         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
2183         only if it is a VAR_DECL.
2184
2185 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2186
2187         PR optimization/9888
2188         * config/i386/i386.md (jcc_1): Fix range.
2189         (jcc_2): Likewise.
2190         (jump): LIkewise.
2191         (doloop_end_internal): Likewise.
2192
2193 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
2194
2195         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
2196         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
2197         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
2198         DLL_IMPORT_EXPORT_PREFIX and "i."
2199         (i386_pe_dllexport_name_p): Here.
2200         (i386_pe_dllimport_name_p): Here.
2201         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
2202         not 9 chars when getting identifier name.
2203         (i386_pe_mark_dllimport): Here.
2204         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
2205         not 9 chars when getting identifier name. Correct comment.
2206         (i386_pe_strip_name_encoding): Here. Add comments for different
2207         cases.
2208         (gen_fastcall_suffix): Break down xmalloc() argument to
2209         components.
2210         (gen_stdcall_suffix): Likewise.
2211         Update copyright year.
2212
2213 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2214
2215         PR optimization/9888
2216         * config/i386/i386.md (movsi_1): Remove special alternatives
2217         for %eax register.
2218         (movsi_1_nointernunit): Likewise.
2219         (movhi_1): Likewise.
2220         * config/i386/i386.c (memory_address_length): Do not use
2221         short displacement when there is no base.
2222         (ix86_attr_length_address_default): Handle LEA instructions.
2223
2224 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2225
2226         * c-cppbuiltin.c (builtin_define_std): Make non-static.
2227
2228 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
2229
2230         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
2231         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
2232         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
2233         * config/freebsd.h (CPP_PREDEFINES): Remove.
2234         (TARGET_OS_CPP_BUILTINS): New.
2235         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
2236         instead of TARGET_OS_CPP_BUILTINS.
2237         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
2238
2239 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
2240
2241         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
2242
2243 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2244
2245         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
2246         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
2247
2248         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
2249
2250 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2251
2252         * toplev.c (independent_decode_option): Return success for --help,
2253         --target-help and --version.
2254
2255 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2256
2257         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
2258         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
2259         specified.
2260         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
2261         DRIVER_SELF_SPECS.
2262         (LINK_SPEC): Let endian options affect the linker emulation name.
2263
2264 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
2265
2266         * sh.md (reload_inqi): Fix mode for source in second set.
2267
2268 2003-03-11  Jan Hubicka  <jh@suse.cz>
2269
2270         * cselib.c (cselib_invalidate_mem_1): Move too ...
2271         (cselib_invalidate_mem): ... here; use new list
2272         (dummy_val, first_containing_mem): New static variables.
2273         (clear_table): Initialize first_containing_mem.
2274         (discard_useless_values):  Compact the containing_mem list.
2275         (add_mem_for_addr): Add to the list.
2276         * cselib.h (cselib_val): Add next_containing_mem.
2277
2278 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2279
2280         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
2281         instructions for e500.
2282
2283 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2284
2285         * Makefile.in: Update.
2286         * c-cppbuiltin.c: Include tm_p.h.
2287
2288 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2289
2290         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
2291
2292         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
2293         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
2294         (_Unwind_SetGR): Same.
2295         (_Unwind_GetGRPtr): New.
2296         (_Unwind_SetGRPtr): New.
2297         (uw_update_context_1): Use accesor functions instead of accessing
2298         context->reg[] directly.
2299         (uw_install_context_1): Same.
2300         (execute_cfa_program): Same.
2301         (__frame_state_for): Same.
2302
2303         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
2304         the synthetic register offset.
2305
2306         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
2307
2308 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
2309
2310         * config/cris/cris.md: Remove lingering EGCS reference.
2311         ("*extopqihi_side_biap"): For HI operation, match
2312         cris_additive_operand_extend_operator, not
2313         cris_operand_extend_operator.  Adjust condition.
2314         ("*extopqihi_side", "*extopqihi"): Ditto.
2315         ("*extopqisi_side_biap"): Correct operand numbers in condition.
2316         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
2317         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
2318         ("*extophisi_swap"): Ditto.
2319         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
2320         PLUS, not cris_operand_extend_operator.  Adjust condition and
2321         output template.
2322         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
2323         * config/cris/cris.h (PREDICATE_CODES): Add
2324         cris_additive_operand_extend_operator.
2325         * config/cris/cris.c (cris_additive_operand_extend_operator):
2326         New predicate.
2327
2328 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
2329
2330         * df.c (read_modify_subreg_p): Change from static to global.
2331         * df.h (read_modify_subreg_p): Add prototype.
2332         * sched-deps.c (sched_analyze_1): Generate true dependency for
2333         strict_low_part, certain subregs and zero/sign_extract.
2334
2335 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2336
2337         * Makefile.in: Update.
2338         * c-common.c: Don't include real.h or except.h.
2339         (REGISTER_PREFIX): Remove.
2340         (builtin_define_std, builtin_define_with_value,
2341         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
2342         builtin_define_type_max, builtin_define_type_precision,
2343         builtin_define_float_constants): Move to c-cppbuiltin.c.
2344         (c_stddef_cpp_builtins): New.
2345         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
2346         * c-cppbuiltin.c: New, extracted from c-common.c.
2347         (define__GNUC__): New.
2348         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
2349         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
2350         (cpp_unique_options): Don't support no-gcc.
2351         (do_spec_1): Remove support of version specs.
2352         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
2353         * doc/passes.texi: Update.
2354         * doc/tm.texi: Update.
2355
2356 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2357
2358         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
2359
2360 2003-03-10  Andrew Pinski  <apinski@apple.com>
2361
2362         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
2363         is on should not get here.
2364         (machopic_indirect_data_reference): If dynamic-no-pic is on just
2365         generate high/low parts of the address.
2366         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
2367         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
2368         symbol and labels with a new reg.  Dynamic-no-pic does not have a
2369         pic_offset_table_rtx.
2370         (machopic_select_section): Change references of flag_pic to
2371         MACHOPIC_INDIRECT.
2372         (machopic_asm_out_destructor): Likewise.
2373         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
2374         reference of flag_pic to MACHOPIC_INDIRECT.
2375         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
2376         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
2377         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
2378         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
2379         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
2380         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
2381         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
2382         (TARGET_DYNAMIC_NO_PIC): Define.
2383         (SUBTARGET_SWITCHES): Define, have sub-target switches for
2384         dynamic-no-pic.
2385         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
2386         rs6000_override_options to here. Dynamic-no-pic overrides
2387         pic.
2388         (CC1_SPEC): Change from not static then pic to not static and not
2389         dynamic-no-pic then pic.
2390         * config/rs6000/rs6000.c (rs6000_override_options): Move the
2391         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
2392         (rs6000_legitimize_reload_address): Add case for loading floating in
2393         dynamic-no-pic.
2394         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
2395         of flag_pic to MACHOPIC_INDIRECT.
2396         (secondary_reload_class): Conditional change the reference of
2397         flag_pic to MACHOPIC_INDIRECT.
2398         (rs6000_output_mi_thunk): Change reference of flag_pic to
2399         MACHOPIC_INDIRECT.
2400         (output_profile_hook): Likewise.
2401         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
2402         * config/rs6000/rs6000.md (movdf_low): Add the case for
2403         MACHO_DYNAMIC_NO_PIC_P.
2404         (call): Change references for flag_pic in TARGET_MACHO to
2405         MACHOPIC_INDIRECT.
2406         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
2407         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
2408         * doc/invoke.texi (-mdynamic-no-pic): Document.
2409
2410 2003-03-10  Devang Patel  <dpatel@apple.com>
2411
2412         PR c++/9394
2413         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2414         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2415         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
2416         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
2417         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2418         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2419
2420 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2421
2422         PR optimization/7189
2423         * toplev.c (rest_of_compilation):  Move
2424         check_function_return_warnings up to just after
2425         delete_unreachable_blocks.
2426
2427 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2428
2429         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
2430         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
2431         Declare.
2432         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
2433         for reg rename optimization to avoid using Z and Y registers.
2434
2435 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2436
2437         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
2438         when adding to X and Y since leax/leay are fast.
2439         ("*addhi3"): Accept 'I' constraint when adding to address register.
2440         ("rotlhi3"): Operand 1 must be a register_operand.
2441         (peephole2): New peephole to optimize some adds.
2442         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
2443         to represent -2 .. 2 small integer range.
2444
2445 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2446
2447         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
2448         each 16-bit rotation.
2449
2450 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
2451
2452         * c-opts.c (add_prefixed_path): Don't use concat.  When
2453         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
2454         cpp_GCC_INCLUDE_DIR_len characters.
2455
2456 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
2457
2458         * testsuite/gcc.dg/altivec-9.c: New file.
2459
2460         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
2461         (rs6000_emit_prologue): Use rs6000_frame_related instead.
2462
2463 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2464
2465         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
2466         vectors.
2467         (__ev_convert_u64): Remove macro.  Define as inline.
2468         (__ev_convert_s64): Same.
2469
2470 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2471
2472         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
2473         (rs6000_stack_t): Add spe_64bit_regs_used.
2474
2475         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
2476         spe_64bit_regs_used, and use it to determine the size of the
2477         frame.
2478         (spe_func_has_64bit_regs_p): New.
2479         (spe_synthesize_frame_save): New.
2480         (rs6000_frame_related): Handle SPE synthetic registers.
2481         (rs6000_emit_prologue): Only save in 64-bits if the function used
2482         any registers in 64-bit mode.
2483         (rs6000_emit_epilogue): Same, but for restore.
2484
2485 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2486
2487         * arm.h (enum floating_point_type): Delete.  Replace with...
2488         (enum fputype): ... new.
2489         (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
2490         * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
2491         * arm.md (attr fpu): Reworked for new underlying enum values.
2492         * arm.c (arm_fpu_arch): Now enum fputype.
2493         (arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
2494         (arm_override_options, arm_output_epilogue, arm_expand_prologue):
2495         Update uses of arm_fpu_arch and arm_fpu_tune.
2496
2497 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
2498
2499         * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
2500         (try_crossjump_to_edge): Replace refereces to one jump table by
2501         references to identical jump table.
2502         * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
2503         (replace_label): Moved to rtlanal.c.
2504         (struct rtx_pair): Moved to rtl.h.
2505         * rtl.h (struct rtx_pair): Moved from loop.c.
2506         (replace_label): New extern function.
2507         (subrtx_p): New extern function.
2508         (tablejump_p): New extern function.
2509         * rtlanal.c (replace_label): Moved from loop.c.
2510         (subrtx_p_1): New static function.
2511         (subrtx_p): New function.
2512         (tablejump_p): New function.
2513
2514 2003-03-10  Jan Hubicka  <jh@suse.cz>
2515
2516         * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
2517
2518         * cfgcleanup.c (merge_blocks): Return where to iterate next.
2519         (try_optimize_cfg): Use return value of merge_blocks
2520
2521 2003-03-10  Michael Matz  <matz@suse.de>
2522
2523         * cfg.c (unchecked_make_edge): New.
2524         (cached_make_edge): Use it.
2525         * basic-block.h (unchecked_make_edge): Declare.
2526         * cfglayout.c (cfg_layout_duplicate_bb): Use it.
2527
2528 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2529
2530         * fpa.md: New file.  Move all patterns relating to FPA co-processor
2531         to here...
2532         * arm.md: ... from here.
2533         (cirrus.md, fpa.md): Include at end of description.
2534         (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
2535         (pic_load_addr_based): Remove register constraint from expander.
2536         (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
2537         (sordered, sungt, sunle, sunge, sunlt): Likewise.
2538         (eh_epilogue, tablejump): Likewise.
2539
2540 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
2541             Mostafa Hagog
2542
2543         * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
2544         condition.
2545
2546 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
2547
2548         * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
2549         * config/ip2k/ip2k.h: Similarly.
2550         * config/m32r/m32r.h: Similarly.
2551         * config/m68hc11/m68hc11.h: Similarly.
2552         * config/mn10200/mn10200.h: Similarly.
2553         * config/mn10300/mn10300.h: Similarly.
2554         * config/pdp11/pdp11.h: Similarly.
2555         * config/v850/v850.h: Similarly.
2556         * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
2557         * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
2558         * config/mips/iris3.h: Remove #if 0 block.
2559
2560 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2561             Joern Rennecke <joern.rennecke@superh.com>
2562
2563         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2564         pending argument upon return from handle_braces here.
2565         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2566
2567 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2568             Joern Rennecke <joern.rennecke@superh.com>
2569
2570         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2571         pending argument upon return from handle_braces here.
2572         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2573
2574 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2575
2576         * varasm.c (make_decl_one_only): Use declare_weak().
2577
2578 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2579
2580         PR middle-end/9986
2581         * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
2582         after the common builtins.
2583         * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
2584         * pa.c (TARGET_INIT_BUILTINS): Define.
2585         (pa_init_builtins): New function.
2586
2587         * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
2588         space has been allocated for the outgoing arguments, set the arg
2589         pointer for a call emitted after virtuals have been instantiated
2590         using the stack pointer offset, otherwise abort.
2591
2592 2003-03-09  DJ Delorie  <dj@redhat.com>
2593
2594         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
2595
2596 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
2597
2598         * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
2599         (arm_fix_truncdfsi2): Add missing fix in floating point mode before
2600         conversion to integer.
2601         * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
2602
2603 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2604
2605         * builtins.def: Fix typo and improve grammar.
2606         * loop-unroll.c (decide_peel_completely): Tidy log message.
2607
2608 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
2609
2610         * config/h8300/h8300.md (*tstsi_upper_bit): New.
2611         (*iorsi3_e2f): Likewise.
2612
2613 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
2614
2615         * config/h8300/h8300.c (h8300_and_costs): Return the number of
2616         assembly instructions needed.
2617         (h8300_shift_costs): Likewise.
2618
2619 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
2620
2621         * config/cris/aout.h (ENDFILE_SPEC): Undef.
2622
2623         * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
2624         moves from here ...
2625         * expr.c (emit_move_insn_1): ... to here.
2626
2627         * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
2628         (TARGET_OS_CPP_BUILTINS): New macro.
2629         * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
2630         (TARGET_OS_CPP_BUILTINS): New macro.
2631         (CPP_PREDEFINES): Don't define.  Move old definitions and...
2632         (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
2633         (TARGET_CPU_CPP_BUILTINS): New macro.
2634         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
2635         definitions and the optional __PIC__, __pic__ and
2636         __NO_UNDERSCORES__ definitions to...
2637         (TARGET_OS_CPP_BUILTINS): New macro.
2638
2639         * flags.h (flag_leading_underscore): Declare.
2640
2641         * c-opts.c (c_common_post_options): On fopen failure, return
2642         false, not NULL.
2643
2644 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2645
2646         * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
2647         config.h.
2648         * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
2649         * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
2650
2651 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2652
2653         * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
2654         CPP_PREDEFINES.
2655         * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
2656         CPP_PREDEFINES.
2657
2658 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2659
2660         * c-common.h (c_common_init, c_common_post_options): Update.
2661         * c-objc-common.c (c_objc_common_init): Update for new prototype.
2662         * c-opts.c (saved_lineno): New.
2663         (c_common_post_options, c_common_init): Update prototypes,
2664         move call to cpp_read_main_file from latter to former.
2665         * c-tree.h (c_ojbc_common_init): Update.
2666         * langhooks-def.h (lhd_post_options): New.
2667         (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
2668         * langhooks.c (lhd_post_options): New.
2669         * langhooks.h (struct lang_hooks): Update post_options and init hooks.
2670         * toplev.c (no_backend): New.
2671         (process_options): Call post_options hook and set main_input_filename
2672         and input_filename here.
2673         (lang_dependent_init, do_compile): post_options hook moved to
2674         process_options.
2675         * objc/objc-act.c (objc_init): Update prototype.
2676         * objc/objc-act.h (objc_init): Update prototype.
2677
2678 2003-03-08  Roger Sayle  <roger@eyesopen.com>
2679
2680         * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
2681         a complex or vector type, using a load in the original mode.
2682
2683 2003-03-08  Jan Hubicka  <jh@suse.cz>
2684
2685         * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
2686         * gt-cgraph.h: New GC file.
2687         * cgraph.c (known_fns): New static variable.
2688         (cgraph_node): Add the decl into varray.
2689
2690 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2691
2692         * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
2693
2694 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
2695
2696         * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
2697         (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
2698         (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
2699         (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
2700         All callers changed.
2701         * arm.md, arm.h, arm-protos.h: Updated.
2702
2703         * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
2704         (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
2705         * arm.c (arm_regno_class, f_register_operand): Updated.
2706
2707 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2708
2709         * config/cris/cris.h: Remove EGCS references.
2710         (CPP_SPEC): Remove "-$".
2711         (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
2712
2713 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2714
2715         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
2716         preference to CPP_PREDEFINES.
2717
2718 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2719
2720         * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
2721
2722 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
2723
2724         * config/h8300/h8300.md (*extzv_16_8): New.
2725
2726 2003-03-08  Jan Hubicka  <jh@suse.cz>
2727
2728         * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
2729         * cgraph.h: (cgraph_local_info): Add can_inline_once
2730         (cgraph_global_info): Add inline_once.
2731         (cgraph_node): Add previous.
2732         (cgraph_remove_node): New.
2733         * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
2734         function.
2735         (cgraph_optimize): Call it.
2736         (cgraph_finalize_function):  Set inlinable flags.
2737         (cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
2738         (cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
2739         (cgraph_expand_function): Likewise.
2740         * cgraph.c
2741         (cgraph_node): Put nodes into doubly linked chain.
2742         (cgraph_remove_node): New function.
2743         * flags.h (flag_inline_functions_called_once): Declare.
2744         * tree-inline.c: Include cgraph.h
2745         (inlinable_functions_p): Add extra argument to bypass limits.
2746         (expand_call_inline):  Obey cgraph flag.
2747         * tree-inline.h (tree_inlinable_function_p): Update prototype.
2748
2749 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2750
2751         * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
2752         irreducible loops.
2753
2754         * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
2755         loops info correctly.
2756
2757 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2758
2759         PR middle-end/7796
2760         * unroll.c (calculate_giv_inc): Handle constants being
2761         loaded with LSHIFTRT.
2762
2763 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
2764
2765         * config/rs6000/rs6000.c (processor_target_table): Do not disable
2766         GP optional instructions on Power3, Power4, 620, and 630.
2767
2768 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
2769
2770         * calls.c: Fix comment formatting.
2771         * cfgloopanal.c: Likewise.
2772         * cfgloopmanip.c: Likewise.
2773         * combine.c: Likewise.
2774         * dwarf2out.c: Likewise.
2775         * ggc-common.c: Likewise.
2776         * langhooks.c: Likewise.
2777         * loop-unroll.c: Likewise.
2778         * loop.c: Likewise.
2779         * ra-build.c: Likewise.
2780         * sbitmap.c: Likewise.
2781         * toplev.c: Likewise.
2782
2783 2003-03-07  James E Wilson  <wilson@tuliptree.org>
2784
2785         * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
2786
2787 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
2788
2789         * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
2790         support -no-integrated-cpp.
2791
2792         * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
2793         than langhooks.name.
2794
2795 2003-03-07  Michael Matz  <matz@suse.de>
2796
2797         * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
2798         (DF_FOR_REGALLOC): New.
2799         * df.c (df_ref_record): Set DF_REF_STRIPPED.
2800         (read_modify_subreg_p): Simplify.
2801         (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
2802         Use DF_FOR_REGALLOC.
2803         * ra.h (struct web): New member subreg_stripped.
2804         (invalid_mode_change_regs): Declare.
2805         * ra.c (invalid_mode_change_regs): New.
2806         (init_ra): Initialize it.
2807         * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
2808         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
2809         (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
2810         * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
2811         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
2812
2813 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
2814
2815         * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
2816         (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
2817         (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
2818         machine description file from ...
2819         * cirrus.md: ... here.
2820
2821 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2822
2823         * config/h8300/h8300.md (a peephole2): Don't use
2824         reg_overlap_mentioned_p.
2825
2826 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
2827
2828         * c-pch.c: Include langhooks.h.
2829         (IDENT_LENGTH): New.
2830         (get_ident): New.
2831         (pch_ident): Delete.
2832         (pch_init): Use get_ident, IDENT_LENGTH.
2833         (c_common_valid_pch): Likewise.  Also, use actual language
2834         in warning message.
2835         * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
2836
2837         * objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
2838         c-parse.in.
2839         * objc/Make-lang.in (objc/objc-act.o): Add dependency on
2840         gt-objc-objc-act.h.
2841         (gt-objc-objc-act.h): New rule.
2842         * objc/lang-specs.h: Support PCH.
2843         * objc/objc-act.c: Include gt-objc-objc-act.h.
2844         (objc_add_static_instance): Move num_static_inst out, mark for PCH.
2845         (build_selector_reference_decl): Move idx out, mark for PCH.
2846         (build_class_reference_decl): Likewise.
2847         (build_objc_string_decl): Move *_idx out, mark for PCH.
2848         (build_tmp_function_decl): Move xxx out, mark for PCH.
2849
2850 2003-03-06  Dale Johannesen  <dalej@apple.com>
2851
2852         * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
2853         global functions for inlining on Darwin.
2854
2855 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
2856
2857         * haifa-sched.c (schedule_block): Don't call reorder when sorting
2858         is prohibited.
2859
2860 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
2861
2862         * Makefile.in (c-ppoutput.o): Update.
2863         * c-common.h (init_pp_output): New.
2864         (preprocess_file): Update.
2865         * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
2866         Register builtins.
2867         * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
2868         Make call to cpp_read_main_file common to whether preprocessing
2869         or not.  Don't register builtins.
2870         * c-ppoutput.c: Include c-pragma.h.
2871         (setup_callbacks): Rename init_pp_output.
2872         (preprocess_file): No longer setup callbacks or call
2873         cpp_read_main_file.
2874         * cpphash.h (_cpp_init_mbchar): New.
2875         * cppinit.c (init_library): Call _cpp_init_mbchar.
2876         * cpplex.c (_cpp_init_mbchar): New.
2877
2878 2003-03-06  Roger Sayle  <roger@eyesopen.com>
2879
2880         * emit-rtl.c (gen_lowpart): When requesting the low-part of a
2881         MEM, try loading the MEM into a register and taking the low-part
2882         of that, to help CSE see the use of the MEM in its true mode.
2883
2884 2003-03-05  Tom Tromey  <tromey@redhat.com>
2885
2886         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
2887         Define.
2888
2889 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
2890
2891         * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
2892         operand 2.
2893         ("*ineqbranchsi"): Likewise.
2894
2895 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
2896
2897         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
2898         mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
2899         register store followed by a stack increment.
2900
2901 2003-03-05  Chris Moller  <cmoller@redhat.com>
2902
2903         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
2904         to inhibit saving CARRY_REGS.
2905
2906         * config/stormy16/stormy16.c (xs_hi_general_operand):
2907         added predicate to detect and error-out on out-of-range
2908         const_ints for movhi.
2909         * config/stormy16/stormy16.md (movhi): use
2910         xs_hi_general_operand.
2911
2912         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
2913         added a check for local vbl size overflow.
2914         * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
2915         added predicate to detect and error-out on out-of-range
2916         const_ints for addhi and subhi.
2917         * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
2918         subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
2919
2920         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
2921         add a term to accept PRE_MODIFY addresses.
2922         * config/stormy16/stormy16.c (xstormy16_expand_move):
2923         add code to expand PRE_MODIFY addresses to an add followed
2924         by a move.
2925
2926 2003-03-06  Jason Merrill  <jason@redhat.com>
2927
2928         * tree-inline.c (inlinable_function_p): Revert earlier change
2929         pending investigation.
2930
2931 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2932
2933         * config/h8300/h8300.md (a new peephole2): New.
2934
2935 2003-03-06  Jan Hubicka  <jh@suse.cz>
2936
2937         * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
2938
2939 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2940
2941         * dwarf2out.c (size_of_die): Compute size of external reference to
2942         die correctly.
2943
2944 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
2945
2946         * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
2947         ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
2948         expanders.
2949
2950 2003-03-05  Roger Sayle  <roger@eyesopen.com>
2951
2952         * expr.h (lang_expand_expr): Delete obsolete prototype.
2953
2954 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2955
2956         * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
2957
2958 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2959
2960         * config/h8300/h8300.md (a peephole2): Generalize to
2961         accept a memory operand.
2962
2963 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
2964
2965         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
2966         * config/alpha/alpha.c (print_operand, case '+'): New.
2967         * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
2968         (call_value_osf_1_noreturn): Likewise.
2969
2970 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2971
2972         * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
2973         (expand_end_bindings): Likewise.
2974
2975 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2976
2977         * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
2978         (epilogue): Don't generate return_external_pic when emitting PA 2.0
2979         code.
2980
2981 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
2982
2983         * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
2984
2985         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
2986
2987         * hooks.c (hook_rtx_rtx_null): New.
2988
2989         * hooks.h (hook_rtx_rtx_null): Protoize.
2990
2991         * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
2992         (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
2993
2994         * target.h (struct gcc_target): Add dwarf_register_span.
2995
2996         * dwarf2out.c (multiple_reg_loc_descriptor): New.
2997         (one_reg_loc_descriptor): New.
2998         (reg_loc_descriptor): Add support for values that span more than
2999         one register.
3000
3001 2003-03-05  Jan Hubicka  <jh@suse.cz>
3002
3003         * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
3004         * alias.c:  Include cgraph.h
3005         (mark_constant_function): Use cgraph_rtl_info.
3006         * calls.c:  Include cgraph.h
3007         (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
3008         calls.
3009         (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
3010         * cgraph.c (cgraph_rtl_info): New function.
3011         * cgraph.h (cgraph_rtl_info): Declare
3012         (cgraph_rtl_info): Likewise.
3013         * function.h (struct function): Add recursive_call_emit.
3014         * toplev.c: Include cgraph.h.
3015         (rest_of_compilation): Set preferred_incoming_stack_boundary.
3016
3017 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
3018
3019         * config/h8300/h8300.c (output_simode_bld): Clear the
3020         destination first if possible.
3021         * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
3022         alternative.
3023         (extzv_1_r_inv_h8300hs): Likewise.
3024
3025 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3026
3027         * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
3028         * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
3029         * cfgloop.c (flow_loop_free): Made global.
3030         (establish_preds): New static function.
3031         (flow_loop_tree_node_add): Handle subloops of added loop correctly.
3032         (get_loop_exit_edges): New.
3033         (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
3034         * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
3035         * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
3036         loops.
3037         * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
3038         removability of an edge.
3039         (fix_irreducible_loops): New static function.
3040         (find_path, remove_path): Add ability to remove enclosing loops.
3041         (unloop): New.
3042         (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
3043         flags.
3044         * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
3045         * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
3046         not neccessary.
3047         (decide_peel_completely, peel_loops_completely): Allow complete peeling
3048         of non-duplicable once rolling loops.
3049         * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
3050
3051 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
3052
3053         * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
3054         for align_jumps is 4.
3055
3056         (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
3057         use GENERAL_REGS.
3058
3059 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
3060
3061         * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
3062         according to va_arg type.
3063         (EXPAND_BUILTIN_VA_ARG): Remove.
3064         * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
3065         * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
3066
3067 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
3068
3069         * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
3070         else clauses.
3071
3072 2003-03-05  Michael Matz  <matz@suse.de>
3073
3074         * i386/i386.c (ix86_save_reg): Also test
3075         current_function_uses_const_pool.
3076
3077 2003-03-05  Michael Matz  <matz@suse.de>
3078
3079         * unwind.h: Add the GPL exception.
3080         * Makefile.in (USER_H): Add unwind.h.
3081
3082 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
3083
3084         PR c/9799
3085         * c-typeck.c (push_init_level): Add sanity check.
3086
3087 2003-03-05  Jan Hubicka  <jh@suse.cz>
3088
3089         * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
3090         RTL inlining is done.
3091
3092         * cgraphunit.c (cgraph_mark_local_functions): New local function.
3093         (cgraph_optimize): Mark local functions.
3094         * i386-protos.h (init_cumulative_args): Update prototype.
3095         * i386.c (init_cumulative_args): Use register passing convention for
3096         local functions.
3097
3098         * cgraph.c (cgraph_global_info_ready): New global variable
3099         (cgraph_local_info, cgraph_global_info): New functions.
3100         * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
3101         structures.
3102         (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
3103         Declare.
3104         * cgraphunit.c (cgraph_finalize_function): Set inline_many.
3105         (cgraph_mark_functions_to_output): Use inline_many.
3106         (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
3107         (cgraph_expand_functions): Expand inline functions last.
3108         (cgraph_optimize): Do not emit uneeded functions.
3109
3110 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3111
3112         * expr.c (convert_modes): Check for legal hard register.
3113
3114 2003-03-04  Tom Tromey  <tromey@redhat.com>
3115
3116         * doc/sourcebuild.texi (Front End Directory): Document tags.
3117         * configure: Rebuilt.
3118         * configure.in (target_list): Added tags.
3119         * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
3120         TAGS files by reference.
3121         * objc/Make-lang.in (objc.tags): New target.
3122
3123 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3124
3125         * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
3126         gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
3127         gcov_write_string, gcov_read_unsigned, gcov_read_counter,
3128         gcov_read_string, gcov_write_length): Modified to enable reading/
3129         writing of whole .da file just once.
3130         (da_file_open, da_file_close, da_file_eof, da_file_error,
3131         da_file_position, da_file_seek, da_file_write, da_file_read): New
3132         functions.
3133         (actual_da_file, actual_da_file_position, actual_da_file_length,
3134         actual_da_file_buffer, actual_da_file_buffer_size): New static
3135         functions.
3136         * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
3137         just once.
3138
3139
3140 2003-03-04  Andreas Schwab  <schwab@suse.de>
3141
3142         * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
3143         offset without frame pointer.
3144
3145 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3146
3147         * expr.c (expand_expr): Call promote_mode to set unsignedp.
3148
3149 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
3150
3151         * configure.in: Don't always define TARGET_SYSTEM_ROOT.
3152         * configure: Regenerated.
3153         * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
3154
3155 2003-03-04  Andreas Jaeger  <aj@suse.de>
3156
3157         * configure.in: Check for <memcheck.h>.
3158         * configure: Regenerated.
3159
3160         * config.in: Define HAVE_MEMCHECK_H.
3161
3162         * ggc-common.c: Use <memcheck.h> if available instead of
3163         <valgrind.h>.
3164         * ggc-page.c: Likewise.
3165         * cppfiles.c: Likewise.
3166
3167 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
3168
3169         * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
3170
3171 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3172
3173         PR c/9262
3174         * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
3175         (c_finish_case): Rechain the next statements to the SWITCH_STMT.
3176
3177 2003-03-04  Jan Hubicka  <jh@suse.cz>
3178
3179         * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
3180         * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
3181         for -O3.
3182
3183 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3184
3185         * configure.in: Delete three unused variables.  Move a variable
3186         definition closer to its use.  Simplify use_collect2 logic.  Start to
3187         organize.  Simplify tests for in-tree gas and ld.
3188         * configure: Regenerate.
3189
3190 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
3191
3192         * Makefile.in: Update.
3193         * c-common.c (flag_no_line_commands, flag_no_output,
3194         flag_dump_macros, flag_dump_includes): New.
3195         * c-common.h (flag_no_line_commands, flag_no_output,
3196         flag_dump_macros, flag_dump_includes, preprocess_file): New.
3197         (init_c_lex): Update prototype.
3198         * c-lex.c (init_c_lex): Update prototype; move some code to
3199         c_common_init.
3200         * c-opts.c (preprocess_file): Subsume into c_common_init.
3201         (c_common_decode_option): Update flags.
3202         (c_common_init): Move code from preprocess_file and init_c_lex.
3203         (sanitize_cpp_opts): Update.
3204         * c-ppoutput.c: New, cppmain.c almost verbatim.
3205         * cpphash.h (struct printer): Remove.
3206         (struct cpp_reader): Remove print.
3207         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
3208         cpp_preprocess_file): Remove.
3209         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
3210         and dump_includes.
3211         * cppmain.c: Remove.
3212         * doc/passes.texi: Update.
3213
3214 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3215
3216         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
3217         (assign_stack_local_1): Perform overall stack alignment only when
3218         STACK_ALIGNMENT_NEEDED is non-zero.
3219         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
3220
3221         * pa.c (compute_frame_size): Rename fsize to size.  Account for
3222         alignment to a word boundary before general register save block.  Only
3223         account for double-word alignment before floating point register save
3224         block if one or more are saved.  Don't allocate space for %r3 when
3225         frame pointer is needed.
3226         (hppa_expand_prologue): Include alignment to word boundary in local
3227         frame size.
3228         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
3229         (STACK_ALIGNMENT_NEEDED): Define.
3230
3231 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
3232
3233         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
3234         global register variables.
3235
3236 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
3237
3238         * reload.c (reload_adjust_reg_for_mode): New function.
3239         (subst_reloads): Call it.
3240         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
3241         * reload.h (reload_adjust_reg_for_mode): Declare.
3242         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
3243         Call it.
3244
3245 2003-03-03  James E Wilson  <wilson@tuliptree.org>
3246
3247         * optabs.c (add_equal_note): Delete SUBREG_REG use.
3248         Fixes PR c/7872.
3249
3250 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3251
3252         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
3253         (*ixorsi3_lshiftrt_16): New.
3254         (*iorsi3_ashift_16): Remove.
3255
3256 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3257
3258         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
3259         pattern.
3260
3261 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
3262
3263         * doc/install.texi (Specific): Update entry for powerpc-darwin.
3264
3265 2003-03-03  Richard Henderson  <rth@redhat.com>
3266
3267         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
3268
3269 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
3270
3271         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
3272         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
3273         (rs6000_variable_issue): Do not return negative value.
3274         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
3275         scheduling pass.
3276
3277 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3278
3279         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
3280         prune_unused_types calls.
3281
3282 2003-03-03  Jason Merrill  <jason@redhat.com>
3283
3284         * tree-inline.c (find_builtin_longjmp_call): Save and restore
3285         lineno and input_filename.
3286         (find_alloca_call): Likewise.
3287         (inlinable_function_p): Run the langhook earlier.
3288
3289         * calls.c (compute_argument_addresses): Give the new MEMs a
3290         minimum alignment of PARM_BOUNDARY.
3291
3292 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
3293
3294         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
3295         subtarget_asm_isa_spec.
3296         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
3297         (ASM_SPEC): Define as SH_ASM_SPEC.
3298         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
3299         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
3300         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
3301         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
3302
3303         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
3304         and align_jumps if not set.
3305         Force align_jumps to be at least 2.
3306         When relaxing, force align_functions to be at least the maximum of
3307         align_loops, align_jumps and 4.
3308         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
3309         (sh_loop_align): Honour align_loops_log.
3310
3311         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
3312         to check for indirect_jump_scratch.
3313         (indirect_jump_scratch): Add second set.
3314         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
3315         when looking for indirect_jump_scratch.
3316         Extract scratch register taking new structure of indirect_jump_scratch
3317         into account.
3318         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
3319
3320 2003-03-03  Jan Hubicka  <jh@suse.cz>
3321
3322         * calls.c (rtx_for_function_call): Take the address as an argument
3323         (expand_call): Do not modify the expression.
3324
3325         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
3326         optimizing.
3327
3328 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3329
3330         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
3331         TARGET_H8300H and TARGET_H8300S.
3332
3333 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3334
3335         * config/h8300/h8300.md (a peephole2): New.
3336
3337 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3338
3339         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
3340         operands[0] and operands[1] are different.
3341
3342 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3343
3344         * reload1.c (reload_cse_move2add): Remove variable success.
3345
3346 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3347
3348         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
3349         warnings.
3350
3351 2003-03-02  Richard Henderson  <rth@redhat.com>
3352
3353         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
3354         * config.in, configure: Rebuild.
3355         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
3356         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
3357         paired ldtoffx and ldxmov annotations.
3358         (load_symptr_internal1): Remove.
3359         (load_symptr_high, load_symptr_low): New.
3360
3361 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3362
3363         * c-incpath.c (add_path): Fix sysp assignment.
3364
3365 2003-03-02  Kurt Garloff  <garloff@suse.de>
3366
3367         * params.def: Introduce parameter max-inline-insns-rtl for
3368         a separate limit for the RTL inliner.
3369         * params.h: Likewise.
3370         * integrate.c (function_cannot_inline_p): Use it.
3371         * toplev.c (decode_f_option): Set multiple parameters
3372         controlling inlining with -finline-limit.
3373         * params.def: Fix orthographic and typographic errors.
3374         * doc/invoke.texi: Document parameters controlling inlining
3375         and the way -finline-limit sets multiple of them.
3376
3377         * tree.h (struct tree_decl): Introduce inlined_function_flag,
3378         recording whether the function became eligible for inlining
3379         by a compiler flag rather than the declaration.
3380         Provide DID_INLINE_FUNC macro to access it.
3381         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
3382         * cp/decl.c (grokfndecl): Likewise.
3383         * toplev.c (rest_of_compilation): Likewise.
3384         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
3385         * print-tree.c (print_node): Report it.
3386         * params.def: Introduce new max-inline-insns-auto limit.
3387         * params.h: Likewise.
3388         * tree-inline.c (inlinable_function_p): Apply it to functions
3389         with DID_INLINE_FUNC set.
3390         * toplev.c (decode_f_option): Initialize it from -finline-limit
3391         value.
3392         * doc/invoke.texi: Document new parameter.
3393
3394 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
3395
3396         * fix-header.c (read_scan_file): Don't reference simplify_path.
3397
3398 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3399
3400         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
3401         min/max instructions by default as may result in reload errors.
3402
3403 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3404
3405         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
3406         avoid reload problems; define split for it.
3407
3408 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3409
3410         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
3411         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
3412         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
3413         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
3414         rotatert and rotate.
3415         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
3416         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
3417         ("*rotrhi3_addr"): New split for shift insns on address register.
3418         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
3419         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
3420         (___rotrhi3): Likewise.
3421         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
3422
3423 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3424
3425         * toplev.c (aux_base_name): Moved from toplev.h.
3426         (filename): Constify.
3427         (lang_dependent_init): Don't duplicate name.
3428         (process_options): Set aux_base_name here, not...
3429         (do_compile): ...here.  Change protoype.
3430         (toplev_main): Move some code from do_compile.
3431         * toplev.h: Remove aux_base_name.
3432
3433 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3434
3435         * config/h8300/h8300-protos.h: Add a prototype for
3436         iorxor_operator.
3437         * config/h8300/h8300.c (print_operand): Handle 'c'.
3438         (iorxor_operator): New.
3439         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
3440         * config/h8300/h8300.md (*iorhi3_zext): Remove.
3441         (*iorsi3_zexthi): Likewise.
3442         (*iorsi3_zextsi): Likewise.
3443         (*xorhi3_zextqi): Likewise.
3444         (*xorsi3_zexthi): Likewise.
3445         (*xorsi3_zextsi): Likewise.
3446         (*ixorhi3_zext): New.
3447         (*ixorsi3_zext_qi): Likewise.
3448         (*ixorsi3_zext_hi): Likewise.
3449
3450 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3451
3452         * c-incpath.c (remove_component_p, simplify_path): Move back to
3453         cppfiles.c.
3454         (remove_duplicates): Use cpp_simplify_path.
3455         * c-incpath.h (simplify_path): Remove.
3456         * c-lex.c: Don't include c-incpath.h.
3457         (init_c_lex): Remove simplify_path.
3458         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
3459         (find_or_create_entry, validate_pch): Revert.
3460
3461 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
3462
3463         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
3464           an external cpp during compilation.
3465         (option_map): Likewise.
3466         * objc/lang-specs.h (default_compilers): Similarly.
3467         * doc/invoke.texi: Document -no-integrated-cpp flag.
3468
3469 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3470
3471         * config/h8300/h8300.md (zero_extendqisi2): Change to an
3472         expander.
3473         (*zero_extendqisi2_h8300): New.
3474         (*zero_extendqisi2_h8300hs): New.
3475         (two splitters): New.
3476
3477 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3478
3479         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
3480
3481 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3482
3483         * config/h8300/h8300.md (a peephole2): Remove dead code.
3484
3485 2003-03-01  Roger Sayle  <roger@eyesopen.com>
3486
3487         PR c++/9367
3488         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
3489         (BT_FN_INT_CONST_STRING_VALIST_ARG,
3490         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
3491         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,