OSDN Git Service

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