003-02-18 Nick Clifton <nickc@redhat.com>
[platform/upstream/gcc.git] / gcc / ChangeLog
1 003-02-18  Nick Clifton  <nickc@redhat.com>
2             Aldy Hernandez  <aldyh@redhat.com>
3
4         * testsuite/gcc.dg/20030218-1.c: New.
5
6         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
7
8         * target-def.h (TARGET_INITIALIZER): Add
9         TARGET_VECTOR_TYPES_COMPATIBLE.
10         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
11
12         * target.h (struct gcc_target): Add field vector_types_compatible.
13
14         * c-typeck.c (comptypes): Take into account
15         TARGET_VECTOR_TYPES_COMPATIBLE.
16         (convert_for_assignment): Same.
17         (really_start_incremental_init): Disallow initialization of
18         ev64_opaque types.
19
20         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
21         (rs6000_spe_vector_types_compatible): New.
22         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
23
24 2003-02-19  Andreas Schwab  <schwab@suse.de>
25
26         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
27         * toplev.c: Include langhooks-def.h.
28
29 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
30
31         * config/mips/mips.h (enum processor_type): Sort entries
32         alphabetically.
33         * config/mips/mips.md (define_attr cpu): Sync with processor_type
34         enum values, including adding entries that were missing.
35
36 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
37
38         * sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
39         for PR_REG is still the PR_REG register.
40
41 2003-02-18  Jim Wilson  <wilson@redhat.com>
42
43         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
44         instruction in output template.
45         (bsp_value): Change output template from string to C code, add %,
46         before actual instruction.
47         (flushrs): Mark as not predicable.
48
49 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
50
51         * inclhack.def (netbsd_bogus_semicolon): New fix.
52         * fixincl.x: Rebuilt.
53         * tests/base/ctype.h: Update.
54
55 2003-02-18  Roger Sayle  <roger@eyesopen.com>
56
57         * fold-const.c (negate_expr_p): New function to determine whether
58         an expression can be negated cheaply.
59         (fold) [MINUS_EXPR]: Use it to determine whether to transform
60         -A - B into -B - A for floating point types.
61
62 2003-02-18  Roger Sayle  <roger@eyesopen.com>
63
64         * sbitmap.c (sbitmap_resize): New function.
65         * sbitmap.h (sbitmap_resize): Prototype here.
66         * recog.c (split_all_insns): Use sbitmap_resize.
67
68 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
69
70         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
71         insn length.
72         (extendqisi2): Likewise.
73         (*extendhisi2_h8300): Likewise.
74
75 2003-02-18  Matt Austern <austern@apple.com>
76         
77         * langhooks.h, langhooks-def.h: introduce new langhook,
78         final_write_globals, with write_global_declarations as default.
79         * toplev.c: Move invocation of wrapup_global_declarations from
80         compile_file to new function, write_global_declarations.  Change
81         compile_file to use final_write_globals hook.  Change
82         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
83         conditional. 
84         
85 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
86
87         * pa.md: Correct and enhance comment.
88
89 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
90
91         * gcc.c (validate_switches): Don't scan past closing '}'.
92
93 2003-02-18  Ben Elliston  <bje@redhat.com>
94
95         PR c++/1607
96         * doc/extend.texi (Function Attributes): Document the effect of
97         the C++ "this" parameter on the counting of arguments for the
98         "format" and "format_arg" attributes.
99
100 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
101
102         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
103         (__ev_stdw): Same.
104         (__ev_stdh): Same.
105
106 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
107
108         * recog.c (split_all_insns):  Fix memory overflow.
109
110 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
111
112         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
113         (cmphi): Likewise.
114         (*cmphi_h8300): Likewise.
115         (*cmphi_h8300hs): Likewise.
116         (cmpsi): Likewise.
117         (7 peephole2): Likewise.
118
119 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
120
121         * c-typeck.c (build_c_cast):  Fold constant variables into
122         initial values.
123
124 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
125
126         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
127         (Binaries): Ditto for Sinix/Reliant Unix.
128
129 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
130
131         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
132         not overlap the final result register.
133
134 2003-02-16 Arend Bayer <arend.bayer@web.de>
135            Richard Henderson  <rth@redhat.com>
136
137         PR c/8068
138         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
139         rearrange mult arguments for less recursion.
140         (extract_muldiv): New.  Prevent runaway recursion.
141
142 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
143
144         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
145         MASK_ALIGN_DOUBLE.
146
147 2003-02-15  Roger Sayle  <roger@eyesopen.com>
148
149         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
150         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
151         (ext_80387_constants_table): Global table of 80387 special constants
152         guarded by ext_80387_constants_init flag when not initialized.
153         (init_ext_80387_constants): New function to initialize this table.
154         (standard_80387_constant_p): Extend to recognize extra 80387
155         constants, in XFmode, on processors where this is a win.
156         (standard_80387_constant_opcode): New function to return the
157         opcode associated with standard_80387_constant_p.
158         (standard_80387_constant_rtx): New function to return the XFmode
159         CONST_DOUBLE associated with standard_80387_constant_p.
160         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
161
162         * config/i386/i386-protos.h (standard_80387_constant_opcode):
163         Prototype here.
164         (standard_80387_constant_rtx): Likewise.
165
166         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
167         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
168         *movtf_integer): Simplify using new standard_80387_constant_opcode.
169
170 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
171
172         * doc/invoke.texi (Optimize Options): Correct @option syntax.
173
174 2003-02-15  Richard Henderson  <rth@redhat.com>
175
176         * Makefile.in (cfglayout.o): Depend on TARGET_H.
177         * cfglayout.c: Include target.h.
178         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
179         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
180         * target.h (struct gcc_target): Add cannot_copy_insn_p.
181
182         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
183         (TARGET_CANNOT_COPY_INSN_P): New.
184         (override_options): Revert 2003-02-08 hack.
185
186 2003-02-15  Richard Henderson  <rth@redhat.com>
187
188         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
189         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
190
191 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
192
193         * config/rs6000/rs6000.h (processor_type): Add PPC440.
194         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
195         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
196         TARGET_SCHED_VARIABLE_ISSUE): Define.
197         (rs6000_use_dfa_pipeline_interface): New function.
198         (rs6000_multipass_dfa_lookahead): New Function.
199         (rs6000_variable_issue): New function.
200         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
201         (rs6000_issue_rate): Add PPC440.
202         * config/rs6000/rs6000.md (unspec list): Correct typo.
203         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
204         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
205         cmp, delayed_cr, mfcr, mtcr.
206         (automata_option): Set "ndfa".
207         (extendMMNN2): Update attributes.
208         (movcc_internal1): Discourage move to non-cr0.  Update
209         attributes.
210         (movMM_update): Update attributes.
211         (cmpMM_internal): Update attributes.
212         (sCC CR materialization): Update attributes.
213         (branch patterns): Do not discourage non-cr0.
214         (cr logical patterns): Prefer destructive register allocation.
215         Update attributes.
216         (movesi_from_cr): Update attribute.
217         (mtcrf_operation): Update attribute.
218         (mtcrfsi): Update attribute.
219         * config/rs6000/40x.md: New file.
220         * config/rs6000/603.md: New file.
221         * config/rs6000/6xx.md: New file.
222         * config/rs6000/7450.md: New file.
223         * config/rs6000/7xx.md: New file.
224         * config/rs6000/mpc.md: New file.
225         * config/rs6000/power4.md: New file.
226         * config/rs6000/rios1.md: New file.
227         * config/rs6000/rios2.md: New file.
228         * config/rs6000/rs64.md: New file.
229         [Some DFA descriptions based on work by Michael Hayes]
230
231 2003-02-15  Richard Henderson  <rth@redhat.com>
232
233         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
234         successors with multiple predecessors.
235         (connect_traces): Try harder to copy traces of length 1.
236
237         * function.h (struct function): Add computed_goto_common_label,
238         computed_goto_common_reg.
239         * function.c (free_after_compilation): Zap them.
240         * stmt.c (expand_computed_goto): Use them to produce one 
241         indirect branch per function.
242
243 2003-02-15  Richard Henderson  <rth@redhat.com>
244
245         * cfgcleanup.c: Include params.h.
246         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
247         too many outgoing edges from a block.
248         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
249         * params.def (max-crossjump-edges): New.
250         * doc/invoke.texi: Document it.
251
252 2003-02-15  Richard Henderson  <rth@redhat.com>
253
254         * recog.c (split_all_insns): Include new blocks in life update;
255         do a global life update.
256
257 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
258
259         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
260         Update copyright.
261         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
262         -mno-cygwin case.
263
264 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
265
266         PR optimization/7702
267         * reload1.c (reload_cse_simplify_set): Honor
268         CANNOT_CHANGE_MODE_CLASS.
269
270 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
271
272         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
273         function.
274         * config/mn10300/mn10300-protos.h: Declare it.
275         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
276         attribute cc of instructions that may use clr.
277
278 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
279
280         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
281         (x - (x & y)) is found.
282
283 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
284
285         * configure.in: Fix typo.
286         * configure: Regenerate.
287
288 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
289
290         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
291
292 2003-02-13  Adam Nemet  <anemet@lnxw.com>
293
294         PR opt/2391 
295         * combine.c: Fix spelling in comment.
296         (cached_nonzero_bits): New function.
297         (cached_num_sign_bit_copies): New function.
298         (nonzero_bits_with_known): New macro.
299         (num_sign_bit_copies_with_known): New macro.
300         (nonzero_bits1): Rename from nonzero_bits.  Add three new
301         arguments.  Change calls from nonzero_bits to
302         nonzero_bits_with_known.
303         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
304         three new arguments.  Change calls from num_sign_bit_copies to
305         num_sign_bit_copies_with_known.
306         (nonzero_bits): New macro.
307         (num_sign_bit_copies): New macro.
308         (update_table_tick): Don't traverse identical subexpression more
309         than once.
310         (get_last_value_validate): Likewise.
311
312 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
313
314         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
315         * function.h (struct emit_status): Length of regno_pointer_align
316         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
317         not regno_pointer_align_length (i.e. length actually used, not
318         length as allocated)
319
320         * config/i386/i386.c (struct stack_local_entry): New.
321         (struct machine_function): Replace huge array with alist.
322         (assign_386_stack_local): Change to match.
323
324 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
325
326         * inclhack.def (hpux_long_double): Tighten select and add bypass
327         regexp.
328         * fixincl.x: Rebuilt.
329
330 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
331
332         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
333         edge and block ends with a jump insn it must be simple jump.
334
335 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
336
337         * Makefile.in (PREPROCESSOR_DEFINES): Add
338         @TARGET_SYSTEM_ROOT_DEFINE@.
339         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
340         is specified or if building a cross compiler.
341         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
342         if the sysroot is under $exec_prefix.
343         * configure: Regenerated.
344         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
345         defined.
346         (struct default_include): Add add_sysroot field.
347         (cpp_SYSROOT): Declare.
348         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
349         field.
350         (cpp_SYSROOT): New variable.
351         * cppinit.c (cpp_create_reader): Initialize
352         CPP_OPTION (pfile, sysroot).
353         (init_standard_includes): Handle add_sysroot.  Do not
354         add unrelocated copies of relocated directories.
355         (COMMAND_LINE_OPTIONS): Add -isysroot.
356         (cpp_handle_option): Handle -isysroot.
357         * cpplib.h (struct cpp_options): Add sysroot member.
358         * gcc.c (The Specs Language): Update description of %I.
359         (target_system_root_changed): New variable.
360         (process_command): Conditionalize make_relative_prefix call
361         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
362         target_system_root_changed.
363         (do_spec_1): Add -isysroot to %I.
364         * doc/invoke.texi (Spec Files): Update description of %I.
365         * doc/install.texi (--with-sysroot): Update comment about
366         relocation.
367
368 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
369
370         * config/h8300/h8300.md (a peephole2): New.
371
372 2003-02-13  Robert Lipe <robertlipe@usa.net>
373             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
374
375         * doc/install.texi (Specific): Update three SCO-related URLs.
376
377 2003-02-13  Andreas Schwab  <schwab@suse.de>
378
379         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
380         Parenthesize properly.
381         (NPREDECESORS): Parenthesize properly.
382
383 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
384
385         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
386
387 2003-02-12  Roger Sayle  <roger@eyesopen.com>
388
389         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
390         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
391
392         * reg-stack.c (subst_stack_regs_pat): Add support for binary
393         UNSPEC instructions (e.g. "fpatan").
394
395 2003-02-12  Mike Stump  <mrs@apple.com>
396
397         * varray.c (element_size): Remove.
398         (uses_ggc): Remove.
399         (element): Add.
400         (varray_init): Use new interface.
401         (varray_grow): Use new interface.
402         (varray_clear): Use new interface.
403
404 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
405
406         * config/rs6000/spe.h: Add casts to the arguments of the following
407         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
408         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
409         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
410         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
411         __ev_get_u16, __ev_get_s16.
412
413 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
414
415         * config/h8300/h8300.md (a peephole2): New.
416
417 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
418
419         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
420         (OBJS): Add callgraph.o
421         (callgraph.o): New.
422         * c-decl.c (expand_body_1): Break out from ...
423         (expand_body): This one;  change calling convention
424         (finish_function): Move some of expand_body logic here.
425         (c_expand_deferred_function): Update call of expand_body
426         (c_expand_stmt): Use c_expand_body_1.
427         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
428         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
429         * c-tree.h (c_expand_body): Declare.
430         * callgraph.c: New file.
431         * flags.h (flag_unit_at_a_time): Declare.
432         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
433         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
434         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
435         * langhooks.h (struct lang_hooks_for_callgraph): New.
436         (struct lang_hooks): Add callgraph field.
437         * toplev.c (flag_unit_at_a_time): New.
438         (lang_independent_options): Add flag_unit_at_a_time.
439         (process_options): Disable unit-at-a-time mode for frontends not
440         supporting callgraph.
441         * tree-inline.c (typedef struct inline_data): Add "decl"
442         (expand_call_inline): Update callgraph.
443         (optimize_inline_calls): Set id.decl.
444         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
445         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
446         cgraph_calls_p): Declare.
447         * invoke.texi (-funit-at-a-time): Document
448
449 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
450
451         * config/rs6000/spe.h: Fix misc formatting.
452         (__ev_create_ufix32_fs): Cast ev argument.
453         (__ev_create_sfix32_fs): Same.
454         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
455         (__ev_get_ufix32_fs_internal): Same.
456
457 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
458
459         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
460         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
461
462 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
463
464         * cpplib.c (do_include_common): Move warnings for
465         #include_next and #import out to callers.  Use early-return
466         instead of nested ifs.  Don't do check_eol here.
467         (parse_include): Do check_eol here with the rest of the
468         parsing stuff.
469         (do_include_next, do_import): Now handle warnings.
470
471 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
472
473         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
474
475 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
476
477         * predict.c (estimate_probability):  Fix roundoff error.
478
479 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
480
481         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
482         (two peephole2): New.
483
484 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
485
486         * config/h8300/h8300.md (several peephole2): Replace
487         find_regno_note with peep2_reg_dead_p.
488
489 2003-02-11  Richard Henderson  <rth@redhat.com>
490
491         * gcse.c (lookup_set): Remove unused argument PAT.  Update
492         both callers.
493
494 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
495
496         * diagnostic.c (real_abort): New.
497         (diagnostic_report_diagnostic): Call real_abort on error.
498         * diagnostic.h (diagnostic_abort_on_error): New.
499         (struct diagnostic_context): Add abort_on_error field.
500         * toplev.c (setup_core_dumping): New.
501         (decode_d_option): Handle 'H' case.
502         * doc/invoke.texi (Debugging Options): Document -dH.
503
504 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
505
506         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
507         which refers to obsolete directories.
508
509 2003-02-11  Richard Henderson  <rth@redhat.com>
510
511         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
512
513 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
514
515         * i386.c (contains_128bit_aligned_vector_p): New function.
516         (ix86_function_arg_boundary): Properly align vector modes.
517
518 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
519
520         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
521         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
522         as a SET pattern.
523
524 2003-02-11  Roger Sayle  <roger@eyesopen.com>
525
526         * builtins.c:  Fix failure caused by commiting wrong patch.
527
528 2003-02-11  Dale Johannesen  <dalej@apple.com>
529         * ra-build.c (compare_and_free_webs):  Relax checking.
530         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
531         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
532
533 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
534
535         PR optimization/9651
536         * rtlanal.c (may_trap_p): Handle FIX.
537
538 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
539
540         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
541         * doc/invoke.texi: Extra alias.
542
543 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
544
545         * config/rs6000/host-darwin.c: Fix comment.
546
547 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
548
549         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
550         predicate for mod result.
551
552 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
553
554         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
555         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
556         * fixincl.x: Rebuilt.
557         * tests/base/stdlib.h: Update.
558         * tests/base/ctype.h: New file.
559
560 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
561
562         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
563
564 2003-02-11  Richard Henderson  <rth@redhat.com>
565
566         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
567         appropriated as globals.
568         (ix86_expand_clrstr): Similarly.
569         * config/i386/i386.md (cmpstrsi): Similarly.
570
571 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
572
573         * config/h8300/h8300.md (a peephole2): Add a case of 255.
574
575 2003-02-11  Roger Sayle  <roger@eyesopen.com>
576
577         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
578         (pow_optab, atan2_optab): Define corresponding macros.
579         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
580         * genopinit.c (optabs): Implement pow_optab and atan2_optab
581         using pow?f3 and atan2?f3 patterns.
582         * builtins.c (expand_errno_check): New function to update errno
583         if necessary, split out from expand_builtin_mathfn.
584         (expand_builtin_mathfn): Use expand_errno_check.
585         (expand_builtin_mathfn_2): New function to handle expanding binary
586         math functions, reusing the code in expand_errno_check.
587         (expand_builtin): Handle the pow and atan2 math built-ins,
588         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
589         expand_builtin_mathfn_2.
590
591         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
592
593 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
594
595         * combine.c (combine_simplify_rtx): Fix folding of
596         nested float_truncates.
597
598 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
599
600         * config/h8300/h8300.md (a peephole2): Fix a typo.
601
602 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
603
604         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
605         register number.
606
607 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
608
609         * config/h8300/h8300-protos.h: Add a prototype for
610         gtuleu_operator.
611         * config/h8300/h8300.c (gtuleu_operator): New.
612         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
613         * config/h8300/h8300.md (a peephole2): New.
614
615 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
616
617         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
618
619 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
620
621         * predict.c (choose_function_section): Choose sections correctly.
622
623 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
624
625         * reload1.c (first_label_num): New.
626         (reload): Index offsets_known_at and offsets_at using difference of
627         label number and first label number.  Don't use offset pointers.
628         (set_label_offsets, set_initial_label_offsets): Likewise.
629
630 2003-02-10  Roger Sayle  <roger@eyesopen.com>
631
632         * mips-tfile.c (init_file): Add missing initializers in the
633         "#ifdef __alpha" case.
634         (file_offset, max_file_offset): Declare as unsigned long.
635         (write_varray): Cast to "unsigned long" in comparisons against
636         either file_offset or max_file_offset.
637         (write_object): Likewise.
638         (read_seek): Likewise.
639         (copy_object): Likewise. Declare "ifd" as int to match its use
640         in add_ext_symbol, and avoid signed/unsigned conditional warning.
641
642 2003-02-10  Nick Clifton  <nickc@redhat.com>
643             Aldy Hernandez  <aldyh@redhat.com>
644
645         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
646         override options which have been specified on the command line.
647
648 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
649
650         * config/h8300/h8300.md (abssf2): New.
651         (*abssf2_h8300): Likewise.
652         (*abssf2_h8300hs): Likewise.
653
654 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
655
656         * tree.c (build_tree_list):  Fix parameter names in comment.
657
658 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
659
660         * config/rs6000/ppc64-fp.c: New file.
661         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
662
663 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
664
665         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
666         * bb-reorder.c (make_reorder_chain): Deleted.
667         (make_reorder_chain_1): Deleted.
668         (find_traces): New function.
669         (rotate_loop): New function.
670         (mark_bb_visited): New function.
671         (find_traces_1_round): New function.
672         (copy_bb): New function.
673         (bb_to_key): New function.
674         (better_edge_p): New function.
675         (connect_traces): New function.
676         (copy_bb_p): New function.
677         (get_uncond_jump_length): New function.
678         (reorder_basic_blocks): Use new functions (Software Trace Cache).
679         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
680         boundaries.
681
682 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
683
684         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
685
686 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
687
688         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
689         (DECL_LIVE_RANGE_RTL): Remove.
690
691 2003-02-10  Nick Clifton  <nickc@redhat.com>
692
693         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
694         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
695         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
696         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
697         config/arm/freebsd.h, config/arm/linux-elf.h,
698         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
699         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
700         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
701         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
702         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
703         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
704         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
705         and reformat as appropriate.
706
707 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
708
709         * config/h8300/clzsi2.c: Remove.
710         * config/h8300/ctzsi2.c: Likewise.
711         * config/h8300/paritysi2.c: Likewise.
712         * config/h8300/popcountsi2.c: Likewise.
713         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
714         ctzsi2, paritysi2, and popcountsi2.
715
716 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
717             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
718
719         PR c/7741
720         * c-decl.c (duplicate_decls): Discard the initializer of the
721         new decl when the types are conflicting.
722
723 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
724
725         * Makefile.in (sreal.o): Added.
726         (predict.o): Depends on sreal.h instead of real.h.
727         * sreal.c: New file.
728         * sreal.h: New file.
729         * predict.c: Use sreal.c instead of real.c.
730
731 2003-02-10  Nick Clifton  <nickc@redhat.com>
732
733         * Contributed support for the Cirrus EP9312 "Maverick"
734         floating point co-processor.  Written by Aldy Hernandez
735         <aldyh@redhat.com>.
736         (config/arm/arm.c): Add Cirrus support.
737         (config/arm/arm.h): Likewise.
738         (config/arm/aout.h): Likewise.
739         (config/arm/arm.md): Likewise.
740         (config/arm/arm-protos.h): Likewise.
741         (config.gcc): Likewise.
742         (doc/invoke.texi): Describe new -mcpu value and new
743         -mcirrus-fix-invalid-insns switch,
744         (cirrus.md): New file.
745
746 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
747
748         * combine.c (combine_simplify_rtx): Simplify using
749         (float_truncate (float x)) is (float x)
750         (float_extend (float_extend x)) is (float_extend x).
751
752 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
753
754         * calls.c (try_to_integrate): Tidy stack_usage_map access.
755         (emit_library_call_value_1): Likewise.  Formatting.
756         (store_one_arg): Likewise.
757
758 2003-02-09  Nick Clifton  <nickc@redhat.com>
759             Aldy Hernandez  <aldyh@redhat.com>
760
761         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
762         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
763         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
764         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
765         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
766         docs.  Add range test for immediate value.
767
768 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
769
770         Rename spe_evxor to xorv2si3.
771         (xorv4hi3): New.
772         (xorv1di3): New.
773
774 2003-02-10  Glen Nakamura  <glen@imodulo.com>
775
776         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
777         tag.
778
779 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
780
781         * i386.c (vector_move_operand): New predicate.
782         (ix86_expand_vector_move): Be happy about 0.
783         * i386.h (PREDICATE_CODES): Add sse-move_operand.
784         * i386.md (mov*_internal): Add 'C' alternative.
785
786 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
787
788         * i386.md (floathi*): Deal with SSE.
789
790 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
791
792         * simplify-rtx.c (simplify_unary_operation,
793         simplify_binary_operation):  Deal with vector modes
794         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
795
796 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
797
798         * toplev.c (rest_of_compilation): Recompute register usage after
799         split_all_insns.
800
801 2003-02-09  Richard Henderson  <rth@redhat.com>
802
803         * libgcc-std.ver (__clztf2): New.
804         (__ctztf2, __popcounttf2, __paritytf2): New.
805         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
806         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
807         adjust code to match the different type sizes.
808         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
809         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
810
811         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
812         TImode; select word_mode and twice that.
813         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
814         select the modes from float, double, and long double.
815         (init_optabs): Remove duplicate initializations.
816
817 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
818
819         * doc/install.texi: Squeeze and streamline section on
820         testing and regression checking.
821
822 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
823
824         * i386.md (ahi?v*3): Set third operand type to TImode.
825         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
826
827         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
828         integer mode.
829
830         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
831         Change code so they are arithmetic expressions now.
832         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
833         simplify_ternary_operation): Deal with VEC_* expressions.
834
835         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
836
837 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
838
839         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
840         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
841         possibly got duplicated.
842
843 2003-02-08  Richard Henderson  <rth@redhat.com>
844
845         * config/alpha/alpha.c (override_options): Turn off explicit
846         relocs until post-peep2 code duplication resolved.
847
848 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
849
850         * optabs.c (expand_unop): Widen clz properly when clz is done
851         via libcall.
852
853 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
854
855         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
856         * config/h8300/crti.asm: Likewise.
857         * config/h8300/crtn.asm: Likewise.
858         * config/h8300/ctzsi2.c: Likewise.
859         * config/h8300/fixunssfsi.c: Likewise.
860         * config/h8300/h8300-protos.h: Likewise.
861         * config/h8300/h8300.c: Likewise.
862         * config/h8300/h8300.h: Likewise.
863         * config/h8300/h8300.md: Likewise.
864         * config/h8300/paritysi2.c: Likewise.
865         * config/h8300/popcountsi2.c: Likewise.
866         * config/h8300/rtems.h: Likewise.
867
868 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
869
870         * doc/invoke.texi: Documentation for my previous commit.
871         * doc/passes.texi: Ditto.
872
873 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
874
875         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
876         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
877         Declare.
878         (DLTHE_FLAG_UPDATE_FREQ): New.
879         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
880         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
881         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
882         fix_bb_placement, fix_bb_placements, place_new_loop,
883         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
884         New static functions.
885         (fix_loop_placement, can_duplicate_loop_p,
886         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
887         New functions.
888
889         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
890         unswitch_loops): Declare.
891         * loop-init.c: New file.
892         * loop-unswitch.c: New file.
893         * Makefile.in (loop-init.o, loop-unswitch.o): New.
894         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
895         * toplev.c (DFI_loop2): New dump.
896         (flag_unswitch_loops): New.
897         (lang_independent_options): Add it.
898         (rest_of_compilation): Call new loop optimizer.
899         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
900
901 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
902
903         * config/h8300/clzsi2.c: New.
904         * config/h8300/ctzsi2.c: Likewise.
905         * config/h8300/paritysi2.c: Likewise.
906         * config/h8300/popcountsi2.c: Likewise.
907         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
908
909 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
910
911         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
912         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
913         (ctzsi2): New pattern.
914         (ffssi2): Use clz instead of unspec.
915         (clzdi2): Rename from cntlzd2.
916         (ctzdi2): New pattern.
917         (ffsdi2): Use clz instead of unspec.
918
919 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
920
921         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
922         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
923         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
924         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
925
926 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
927
928         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
929
930 2003-02-07  Richard Henderson  <rth@redhat.com>
931
932         PR 9226
933         * gcse.c (local_cprop_find_used_regs): New.
934         (local_cprop_pass): Use it.
935
936 2003-02-07  Fred Fish  <fnf@intrinsity.com>
937
938         * mips-tfile.c (parse_def): Parenthesize assignments to fix
939         precedence bugs.
940
941 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
942
943         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
944
945 2003-02-07  Roger Sayle  <roger@eyesopen.com>
946
947         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
948         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
949         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
950         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
951         builtin functions (and their __builtin_* variants).
952         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
953         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
954         when not optimizing.
955
956         * doc/extend.texi: Document new pow and atan2 builtins, and
957         their float and long double variants.  Realphabetize builtins.
958
959 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
960
961         * i386.md (sse2_nandv2di3): Fix.
962
963 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
964
965         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
966         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
967         definition.
968         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
969         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
970
971 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
972
973         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
974
975 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
976
977         * cfg.c (dump_flow_info): Add back accidently deleted line.
978
979 2003-02-07  Andrey Petrov <petrov@netbsd.org>
980
981         * optabs.c (expand_float): Search wider integer modes first.
982
983 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
984
985         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
986         based on preprocessor flag.
987
988 2003-02-07  Roger Sayle  <roger@eyesopen.com>
989             Richard Henderson  <rth@redhat.com>
990
991         * gcse.c (implicit_sets): New.
992         (compute_hash_table_work): Include them in hash table.
993         (find_implicit_sets, fis_get_condition): New.
994         (one_cprop_pass): Allocate and free implicit_sets; call
995         find_implicit_sets before building hash table.
996
997 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
998
999         * config/t-netbsd (USER_H): Revert previous change.
1000
1001 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1002
1003         * doc/c-tree.texi (Namespaces): Fix typo.
1004
1005 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1006
1007         * regrename.c (do_replace, find_oldest_value_reg,
1008         copyprop_hardreg_forward_1): Update register attributes.
1009
1010 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1011
1012         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1013         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1014         variables starting with underscore.
1015         (struct unit_usage): New structure.
1016         (unit_usages, cycle_alt_unit_usages): New global variables.
1017         (check_unit_distribution_in_reserv): Remove it.
1018         (store_alt_unit_usage): New function.
1019         (check_regexp_units_distribution): Rewrite it.
1020
1021 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1022
1023         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1024         target_cpu_default.
1025         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1026         if not MASK_NO_SPACE_REGS.
1027         (output_call): Adjust return pointer, don't load new space register
1028         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1029         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1030         TARGET_NO_SPACE_REGS is true.
1031         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1032         conditions.
1033         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1034         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1035         true.  Use bve when TARGET_64BIT is true.
1036
1037 2003-02-06  Richard Henderson  <rth@redhat.com>
1038
1039         * combine.c (nonzero_bits): Fix double break.
1040
1041 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1042             Richard Henderson <rth@redhat.com>
1043
1044         PR c/9530
1045         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1046         from functions that return a float to functions that don't.
1047
1048 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1049
1050         * i386.c (x86_inter_unit_moves): New variable.
1051         (ix86_secondary_memory_needed): Fix 64bit case, honor
1052         TARGET_INTER_UNIT_MOVES
1053         * i386.h (x86_inter_unit_moves): Declare.
1054         (TARGET_INTER_UNIT_MOVES): New macro.
1055         * i386.md (movsi_1): Cleanup constraints; disable
1056         when not doing inter-unit moves.
1057         (movsi_1_nointernunit): New.
1058         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1059         (movdi_1_rex64_nointerunit): New.
1060         (mivsf_1): disable when not doing inter-unit moves.
1061         (movsf_1_nointerunit): New.
1062
1063         * basic-block.h (inside_basic_block_p):  Declare.
1064         * cfgbuild.c (inside_basic_block_p): Make global.
1065         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1066         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1067         update CFG.
1068         (fix_basic_block_boundaries, add_missing_bbs): New.
1069         (rank): Use profile.
1070         (scheudle_ebbs): Rely on CFG; update coments.
1071
1072 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1073
1074         * Makefile.in (host_hook_obj): New.
1075         (OBJS): Add $(host_hook_obj).
1076         (host_default.o): New rule.
1077         * config.gcc (host_hook_obj): New, default to host-default.o.
1078         (powerpc-*-darwin*): Use host-darwin.o.
1079         (out_host_hook_obj): New.
1080         * configure: Regenerate.
1081         * configure.in: Print information about out_host_hook_obj, substitute
1082         into output files.
1083         * host-default.c: New file.
1084         * hosthooks.h: New file.
1085         * toplev.c (general_init): Call host_hooks.extra_signals.
1086         * config/rs6000/host-darwin.c: New file.
1087         * config/rs6000/x-darwin: New file.
1088         * doc/hostconfig.texi: Add documentation for new host hook.
1089         Rearrange existing documentation.
1090
1091 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1092
1093         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1094         with *targetm.delegitimize_address.
1095         (rtl_for_decl_location): Likewise.
1096         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1097         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1098
1099         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1100         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1101         prototype.
1102         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1103         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1104         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1105         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1106         (ix86_find_base_term): Likewise.
1107         (maybe_get_pool_constant): Likewise.
1108
1109         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1110         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1111         prototype.
1112         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1113         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1114         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1115
1116 2003-02-05  Richard Henderson  <rth@redhat.com>
1117
1118         PR c/8602
1119         * integrate.c (output_inline_function): Reset input_filename
1120         and lineno from the decl before rest_of_compilation.
1121
1122 2003-02-05  Richard Henderson  <rth@redhat.com>
1123
1124         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1125         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1126         * doc/rtl.texi, doc/tm.texi: Document them.
1127
1128         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1129         of the value at zero properly.
1130         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1131         * simplify-rtx.c (simplify_unary_operation): Likewise.
1132
1133         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1134         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1135
1136         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1137         (TARGET_EXPAND_BUILTIN): Remove.
1138         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1139         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1140         (enum arm_builtins): Remove.
1141         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1142         (clzsi2): Rename from clz; use clz instead of unspec.
1143         (ctzsi2): New.
1144         * config/arm/arm-protos.h: Update.
1145
1146 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1147
1148         * i386-protos.h (x86_emit_floatuns):  Declare.
1149         * i386.c (x86_emit_floatuns): New global function.
1150         * i386.md (floatunssisf2, floatunsdisf2,
1151         floatunsdidf2):  New patterns.
1152
1153 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1154
1155         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1156
1157 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1158
1159         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1160           config/ia64/linux.h
1161
1162 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1163
1164         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1165
1166 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1167
1168         PR optimization/8555
1169         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1170         instead of aborting.
1171
1172 2003-02-04  Richard Henderson  <rth@redhat.com>
1173
1174         * config/i386/i386.md (UNSPEC_BSF): Remove.
1175         (ffssi2): Split into cmove and no_cmove insns and splitters;
1176         lose pentium float trick for now.
1177         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1178         (ctzsi2, clzsi2, bsr): New.
1179
1180 2003-02-04  Richard Henderson  <rth@redhat.com>
1181
1182         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1183         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1184         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1185         (ffsdi2): Use popcount instead of unspec.
1186         (popcountdi2): Rename from *popcnt.
1187         (ctzdi2, clzdi2, getf_exp_tf): New.
1188
1189 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1190
1191         * genconfig.c (main): Generate CC0_P.
1192         * rtl.h (CC0_P): Remove.
1193
1194 2003-02-04  Richard Henderson  <rth@redhat.com>
1195
1196         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1197         (__ffsDI2): Rename from __ffsdi2.
1198         * mklibgcc.in (lib2funcs): Add _ffssi2.
1199
1200 2003-02-04  Richard Henderson  <rth@redhat.com>
1201
1202         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1203         rounds with a "bit table" lookup.
1204
1205 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1206
1207         * reload.c (find_reloads): Do not use the mode specified in the insn
1208         pattern as reload mode for address operands.  Do not generate optional
1209         reloads for operands where a mandatory reload was already pushed.
1210
1211 2003-02-04  Richard Henderson  <rth@redhat.com>
1212
1213         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1214         builtins instead of inline assembly.
1215
1216 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1217
1218         PR c/9376
1219         * libgcc2.c (__subvdi3): Fix typo.
1220
1221 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1222
1223         * i386.md (movti_rex64):  Fix constraint.
1224
1225 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1226
1227         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1228
1229 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1230
1231         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1232
1233 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
1234
1235         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
1236         for recent libstdc++.  Remove formatting cruft.
1237
1238 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
1239
1240         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1241         attribute even if input file name is absolute, but one of the
1242         includes is relative.
1243
1244 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1245
1246         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1247         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1248         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
1249
1250 2003-02-03  Richard Henderson  <rth@redhat.com>
1251
1252         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1253         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1254         return type to "int".  Shuffle declarations and undef int trap.
1255         * libgcc2.h: Remove their declarations.
1256         * optabs.c (expand_unop): Force outmode to int for bitops.
1257
1258 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
1259
1260         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1261         coprocessor registers before floating-point registers.
1262         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1263         to account for a previously removed register.
1264         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1265         Delete unused macros.
1266
1267 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1268
1269         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
1270         (mov*_internal): Fix predicates; require one of operands to not be
1271         memory.
1272         (SSE?MMX move expanders):  Fix predicates; force one of operands to
1273         register.
1274         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1275         (movups/movupd/movdqu patterns): Force one of operands to not be
1276         memory.
1277
1278 2002-02-03  Roger Sayle  <roger@eyesopen.com>
1279
1280         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1281         takes a single rtx and returns it unmodified.
1282         * hooks.h (hook_rtx_rtx_identity): Prototype here.
1283         * target.h (struct gcc_target): Add "delegitimize_address"
1284         field to target structure.
1285         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
1286         for delegitimize_address target using hook_rtx_rtx_identity.
1287         (TARGET_INITIALIZER): Initialize delegitimize_address field
1288         using TARGET_DELEGITIMIZE_ADDRESS macro.
1289         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1290         extensions of constant pool references.  Use delegitimize_address
1291         to undo the obfuscation of "-fpic".
1292         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1293
1294         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1295         i386_simplify_dwarf_addr.
1296         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1297         (maybe_get_pool_constant): Likewise.
1298
1299 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1300
1301         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
1302
1303 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1304
1305         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1306
1307 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1308
1309         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
1310         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
1311
1312 2003-02-02  Andreas Schwab  <schwab@suse.de>
1313
1314         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1315
1316 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
1317
1318         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1319         (epilogue_insns): Likewise.
1320
1321 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1322
1323         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1324
1325 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1326
1327         * pa-protos.h (attr_length_millicode_call): Remove second argument.
1328         (attr_length_indirect_call, attr_length_indirect_call,
1329         attr_length_save_restore_dltp): New prototypes.
1330         * pa.c (attr_length_millicode_call): Remove second argument.  Check
1331         INSN_ADDRESSES_SET_P in distance calculation.
1332         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1333         INSN_ADDRESSES.
1334         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1335         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1336         Call attr_length_call directly.
1337         (attr_length_indirect_call, output_indirect_call,
1338         attr_length_save_restore_dltp): New functions.
1339         * pa.md (attr_length_millicode_call): Drop second argument from all
1340         patterns.
1341         (return_internal_pic): Delete.
1342         (return_external_pic): Remove use of PIC register and pic operand and
1343         flag checks.
1344         (epilogue): Use return_internal for both normal and pic code.
1345         (call, call_value): Emit new 32-bit pic patterns for symref and
1346         indirect calls.  Remove uses for arg pointer and pic register.
1347         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1348         call_reg_pic_post_reload, call_val_symref_pic,
1349         call_val_symref_pic_post_reload, call_val_reg_pic,
1350         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1351         Implement define_split and define_peephole2 patterns for pre reload
1352         patterns.
1353         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1354         call_value_internal_reg_64bit): Shorten names.
1355         (all call patterns): Explicitly indicate registers used and clobbered.
1356         Use attr_length_indirect_call and attr_length_save_restore_dltp for
1357         attribute length calculation.  Move code generation for indirect calls
1358         to output_indirect_call.
1359         (sibcall, sibcall_value): Don't restore PIC register.
1360         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1361         register retore.
1362
1363 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1364
1365         * doc/install.texi (Testing): Simplify and compress instructions
1366         concerning Dejagnu.
1367
1368 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1369
1370         * collect2.c (pexecute_pid): Rename to pid.
1371         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1372         pid.
1373
1374 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
1375
1376         * doc/extend.texi (Function Attributes): Remove documentation
1377         for PowerPC Windows NT function attributes..
1378
1379 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
1380
1381         * dwarf2out.c (gen_type_die): Check for typedefs before calling
1382         for TYPE_MAIN_VARIANT.
1383
1384 2003-02-01  Richard Henderson  <rth@redhat.com>
1385
1386         * libgcc2.c: Include auto-host.h.
1387         (ATTRIBUTE_HIDDEN): New.
1388         (__clz_tab): Don't declare here for clz and ctz.
1389         (__clzsi2, __clzdi2): Use count_leading_zeros.
1390         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1391         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1392         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1393         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1394
1395 2003-02-01  Richard Henderson  <rth@redhat.com>
1396
1397         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1398         to the conditional.
1399         (ashlsi3_1_zext splitter): Likewise.
1400
1401 2003-02-01  Richard Henderson  <rth@redhat.com>
1402
1403         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1404         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1405         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1406         return type to Wtype.
1407
1408         * libgcc-std.ver (GCC_3.4): Fix inheritance.
1409
1410         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1411         expander input constraint.
1412
1413 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1414
1415         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1416         OTI_parity.
1417         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1418         * optabs.c (widen_clz, expand_parity): New.
1419         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
1420         for libcalls to clz, ctz, popcount, and parity.
1421         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1422         parity_optab, and set up libfunc handlers.
1423         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1424         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1425         __popcount_tab): New.
1426         * libgcc2.h: Declare them.
1427         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1428         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1429         and parity_optab.
1430         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1431         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1432         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1433         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1434         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1435         BUILT_IN_PARITYLL): New.
1436         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1437         and add optab argument.
1438         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1439         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1440         * expr.c (expand_expr): Handle them.
1441         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1442         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1443         * reload1.c (eliminate_regs): Handle them.
1444         (elimination_effects): Likewise.
1445         * function.c (instantiate_virtual_regs_1): Likewise
1446         * genattrtab.c (check_attr_value): Likewise.
1447         * simplify-rtx.c (simplify_unary_operation): Likewise.
1448         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1449         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1450         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1451         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1452         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1453         __builtin_arm_clz.
1454         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1455         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
1456         * doc/extend.texi (Other Builtins): Add new builtins.
1457         * doc/md.texi (Standard Names): Add new patterns.
1458
1459 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
1460
1461         * reload.c: Revert 2003-01-31 change.
1462
1463 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1464
1465         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
1466
1467 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
1468
1469         * flags.h (flag_volatile): Remove declaration.
1470         (flag_volatile_global, flag_volatile_static): Likewise.
1471         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1472         * toplev.c (flag_volatile): Remove definition.
1473         (flag_volatile_global, flag_volatile_static): Likewise.
1474         (f_options): Remove corresponding entries here.
1475         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1476         or flag_volatile_static.
1477         * doc/invoke.texi: Remove documentation of -fvolatile,
1478         -fvolatile-global and -fvolatile-static.
1479
1480 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1481
1482         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1483         updating of total_code_bytes from prologue to epilogue.
1484
1485 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
1486
1487         * reload.c (find_reloads): Do not use the mode specified in the insn
1488         pattern as reload mode for address operands.  Do not generate optional
1489         reloads for operands where a mandatory reload was already pushed.
1490         Generate optional reloads only in the final pass though find_reloads.
1491         (have_replacement_p): New function.
1492
1493 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1494
1495         * doc/install.texi (Testing): Remove a reference to our obsolete
1496         /testresults web pages and strip redundant information concerning
1497         test results.
1498         (Binaries): Refer to Microsoft Windows instead of listing all
1499         possible variants.
1500
1501 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
1502
1503         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
1504         RTL chain.
1505
1506         * combine.c (simplify_set): Reverse order of ragumetns to
1507         REG_CANNOT_CHANGE_MODE_P
1508         * df.c (df_def_record_1): Likewise.
1509         * recog.c (register_operand): Likewise.
1510         * simplify-rtx.c (simplify_subreg): Likewise.
1511         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1512         CANNOT_CHANGE_MODE_CLASS.
1513         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1514         Likewise.
1515         * reload.c (push_reload): Likewise.
1516         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1517         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1518         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1519         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1520         * mips.c (mips_cannot_change_mode_class): Update.
1521         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1522         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1523         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1524         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1525         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1526         * sh.c (sh_cannot_change_mode_class): Update.
1527         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1528         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1529
1530 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
1531
1532         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1533         change to LINK_COMMAND_SPEC in gcc.c.
1534
1535 2003-01-31  Jan Hubicka  <jh@suse.cz>
1536
1537         PR c/9506
1538         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1539
1540 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1541
1542         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1543         duplicated code.
1544
1545 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
1546
1547         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1548         (BINFO_ELTS): New #define.
1549         * stor-layout.c (finalize_record_size): Don't set them.
1550         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1551         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1552         (BINFO_LANG_ELTS): New #define.
1553         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1554         * java/class.c (make_class): Use BINFO_ELTS.
1555         (set_super_info): Likewse.
1556         (add_interface_do): Likewise.
1557         * objc/objc-act.c (start_class): Use BINFO_ELTS.
1558
1559 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1560
1561         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1562         (times): Don't ever declare if not HAVE_TIMES.
1563         (clock): Don't ever declare if not HAVE_CLOCK.
1564
1565 2003-01-30  Richard Henderson  <rth@redhat.com>
1566
1567         * flow.c (update_life_info): Zap life info after cleanup_cfg.
1568         (regno_uninitialized): Use correct live at function entry set.
1569         (regno_clobbered_at_setjmp): Likewise.
1570
1571         * expr.c (store_expr): Promote all MEM intermediates to regs.
1572
1573 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1574
1575         * config/arm/arm.c: Fix comment typos.
1576         * config/arm/arm.h: Likewise.
1577         * config/arm/netbsd-elf.h: Likewise.
1578         * config/arm/netbsd.h: Likewise.
1579
1580 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
1581
1582         * gengtype.c (struct walk_type_data): Add needs_cast_p.
1583         (walk_type): Set needs_cast_p in walk_type_data.
1584         (write_types_process_field): Supply casts when required to suppress
1585         warnings.
1586         (write_root): Cast gt_pch_n_S to suppress warning.
1587         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
1588         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
1589         when they might exist.
1590         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
1591         insn-conditions.o, and rs6000.o.
1592
1593 2003-01-30  Richard Henderson  <rth@redhat.com>
1594
1595         * ggc-page.c (G.context_depth_allocations): New.
1596         (G.context_depth_collections): New.
1597         (alloc_page): Set G.context_depth_allocations.
1598         (ggc_collect): Set G.context_depth_collections.
1599         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
1600         (ggc_pop_context): Early exit for no allocations or collections.
1601
1602 2003-01-30  Richard Henderson  <rth@redhat.com>
1603
1604         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
1605
1606 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
1607
1608         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
1609         size, the link register is always saved if any other register is
1610         saved.
1611
1612 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1613
1614         * config/h8300/h8300-protos.h: Update the prototype for
1615         compute_plussi_cc.
1616         (cpp_reader): Declare before it is used.
1617         * config/h8300/h8300.c (compute_plussi_cc): Change the return
1618         type to int.
1619         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
1620         see an unknown H8 variant.
1621
1622 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
1623
1624         PR target/9316
1625         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
1626         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
1627         * config/rs6000/t-rtems: New file. multilib variants to match OS.
1628         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
1629         rs6000/t-ppcgas so we get the desired multilibs.
1630
1631 2003-01-30  Nick Clifton  <nickc@redhat.com>
1632
1633         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
1634         when popping saved IP register off the stack.
1635
1636 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1637
1638         * config/rs6000/aix43.h: Fix comment typos.
1639         * config/rs6000/aix51.h: Likewise.
1640         * config/rs6000/aix52.h: Likewise.
1641         * config/rs6000/altivec.h: Likewise.
1642         * config/rs6000/rs6000.c: Likewise.
1643         * config/rs6000/rs6000.h: Likewise.
1644         * config/rs6000/rs6000.md: Likewise.
1645         * config/rs6000/spe.md: Likewise.
1646
1647 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
1648
1649         * c-common.c (builtin_define_float_constants): Define
1650         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
1651
1652 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1653
1654         * config/sh/lib1funcs.asm: Fix comment typos.
1655         * config/sh/linux.h: Likewise.
1656         * config/sh/sh.c: Likewise.
1657         * config/sh/sh.md: Likewise.
1658
1659 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
1660
1661         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
1662
1663 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
1664
1665         * config/fp-bit.h (__make_dp): Declare if TMODES.
1666
1667 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
1668
1669         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
1670         general_operand_src and general_operand_dst.
1671
1672 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
1673
1674         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
1675         Return true for variable sized types.
1676         (rs6000_va_arg): Handle variable sized types passed by reference
1677         on non-SVR4 ABI.
1678
1679 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
1680
1681         * arm.c (arm_legtimize_address): New function.
1682         * arm-protos.h (arm_legtimize_address): Add prototype.
1683         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
1684         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
1685         do ... while (0)
1686
1687 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1688
1689         PR bootstrap/9296
1690         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
1691         depended on it being defined until now.
1692
1693 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1694
1695         PR target/9295
1696         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
1697         RTEMS code knows which C++ initialization style the toolset
1698         configuration is using.
1699
1700 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1701
1702         PR bootstrap/9293
1703         * config/m68k/t-crtstuff: Replace spaces with tabs, add
1704          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
1705
1706 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1707
1708         PR bootstrap/9292
1709         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
1710         RTEMS threads.
1711         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
1712
1713 2003-01-29  Nick Clifton  <nickc@redhat.com>
1714
1715         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
1716         not $(srcdir).
1717
1718 2003-01-29  Andrew Haley  <aph@redhat.com>
1719
1720         * tree-inline.c (walk_tree): Add CHAR_TYPE.
1721
1722 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1723
1724         * i386.md (subdi3_carry_rex64): Fix typo.
1725
1726 2003-01-28  Stan Shebs  <shebs@apple.com>
1727
1728         * coretypes.h (cpp_reader): Forward declare struct.
1729         * c-pragma.h (cpp_reader): Remove forward declaration.
1730         * hashtable.h (cpp_reader): Likewise.
1731         * scan.h (cpp_reader): Likewise.
1732         * tree.h (cpp_reader): Likewise.
1733         * config/darwin-protos.h (cpp_reader): Likewise.
1734         * config/arm/arm-protos.h (cpp_reader): Likewise.
1735         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
1736         struct cpp_reader in prototypes.
1737
1738 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1739
1740         * doc/install.texi: Add documentation for installation into
1741         tooldirs and with DESTDIR.
1742
1743 2003-01-28  Richard Henderson  <rth@redhat.com>
1744
1745         * config.gcc (ia64*-*-aix*): Remove.
1746         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
1747         * config/ia64/unwind-aix.c: Remove file.
1748
1749 2003-01-28  Andreas Schwab  <schwab@suse.de>
1750
1751         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
1752         register.
1753         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
1754         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
1755         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
1756         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
1757         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
1758         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
1759         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
1760
1761 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
1762
1763         * combine.c (nonzero_bits): Fix check for negative divide operands.
1764
1765 2003-01-28  Richard Henderson  <rth@redhat.com>
1766
1767         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
1768         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
1769
1770 2003-01-28  Richard Henderson  <rth@redhat.com>
1771
1772         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
1773
1774         * config/cris/cris.c (cris_address_cost): Make static.
1775         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
1776         * config/cris/cris.h (ADDRESS_COST): Remove.
1777         * config/cris/cris-protos.h: Update.
1778
1779 2003-01-23  Mike Stump  <mrs@apple.com>
1780
1781         * regclass.c (init_reg_autoinc): New function.
1782         (regclass): Move initialization of forbidden_inc_dec_class from
1783         here...
1784         (init_regs): to here.  Avoids reinitialization for each function,
1785         saving compilation time.
1786
1787 2003-01-28  Jason Merrill  <jason@redhat.com>
1788
1789         * cpplib.h (struct cpp_options): Add warn_deprecated field.
1790         * cppinit.c (cpp_create_reader): Turn it on by default.
1791         * c-opts.c (c_common_decode_option): Set it.
1792         * cpplib.c (do_pragma_once): Only complain about #pragma once
1793         if warn_deprecated is set.
1794
1795 2003-01-28  Dale Johannesen  <dalej@apple.com>
1796
1797         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
1798         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
1799         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
1800
1801 2003-01-28  Richard Henderson  <rth@redhat.com>
1802
1803         * target.h (targetm.address_cost): New.
1804         * target-def.h (TARGET_ADDRESS_COST): New.
1805         (TARGET_RTX_COSTS): Uncomment.  Oops.
1806         * cse.c (address_cost): Use new target hook.
1807         (default_address_cost): New.
1808         * output.h (default_address_cost): Declare.
1809         * hooks.c (hook_int_rtx_0): New.
1810         * hooks.h (hook_int_rtx_0): Declare.
1811         * loop.c (combine_givs_p): Remove if 0 code.
1812         * system.h (ADDRESS_COST): Poison.
1813
1814         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
1815         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
1816         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
1817         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
1818         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
1819         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
1820         config/xtensa/xtensa.c, config/xtensa/xtensa.h
1821         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
1822         (ADDRESS_COST): Remove.
1823
1824         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1825         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1826         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1827         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1828         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
1829         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
1830         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
1831         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
1832         config/mips/mips.c, config/mips/mips.h,
1833         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1834         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
1835         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
1836         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
1837         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
1838         config/vax/vax.c, config/vax/vax.h
1839         (foo_address_cost): Make static.
1840         (TARGET_ADDRESS_COST): New.
1841         (ADDRESS_COST): Remove.
1842
1843         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
1844         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
1845         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
1846         config/stormy16/stormy16.h
1847         (ADDRESS_COST): Move code ...
1848         (foo_address_cost): ... here.
1849         (TARGET_ADDRESS_COST): New.
1850
1851         * config/m32r/m32r.c (m32r_address_cost): Remove.
1852         * config/m32r/m32r-protos.h: Update.
1853
1854         * config/mmix/mmix.c (mmix_address_cost): Remove.
1855         * config/mmix/mmix-protos.h: Update.
1856
1857         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
1858         mn10300_address_cost; move unsig allocation ...
1859         (mn10300_address_cost): ... here.
1860         (TARGET_ADDRESS_COST): New.
1861         * config/mn10300/mn10300-protos.h: Update.
1862         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
1863
1864         * doc/tm.texi: Update.
1865
1866 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
1867
1868         * haifa-sched.c (schedule_insn): Return necessary cycle advance
1869         after issuing the insn.
1870         (rank_for_schedule): Make a insn with /S the highest priority
1871         insn.
1872         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
1873         (choose_ready): Check SCHED_GROUP_P.
1874         (schedule_block): Advance cycle after issuing insn if it is
1875         necessary.  Don't reorder insns if there is an insn with /S.
1876         (set_priorities): Ignore schedule groups.
1877
1878         * sched-deps.c (remove_dependence, group_leader): Remove the
1879         functions.
1880         (add_dependence): Ignore schedule groups.
1881         (set_sched_group_p): Don't make copy of dependencies from previous
1882         insn of the schedule group.  Add anti-dependency to the previous
1883         insn of the schedule group.
1884         (compute_forward_dependences): Ignore schedule groups.
1885
1886         * sched-ebb.c (init_ready_list): Ignore schedule groups.
1887
1888         * sched-rgn.c (init_ready_list): Ditto.
1889         (can_schedule_ready_p): Ditto.
1890
1891 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
1892
1893         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
1894         register to another one.
1895
1896 2003-01-28  Richard Henderson  <rth@redhat.com>
1897
1898         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
1899
1900 2003-01-28  Roger Sayle  <roger@eyesopen.com>
1901
1902         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
1903
1904 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
1905
1906         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
1907         class contains a floating-point register, return the size of the
1908         mode in half words.
1909
1910 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
1911
1912         * i386.c (ix86_carry_flag_operator):  New predicate.
1913         (fcmov_operator): Fix whitespace.
1914         (ix86_expand_carry_flag_compare):  Deal with floating point.
1915         (ix86_expand_int_movcc): Deal with fp; update insn expansion
1916         (ix86_expand_int_addcc): Likewise.
1917         (ix86_expand_strlensi_unroll_1): likewsie.
1918         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
1919         * i386.md (add?i_carry_rex64): Use new predicate.
1920         (sub?i3_carry_rex64): Likewise.
1921         (x86_mov?icc_0_m1*): Likewise.
1922
1923 2003-01-28  Andreas Schwab  <schwab@suse.de>
1924
1925         * cfgloopmanip.c (create_preheader): Initialize src to avoid
1926         warning.
1927
1928         * expmed.c (emit_store_flag): Fix cast to avoid sign
1929         comparison warning.
1930
1931         * combine.c (force_to_mode): Add cast to fix warning when
1932         STORE_FLAG_VALUE is negative.
1933
1934 2003-01-27  Richard Henderson  <rth@redhat.com>
1935
1936         * Makefile.in (cse.o): Depend on TARGET_H.
1937         * cse.c (rtx_cost): Use targetm.rtx_costs.
1938         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
1939         * doc/tm.texi: Update.
1940
1941         * target.h (targetm.rtx_costs): New.
1942         * target-def.h (TARGET_RTX_COSTS): New.
1943         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
1944         * hooks.h: Update.
1945
1946         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
1947         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
1948         * config/alpha/alpha.h (PROCESSOR_MAX): New.
1949         (CONST_COSTS, RTX_COSTS): Remove.
1950
1951         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
1952         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
1953         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
1954         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
1955         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1956         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
1957         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
1958         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
1959         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
1960         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
1961         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1962         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1963         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1964         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1965         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1966         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1967         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1968         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1969         config/v850/v850.c, config/v850/v850.h,
1970         config/xtensa/xtensa.c, config/xtensa/xtensa.h
1971         (CONST_COSTS, RTX_COSTS): Move code ...
1972         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1973
1974         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1975         (arm_rtx_costs, TARGET_RTX_COSTS): New.
1976         * config/arm/arm-protos.h: Update.
1977         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1978
1979         * config/avr/avr.h (CONST_COSTS): Move code ...
1980         * config/avr/avr.c (avr_rtx_costs): ... here.
1981         (default_rtx_costs): Make static.
1982         * config/avr/avr-protos.h: Update.
1983
1984         * config/h8300/h8300.c (const_costs): Make static.
1985         (h8300_and_costs, h8300_shift_costs): Likewise.
1986         * config/h8300/h8300-protos.h: Update.
1987
1988         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
1989         (CONST_COSTS): Move code ...
1990         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
1991         default_rtx_costs; update for signature change.
1992         * config/ip2k/ip2k-protos.h: Update.
1993
1994         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
1995         (CONST_COSTS): Move code ...
1996         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
1997         (TARGET_RTX_COSTS): New.
1998         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
1999         * config/m68hc11/m68hc11-protos.h: Update.
2000
2001         * config/m68k/m68k.c (const_int_cost): Make static.
2002         * config/m68k/m68k-protos.h: Update.
2003
2004         * config/mcore/mcore.c (mcore_const_costs): Make static.
2005         (mcore_and_cost, mcore_ior_cost): Likewise.
2006         * config/mcore/mcore-protos.h: Update.
2007
2008         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2009         (mmix_rtx_cost_recalculated): Remove.
2010         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2011         * config/mmix/mmix-protos.h: Update.
2012
2013         * config/sh/sh.c (shiftcosts): Make static.
2014         (addsubcosts, andcosts, multcosts): Likewise.
2015         * config/sh/sh-protos.h: Update.
2016
2017         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2018         (sparc_rtx_costs): Make static; update for change in signature.
2019         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2020         * config/sparc/sparc-protos.h: Update.
2021
2022         * config/v850/v850.c (const_costs): Make static.
2023         * config/v850/v850-protos.h: Update.
2024
2025         * config/vax/vax.h (RTX_COSTS): Remove.
2026         (CONST_COSTS): Move code ...
2027         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2028         from vax_rtx_cost.
2029         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2030
2031 2003-01-27  Richard Henderson  <rth@redhat.com>
2032
2033         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2034         * config/vax/vax-protos.h: Update.  Really.
2035
2036 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2037
2038         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2039         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2040         zero if no hardware floating point.
2041         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2042         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2043         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2044         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2045         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2046         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2047         even FP registers on N32 and N64.
2048         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2049         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2050         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2051         even-register-like alignment to 128-bit arguments.
2052         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2053         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2054         on N32 or N64.
2055         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2056         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2057         (TPBIT): Set to tp-bit.c.
2058         (tp-bit.c): Create out of fp-bit.c.
2059
2060 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2061
2062         * c-parse.in: Remove '%expect 32' directive in objc mode.
2063
2064 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2065
2066         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2067         (LIBGCOV): New variable.
2068         (libgcc.mk): Add LIBGCOV.
2069         (LIBGCC_DEPS): Add libgcov.c.
2070         (libgcov.a): New target.
2071         (clean): Remove libgcov.a.
2072         (install-libgcc): Do libgcov too.
2073         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2074         with libgcov.a.
2075         * libgcc2.c (L_gcov): Move into ...
2076         * libgcov.c: ... here. New file.
2077         * mklibgcc.in: Add libgcov rules.
2078         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2079
2080         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2081         clarify.
2082
2083         * profile.c (index_counts_file): Remove duplicate check for open file.
2084
2085 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2086
2087         * gcc/doc/invoke.texi (Optimization Options): Group together
2088         optional and experimental flags.  Move trapv and bounds-check
2089         out of this section.  Group floating point flags together.
2090         (Code Gen Options): Move trapv and bounds-check to here.
2091
2092 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2093
2094         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2095
2096 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2097
2098         PR optimization/9090
2099         * function.c (purge_addressof_1): After pushing an addressed register
2100         onto the stack, simplify the result.
2101
2102 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2103
2104         * doc/extend.texi: Fix typo.
2105
2106 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2107
2108         * doc/cppopts.texi: Fix typo.
2109         * doc/objc.texi: Likewise.
2110         * doc/passes.texi: Likewise.
2111
2112 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2113
2114         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2115         (encode_ibm_extended): Adjust.
2116
2117 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2118
2119         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2120         timevar_id enumerations.
2121
2122 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2123
2124         * combine.c: Fix formatting.
2125
2126 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2127
2128         * doc/gccint.texi: Update the copyright.
2129
2130 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2131
2132         * doc/cpp.texi: Fix typos.
2133         * doc/extend.texi: Likewise.
2134         * doc/gty.texi: Likewise.
2135         * doc/install.texi: Likewise.
2136         * doc/passes.texi: Likewise.
2137         * doc/rtl.texi: Likewise.
2138         * doc/tm.texi: Likewise.
2139
2140 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2141
2142         * config/ia64/fde-glibc.c: Fix comment typos.
2143         * config/ia64/hpux.h: Likewise.
2144         * config/ia64/ia64.c: Likewise.
2145         * config/ia64/ia64.h: Likewise.
2146         * config/ia64/unwind-ia64.c: Likewise.
2147
2148 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2149
2150         * config/i386/i386-modes.def: Fix comment typos.
2151         * config/i386/i386.c: Likewise.
2152         * config/i386/i386.md: Likewise.
2153
2154 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2155
2156         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2157         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2158         ASM_FINISH_DECLARE_OBJECT before defining it.
2159         * toplev.c (rest_of_decl_compilation):  Don't define
2160         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2161         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2162         parameters for DWARF2 targets because they _are_ used.
2163
2164 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2165
2166         * fp-bit.h: Define macros for TFmode floating-point constants
2167         in IBM-extended TFmode types.
2168         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2169         widths.
2170         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2171         TFmode type.
2172
2173         * config/fp-bit.h: Define macros for TFmode floating-point
2174         constants in IEEE quad TFmode type.  Declare functions according
2175         to L_ macros.
2176         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2177         (TFtype, TItype, UTItype): Define if TMODES is defined.
2178         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2179         (F_T_BITOFF, D_T_BITOFF): Define.
2180         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2181         guaranteed to be wide enough.
2182         * config/fp-bit.c: Check for L_ macros for tf functions.
2183         (__thenan_tf): New.
2184         (nan): Adjust.
2185         (pack_d, unpack_d): Support IEEE 854 quad type.
2186         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2187         from FRAC_NBITS, FRAC_BITS and NGARDS.
2188         (usi_to_float): Cast constants to be shifted to fractype
2189         instead of assuming long long is wide enough.
2190         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2191
2192 2003-01-26  Andreas Jaeger  <aj@suse.de>
2193
2194         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2195
2196 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2197
2198         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2199         (DBBIT_FUNCS): Added _df_to_tf.
2200         (TPBIT_FUNCS): New.
2201         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2202         (LIBGCC_DEPS): Added TPBIT.
2203         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2204
2205         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2206         been able to move the result to target.
2207
2208         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2209         for the appropriate mode.
2210
2211         * calls.c (emit_library_call_value_1): Handle return values
2212         in a PARALLEL.
2213
2214         * rtl.c (get_mode_alignment): Moved to...
2215         * stor-layout.c: ... here.
2216
2217         * print-rtl.c (print_rtx): Don't print MEM details in
2218         GENERATOR_FILEs.
2219
2220 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2221
2222         * df.h: Update comments, tidy formatting.
2223         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2224         REVERSE, UNION, INTERSECTION.  All uses updated.
2225         (OLD_DF_INTERFACE): Remove.
2226         (struct insn_info): Remove commented out insn field.
2227         * df.c: Update comments, tidy formatting.
2228         (df_def_table_realloc): Remove.
2229
2230
2231 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
2232
2233         * calls.c (save_fixed_argument_area): Tidy.
2234         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
2235         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
2236         call chain loop at 1 if !try_tail_call.  Formatting.
2237         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2238         Use save_fixed_argument_area and restore_fixed_argument_area.
2239
2240 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2241
2242         * df.c (df_uses_record): Handle CC0.
2243
2244 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2245
2246         * reload.c (maybe_memory_address_p): New function.
2247         (find_reloads_address): Use it instead of memory_address_p.
2248
2249 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2250
2251         * final.c (shorten_branches): Align the address of code label
2252         when computing initial lengths and addresses.
2253
2254 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2255
2256         * config/m68hc11/m68hc11.md: Fix a comment typo.
2257
2258 2003-01-25  Andreas Jaeger  <aj@suse.de>
2259
2260         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2261         TARGET_MACHO.
2262
2263 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2264
2265         * gcse.c (bypass_last_basic_block): New global variable.
2266         (bypass_block):  Use redirect_edge_and_branch_force to redirect
2267         fall-through edges.  Use bypass_last_basic_block to determine
2268         which blocks have valid PRE information.
2269         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2270
2271 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2272
2273         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2274
2275 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2276                               Eric Botcazou <ebotcazou@libertysurf.fr>
2277         PR opt/8492
2278         * gcse.c (one_cprop_pass): Delete unreachable blocks.
2279
2280 2003-01-25  Richard Henderson  <rth@redhat.com>
2281
2282         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2283         from ia64_aix_select_rtx_section.
2284         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2285         instead of saving and restoring flag_pic.
2286         (ia64_rwreloc_unique_section): Similarly.
2287         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2288         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2289         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2290         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2291
2292 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2293
2294         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2295         comment.
2296
2297 2002-01-25  Richard Henderson  <rth@redhat.com>
2298
2299         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2300
2301 2002-01-25  Kelley Cook <kelleycook@comcast.net>
2302
2303         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2304
2305 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
2306
2307         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2308         type for bitmaps.  Use unsigned long.
2309         (nBITMAP_WORD_BITS): New macro.
2310         (BITMAP_WORD_BITS): New macro.
2311         (rest of file): Use it.
2312         * bitmap.c: Use it.
2313
2314 2003-01-25  Richard Henderson  <rth@redhat.com>
2315
2316         2002-02-19  Robert Lipe  <robertlipe@usa.net>
2317         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2318
2319 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2320
2321         * builtins.c (purge_builtin_constant_p): Scan insn stream
2322         sequentially rather than by basic block.
2323         * function.c (purge_addressof): Simplify test with INSN_P.
2324
2325 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2326
2327         * combine.c (simplify_comparison, case AND): Remove a redundant test.
2328
2329 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2330
2331         * function.h (struct function): New field calls_constant_p.
2332         (current_function_calls_constant_p): New macro for above.
2333         * function.c (prepare_function_start): Initialize calls_eh_return
2334         and calls_constant_p.
2335         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2336         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2337         when the current_function_calls_constant_p.
2338         * integrate.c (expand_inline_function): Set calls_constant_p if
2339         the function being inlined has calls_constant_p set.
2340
2341 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2342
2343         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2344         optimizing, even if flag_gcse is true.
2345         * toplev.c (rest_of_compilation): purge_builtin_constant_p
2346         only needs to be called when "optimize > 0 && flag_gcse".
2347
2348 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2349
2350         * stmt.c (emit_case_bit_tests): New routine to implement suitable
2351         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2352         (case_bit_test_cmp): New comparison function for "qsort" to order
2353         case_bit_tests by decreasing number of destination nodes.
2354         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2355         (expand_end_case_type): Use emit_case_bit_tests to implement
2356         suitable switch statments.
2357         (CASE_USE_BIT_TESTS): New target macro to disable the above.
2358         * Makefile.in (stmt.o): Add dependency on optab.h.
2359         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2360
2361 2003-01-23  Andreas Schwab  <schwab@suse.de>
2362
2363         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2364         __do_global_ctors_aux hidden global and don't put it in
2365         .init_array.
2366         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2367         instead so that it comes first.
2368
2369 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2370
2371         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
2372         subreg is read/modify.
2373
2374 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
2375
2376         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2377         do libcall for large blocks.
2378         * i386.md (comi patterns): Set type to ssecomi.
2379         (sse2_unpck?pd): Fix mode of vec_select.
2380
2381         * cse.c: Include except.h
2382         (cse_set_around_loop):  Do not create new basic blocks.
2383         * Makefile.in (cse.o): Add dependnecy on except.h
2384
2385 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2386
2387         * builtins.c (fold_trunc_transparent_mathfn): New function.
2388         (fold_builtin): Use it.
2389         * convert.c (convert_to_real): Re-enable code to convert
2390         math functions; add support for floor familly functions.
2391
2392 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2393
2394         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2395         dependencies on coretypes.h and $(TM_H).
2396
2397 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
2398
2399         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
2400
2401 2002-01-24  Stuart Hastings  <stuart@apple.com>
2402
2403         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
2404
2405 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2406
2407         * config/c4x/c4x.md (UNSPEC_BU): New constants.
2408         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2409         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2410         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2411         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
2412         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
2413         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
2414         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
2415
2416 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2417
2418         * emit-rtl.c (reg_attrs_htab): New static variable.
2419         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2420         functions.
2421         (reg_rtx): Do not maintain regno_decl.
2422         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2423         set_mem_attrs_from_reg): New global function.
2424         (init_emit): Do not initialize regno_decl.
2425         (init_emit_once): initialize reg_attrs_htab.
2426         * final.c (alter_subreg): Do not replace REG by SUBREG.
2427         (gen_mem_expr_from_op): Improve output.
2428         (output_asm_operands): Likewise.
2429         * function.c (assign_params): Do not set REGNO_DECL.
2430         * function.h (struct function): Kill regno_decl.
2431         (REGNO_DECL): Kill.
2432         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2433         * print_rtl.c (print_rtx): Output REG information.
2434         * regclass.c (reg_scan_mark_refs): Update attrs.
2435         * reload1.c (alter_reg): Likewise.
2436         * simplify_rtx.c (simplify_subreg): Likewise.
2437         * stmt.c (expand_decl): Likewise.
2438         * rtl.def (REG): Add new field.
2439         * rtl.h (struct reg_attrs): New.
2440         (rtunion_def): At rtreg.
2441         (X0MEMATTR): Add checking.
2442         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2443         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2444         Declare.
2445         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2446
2447 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2448
2449         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2450         (xtensa_emit_call, print_operand): Fix printf format strings
2451         to avoid compile warnings.
2452         (xtensa_function_prologue, xtensa_function_epilogue): Change type
2453         of "size" argument to HOST_WIDE_INT to fix compile warnings.
2454         * config/xtensa/xtensa-protos.h
2455         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2456
2457 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
2458
2459         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2460         (implicit_built_in_decls): New global array.
2461         (mathfn_built_in): New global function.
2462         (fold_trunc_transparent_mathfn): New static function
2463         (expand_builtin_strstr, expand_bultin_strchr,
2464         expand_builtin_strpbrk, expand_builtin_strcpy,
2465         expand_builtin_strncpy, expand_bultin_strcmp,
2466         expand_bultin_strncat, expand_builtin_fputs): Use
2467         implicint_built_in_decls.
2468         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2469         * builtins.def: Fix comments.
2470         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2471         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2472         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2473         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2474         (DEF_C99_C90RES_BULTIN): New.
2475         (*f, *l builtins): Update.
2476         * c-common.c (DEF_BUILTIN): Initialize implicit array.
2477         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2478         * convert.c (strip_float_extensions): New global function.
2479         * tree.h (DEF_BUILTIN): Accept 10 arguments.
2480         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2481         Declare.
2482         * java/builtins.c (define_builtin): Handle implicit.
2483         (DEF_BUILTIN): Update.
2484         * tm.texi (TARGET_C99_FUNCTIONS): Document.
2485         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2486         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2487         when using glibc2.
2488
2489 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2490
2491         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2492         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
2493         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2494         * config/xtensa/crti.asm: New file.
2495         * config/xtensa/crtn.asm: New file.
2496         * config/xtensa/t-elf: New file.
2497         * config/xtensa/t-linux: New file.
2498         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2499         Move various CFLAGS settings to new t-elf file.
2500
2501 2003-01-24  Richard Henderson  <rth@redhat.com>
2502
2503         PR optimization/4382
2504         * tree-inline.c (find_builtin_longjmp_call_1): New.
2505         (find_builtin_longjmp_call): New.
2506         (inlinable_function_p): Use it.
2507
2508 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2509
2510         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2511         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2512         * config/i386/i386.c (function_arg_pass_by_reference): New.
2513         (ix86_va_arg): Support arguments passed by reference.
2514
2515 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2516
2517         * cfgloopanal.c: New file.
2518         * cfgloopmanip.c: New file.
2519         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2520         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2521         cfglayout.o): Add dependency on cfgloop.h.
2522         (cfgloop.o): Add flags.h dependency.
2523         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2524         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2525         (struct loop, struct loops, flow_loops_find, flow_loops_update,
2526         flow_loops_free, flow_loops_dump, flow_loop_dump,
2527         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2528         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2529         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2530         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2531         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2532         find_common_loop, verify_loop_structure): Declarations moved to ...
2533         * cfgloop.h: New file.
2534         * bb-reorder.c (reorder_basic_blocks): Modified.
2535         * cfglayout.c: Include cfgloop.h.
2536         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2537         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2538         (break_superblocks): New static function.
2539         (cfg_layout_finalize): Use it.
2540         (cfg_layout_split_block): New function.
2541         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2542         fields.
2543         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2544         changed.
2545         (cfg_layout_split_block): Declare.
2546         * cfgloop.c: Include cfgloop.h and flags.h.
2547         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2548         get_loop_body): Avoid signed versus unsigned comparison warnings.
2549         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2550         loop_latch_edge): Modified.
2551         (verify_loop_structure): Modified to use flags stored in loop structure;
2552         check irreducible loops.
2553         (cancel_loop, cancel_loop_tree): New functions.
2554         (estimate_probability): Use loop analysis code for predictions.
2555         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
2556         warnings.
2557         * doloop.c: Include cfgloop.h.
2558         * loop.c: Include cfgloop.h.
2559         * predict.c: Include cfgloop.h.
2560         * toplev.c: Include cfgloop.h.
2561         * unroll.c: Include cfgloop.h.
2562         * tracer.c (tracer): Modified.
2563
2564 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2565
2566         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
2567
2568 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
2569
2570         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
2571         * configure: Regenerate.
2572
2573         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
2574         (tls_symbolic_reference_mentioned_p): Add prototype.
2575         (s390_tls_get_offset): Add prototype.
2576         (emit_pic_move): Remove prototype, replace by ...
2577         (emit_symbolic_move): .. this new prototype.
2578
2579         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
2580         (tls_model_chars): New global variable.
2581         (s390_encode_section_info): Encode TLS model.
2582         Use targetm.binds_local_p to check for local symbols.
2583         (s390_strip_name_encoding): New function.
2584         (TARGET_STRIP_NAME_ENCODING): Define.
2585
2586         (get_thread_pointer): New function.
2587         (legitimize_tls_address): New function.
2588         (legitimize_address): Call it.
2589         (emit_pic_move): Remove, replace by ...
2590         (emit_symbolic_move): ... this new function.
2591
2592         (larl_operand): Handle TLS operands.
2593         (legitimate_constant_p): Likewise.
2594         (s390_decompose_address): Likewise.
2595         (s390_cannot_force_const_mem): New function.
2596         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2597
2598         (s390_output_symbolic_const): Handle TLS unspecs.
2599         (print_operand): New code 'J'.
2600         (machine_function): Add struct member 'some_ld_name'.
2601         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2602
2603         (enum s390_builtin): New type.
2604         (code_for_builtin_64, code_for_builtin_31): New global variables.
2605         (s390_init_builtins, s390_expand_builtin): New functions.
2606         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2607
2608         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
2609         (ASM_OUTPUT_LABELREF): Define.
2610         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
2611
2612         * config/s390/s390.md: Define TLS UNSPEC constants.
2613         ("movdi", "movsi"): Handle TLS operands.
2614         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
2615         ("*tls_load_64", "*tls_load_31"): New insns.
2616         ("call_value_tls", "call_value_tls_exp"): New expanders.
2617         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
2618         "bas_tls_64", "bas_tls_31"): New insns.
2619
2620 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
2621
2622         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
2623         spe ABI is configured, if requested.
2624
2625 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2626
2627         * doc/passes.texi: Fix typo.
2628
2629 2003-01-24  Andreas Schwab  <schwab@suse.de>
2630
2631         * stor-layout.c (excess_unit_span): Only define if used.
2632
2633 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
2634
2635         * gcc/doc/invoke.texi (Optimization Options): List -O levels
2636         for each optimization flag.
2637
2638 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2639
2640         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
2641
2642 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2643
2644         * doc/bugreport.texi: Use @command instead of @code for commands.
2645         * doc/collect2.texi: Likewise.
2646         * doc/headerdirs.texi: Likewise.
2647         * doc/invoke.texi: Likewise.
2648         * doc/standards.texi: Likewise.
2649         * doc/tm.texi: Likewise.
2650         * doc/trouble.texi: Likewise.
2651
2652 2003-01-24  Nick Clifton  <nickc@redhat.com>
2653
2654         * config/arm/arm.c (use_return_insn): Do not use a single return
2655         instruction for interrupt handelrs which have to create a stack
2656         frame.
2657         (arm_expand_prologue): Do not pre-bias the return address of
2658         interrupt handlers which create a stack frame.
2659
2660 2003-01-24  Nick Clifton  <nickc@redhat.com>
2661
2662         * Add sh2e support:
2663
2664         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
2665
2666                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
2667                 med_cbranches.  Fix logic in short_cbranches.
2668
2669         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
2670
2671                 * config/sh/sh.md (delay for cbranch): Don't annul delay
2672                 slots on SH2e.
2673                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
2674                 cbranch with unfilled delay slot on SH2e.
2675                 (output_branch): Fill with a nop the delay slot of a
2676                 branch that required a delay slot but didn't get one.
2677
2678         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
2679
2680                 * doc/invoke.texi (SH options): Document -m2e.
2681                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
2682                 * config/sh/lib1funcs.asm: Likewise.
2683                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
2684                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
2685                 not __sh1__.
2686                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
2687                 SH2E up.
2688                 (SH3E_BIT): Renamed to...
2689                 (SH_E_BIT): ... this.  Replace all uses.
2690                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
2691                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
2692                 (TARGET_SWITCHES): Added 2e.
2693                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
2694                 (processor_type): Added PROCESSOR_SH2E.
2695                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
2696                 TARGET_SH2E, except in sqrtsf2_i.
2697                 (attribute cpu): Added sh2e.
2698                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
2699                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
2700                 * config.gcc: Add sh2e target support.
2701
2702 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
2703
2704         Rename -W to -Wextra.
2705         * c-decl.c:  Update comments.
2706         * c-typeck.c:  Likewise.
2707         * flags.h:  Likewise.
2708         * function.c:  Likewise.
2709         * stmt.c:  Likewise.
2710         * toplev.c:  Update comments.
2711         (W_options):  Add 'extra'.
2712         (display_help):  Remove '-W'.
2713         (decode_W_option):  Special warn_uninitialized treatment in the case
2714         of -Wextra.
2715         * doc/invoke.texi:  Update with new entries.
2716
2717 2003-01-23  Richard Henderson  <rth@redhat.com>
2718
2719         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
2720         in no-else-block case.  Add commentary.
2721
2722 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2723
2724         * configure.in: Revert last change.
2725
2726 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2727
2728         * configure.in: Don't include ansidecl.h in tconfig.h.
2729         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
2730         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
2731         ATTRIBUTE_UNUSED.
2732
2733         * configure: Regenerate.
2734
2735 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2736
2737         PR java/6748
2738         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
2739         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
2740         kernels.
2741
2742 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2743
2744         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
2745
2746 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
2747
2748         * genattrtab.c (write_attr_get): Mark 'insn' paramter
2749         as ATTRIBUTE_UNUSED.
2750
2751 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
2752
2753         * arm.c (thumb_base_register_rtx_p): New function.
2754         (thumb_index_register_rtx_p): New function.
2755         (thumb_legitimate_address_p): New function.
2756         (thumb_legitimate_offset_p): New function.
2757         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
2758         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
2759         definitions.
2760         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
2761         (THUMB_LEGITIMATE_OFFSET): Delte.
2762         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
2763         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
2764         (thumb_legitimate_offset_p): Likewise.
2765
2766 2003-01-23  Andreas Schwab  <schwab@suse.de>
2767
2768         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
2769
2770 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2771
2772         * fixinc/Makefile.in (FL_LIST): Revert last change.
2773
2774 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2775
2776         PR other/7341
2777         * invoke.texi (ftest-coverage): Fix broken cross-reference.
2778         Change @code to @command for gcov command.
2779
2780         * gcc.texi: Adjust title of gcov section.
2781         Adjust copyright.
2782         * gcov.texi: Likewise.
2783
2784 2003-01-22  Roger Sayle  <roger@eyesopen.com>
2785
2786         PR optimization/8423
2787         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
2788         its argument is constant, or 0 if !flag_gcse.
2789         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
2790         if it's argument is constant.
2791         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
2792         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
2793         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
2794         * builtins.c (purge_builtin_constant_p): New function to force
2795         instantiation of any remaining CONSTANT_P_RTX nodes.
2796         * rtl.h (purge_builtin_constant_p): Prototype here.
2797         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
2798         pass after GCSE and before loop.
2799         (flag_gcse): No longer static.
2800         * flags.h (flag_gcse): Prototype here.
2801
2802 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
2803
2804         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
2805         introduced by last change.
2806
2807 2003-01-22  Andreas Schwab  <schwab@suse.de>
2808
2809         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
2810
2811 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
2812
2813         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
2814         request a scratch reg on H8S when the shift count is 8.
2815
2816 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
2817
2818         * config/s390/s390-protos.h (preferred_la_operand_p):
2819         Remove second parameter.
2820         * config/s390/s390.c (preferred_la_operand_p): Likewise.
2821         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
2822         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
2823         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
2824         Add peepholes to transform ADD to LOAD ADDRESS.
2825
2826 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
2827
2828         * arm.c (arm_address_register_rtx_p): New function.
2829         (arm_legitimate_address_p): New function.
2830         (arm_legitimate_index_p): New function.
2831         (legitimize_pic_address): Use arm_legitimate_index_p.
2832         * arm-protos.h (arm_legtimate_address_p): Add prototype.
2833         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
2834         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
2835
2836 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
2837
2838         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
2839         * config/s390/2064.md (define_bypass): Correct 'Load' and
2840         'Load-address' bypass values.
2841
2842 2003-01-22  Andreas Schwab  <schwab@suse.de>
2843
2844         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
2845
2846 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2847
2848         * genautomata.c (output_internal_insn_latency_func,
2849         output_print_reservation_func): Short circuit when there is no
2850         automaton to generate code for.
2851
2852 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2853
2854         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
2855         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
2856
2857 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
2858
2859         * config/rs6000/rs6000.md: Remove warning.
2860         (builtin_setjmp_receiver): Likewise.
2861         * config/darwin.c (update_stubs): Slightly improve terrible hack
2862         with identifiers.  Add comment pointing out problems with it.
2863         (update_non_lazy_ptrs): Likewise.
2864
2865 2003-01-21  Richard Henderson  <rth@redhat.com>
2866
2867         * dwarf2out.c (lookup_filename): Fix printf format warning.
2868         * system.h (fread_unlocked, fwrite_unlocked): Undef.
2869
2870         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
2871         (fixincl.o-warn, gnu-regex.o-warn): New.
2872         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
2873         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
2874         * fixinc/fixincl.c (process): Fix printf format warning.
2875
2876 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
2877
2878         * dwarf2out (output_file_names): Don't crash if called
2879         with empty file_table.
2880
2881 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2882
2883         * genautomata.c (output_internal_insn_latency_func): Add
2884         missing break statement to generated code.
2885
2886 2003-01-21  Roger Sayle  <roger@eyesopen.com>
2887
2888         * stmt.c (same_case_target_p): New function to determine whether
2889         two case labels branch to the same target.  Split out from...
2890         (group_case_nodes): ... here.  Use same_case_target_p instead.
2891         (strip_default_case_nodes): Remove explicit case nodes
2892         that branch to the default destination.
2893         (expand_end_case_type): Call strip_default_case_nodes after
2894         group_case_nodes, to simplify the case-list before we count it.
2895         Only generate table_label RTX when actually needed.  Try to share
2896         thiscase->exit_label and thiscase->data.case_stmt.default_label
2897         when a switch has no explicit default case.  Simplify test for
2898         constant index.
2899
2900 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
2901
2902         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
2903         \t.
2904         (*negsf2_h8300hs): Likewise.
2905         (*addsi3_lshiftrt_16_zexthi): Likewise.
2906         (*iorhi3_lshiftrt_8): Likewise.
2907
2908 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
2909
2910         * dwarf2out.c (fde_table_in_use): Mark GTY.
2911         (dwarf2out_cfi_label_num): New variable, marked GTY.
2912         (dwarf2out_cfi_label): Use it instead of static label_num.
2913         * emit-rtl.c (label_num): Mark GTY.
2914
2915 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
2916
2917         * config/h8300/h8300.c (output_plussi): Support H8/300.
2918         (compute_plussi_length): Likewise.
2919         (compute_plussi_cc): Likewise.
2920         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
2921         output assembly instructions.
2922
2923 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2924
2925         * calls.c (fix_unsafe_tree): Prototype.
2926
2927         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
2928         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
2929         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
2930         c-parse.o-warn): Add -Wno-error.
2931         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
2932
2933         * configure.in (--enable-werror): Add new flag.
2934         * doc/install.texi (--enable-werror): Document.
2935         * configure: Regenerate.
2936
2937         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
2938
2939 2003-01-21  Andreas Schwab  <schwab@suse.de>
2940
2941         * genautomata.c (output_internal_insn_latency_func): Fix missing
2942         close paren in output.
2943
2944 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2945
2946         * genautomata.c: Space savings in generated code:
2947         (output_dfa_insn_code_func): Split out the table-enlargement
2948         path to an out-of-line static function, dfa_insn_code_enlarge.
2949         (output_internal_insn_latency_func): Use a lookup table for the
2950         default latencies.
2951         (output_print_reservation_func): Use a lookup table for the
2952         strings.
2953
2954 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2955
2956         PR opt/7507
2957         * calls.c (fix_unsafe_tree): Split out from ...
2958         (expand_call): ... here.  Use it on the function address too.
2959
2960 2003-01-20  Richard Henderson  <rth@redhat.com>
2961
2962         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2963
2964 2003-01-20  Richard Henderson  <rth@redhat.com>
2965
2966         PR opt/7154
2967         * stmt.c (expand_asm_operands): Validize memory operands.
2968
2969 2003-01-20  Richard Henderson  <rth@redhat.com>
2970
2971         PR opt/8848
2972         * ifcvt.c (noce_process_if_block): Correct arguments to
2973         modified_between_p for no-else-block case.
2974
2975 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2976
2977         * config/h8300/h8300.c (const_costs): Remove a warning.
2978         (output_plussi): Likewise.
2979         (compute_plussi_length): Likewise.
2980         (compute_plussi_cc): Likewise.
2981
2982 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2983
2984         * config/h8300/h8300.md (addsi_h8300): Remove the last
2985         alternative.
2986
2987 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2988
2989         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2990
2991 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2992
2993         * system.h (__NO_STRING_INLINES): Define.
2994
2995 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2996
2997         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
2998         is not a scalar int mode.
2999
3000 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3001
3002         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3003         insn's notes following a substitution inside a libcall.
3004
3005 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3006
3007         * configure.in: Check for system-provided 'uchar' type.
3008         * configure, config.in: Regenerate.
3009         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3010
3011 2003-01-20  Richard Henderson  <rth@redhat.com>
3012
3013         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3014         * calls.c (default_must_pass_in_stack): ... here.
3015
3016 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3017
3018         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3019
3020         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3021
3022         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3023         Wrap up definition of `insn_alts'.
3024
3025         * genattrtab.c (main): Wrap up `insn_alts'.
3026
3027 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3028
3029         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3030         prototyping.
3031         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3032
3033         * config.in, configure: Regenerate.
3034
3035 2003-01-20  Nick Clifton  <nickc@redhat.com>
3036
3037         * config/arm/arm.md (sibcall_epilogue): Add an
3038         UNSPEC_PROLOGUE_USE to prevent the link register from being
3039         considered dead.
3040
3041 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3042
3043         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3044
3045 2003-01-20  Andreas Schwab  <schwab@suse.de>
3046
3047         * system.h: Don't declare strsignal if the decl test hasn't been
3048         run yet.
3049
3050 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3051
3052         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3053         recog_data.operands[0] is always associated with cc0.
3054
3055 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3056
3057         * collect2.c (ldgetname): Expand declaration to prototype.
3058         * read-rtl.c (atoll): Add prototype.
3059         * system.h (strsignal): Also declare if no declaration found.
3060
3061 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3062
3063         * config.gcc (mips64*-*-linux*): Added.
3064         * config/mips/linux64.h, config/mips/t-linux64: New file.
3065         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3066         * config/mips/mips.c (override_options): Use it.
3067         * config/mips/mips.h (TARGET_SWITCHES): Added...
3068         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3069         * Makefile.in (SPECS): New.
3070         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3071         * gcc.c (process_command): Move self-spec processing past spec
3072         file loading.
3073         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3074         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3075         CRTSTUFF_T_CFLAGS.
3076         (SPECS): Document.
3077         * doc/invoke.texi (-mabi-fake-default): Document.
3078
3079 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3080
3081         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3082         z_reg, z_reg_qi): Declare static and GTY().
3083         (da_reg): Remove.
3084         (create_regs_rtx): Don't create da_reg.
3085         ("gt-m68hc11.h"): Include for GTY roots.
3086         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3087         and GTY() here.
3088         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3089         (m68hc11_soft_tmp_reg): Likewise.
3090         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3091
3092 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3093
3094         * basic-block.h: Fix comment formatting.
3095         * calls.c: Likewise.
3096         * combine.c: Likewise.
3097         * convert.c: Likewise.
3098         * gcov.c: Likewise.
3099         * haifa-sched.c: Likewise.
3100         * libgcc2.c: Likewise.
3101         * loop.c: Likewise.
3102         * profile.c: Likewise.
3103         * system.h: Likewise.
3104
3105 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3106
3107         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3108
3109 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3110
3111         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3112
3113 2003-01-17  Dale Johannesen  <dalej@apple.com>
3114
3115         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3116           (*floatunssidf2_internal):  Ditto.
3117
3118 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3119
3120         * alias.c: Fix comment typos.
3121         * basic-block.h: Likewise.
3122         * c-common.c: Likewise.
3123         * c-common.h: Likewise.
3124         * c-decl.c: Likewise.
3125         * c-opts.c: Likewise.
3126         * c-pragma.c: Likewise.
3127         * c-pretty-print.h: Likewise.
3128         * cfg.c: Likewise.
3129         * cfganal.c: Likewise.
3130         * cfgbuild.c: Likewise.
3131         * cfgcleanup.c: Likewise.
3132         * cfglayout.c: Likewise.
3133         * cfgrtl.c: Likewise.
3134         * convert.c: Likewise.
3135         * cpphash.h: Likewise.
3136         * cpplex.c: Likewise.
3137         * cpplib.h: Likewise.
3138         * df.h: Likewise.
3139         * diagnostic.c: Likewise.
3140         * diagnostic.h: Likewise.
3141         * dwarf2.h: Likewise.
3142
3143 2003-01-17  Stan Shebs  <shebs@apple.com>
3144
3145         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3146
3147 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3148
3149         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3150         mistake in last checkin.
3151
3152 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3153
3154         * et-forest.c: Fix comment typos.
3155         * et-forest.h: Likewise.
3156         * except.c: Likewise.
3157         * expr.c: Likewise.
3158         * flags.h: Likewise.
3159         * flow.c: Likewise.
3160         * gcc.c: Likewise.
3161         * gcse.c: Likewise.
3162         * genattrtab.c: Likewise.
3163         * genautomata.c: Likewise.
3164         * gengtype.c: Likewise.
3165         * genrecog.c: Likewise.
3166         * global.c: Likewise.
3167         * gthr-rtems.h: Likewise.
3168
3169 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3170
3171         * i386.c (x86_function_profiler): Fix format specifier.
3172
3173 2003-01-17  Richard Henderson  <rth@redhat.com>
3174
3175         * gengtype.c (walk_type): Allow paramN_is.
3176
3177 2003-01-17  Nick Clifton  <nickc@redhat.com>
3178
3179         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3180
3181 2003-01-16  Richard Henderson  <rth@redhat.com>
3182
3183         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3184
3185 2003-01-16  Richard Henderson  <rth@redhat.com>
3186
3187         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3188         (alpha_next_sequence_number): Likewise.
3189         (alpha_this_literal_sequence_number): Likewise.
3190         (alpha_this_gpdisp_sequence_number): Likewise.
3191         (struct alpha_funcs, alpha_funcs_num): Likewise.
3192         (struct alpha_links): Fix branch merge error.
3193         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3194
3195 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3196
3197         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3198         R. Ghazi.
3199
3200 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3201
3202         * ifcvt.c: Fix comment typos.
3203         * lcm.c: Likewise.
3204         * libgcc2.c: Likewise.
3205         * local-alloc.c: Likewise.
3206         * loop.c: Likewise.
3207         * predict.c: Likewise.
3208         * ra-build.c: Likewise.
3209         * ra.c: Likewise.
3210         * ra-colorize.c: Likewise.
3211         * ra.h: Likewise.
3212         * ra-rewrite.c: Likewise.
3213         * regmove.c: Likewise.
3214         * reload.h: Likewise.
3215         * rtlanal.c: Likewise.
3216         * toplev.c: Likewise.
3217         * tree.h: Likewise.
3218         * unwind-dw2-fde-glibc.c: Likewise.
3219         * vmsdbgout.c: Likewise.
3220
3221 2003-01-16  Richard Henderson  <rth@redhat.com>
3222
3223         * dwarf2out.c (struct file_table): Remove.
3224         (FILE_TABLE_INCREMENT): Remove.
3225         (file_table): Make a varray; mark for GC.  Update all users.
3226         (file_table_last_lookup_index): Extract from struct file_table.
3227         (output_file_names): Fix unsigned compare warnings.
3228         (add_name_attribute): Remove inline marker.
3229         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3230         (lookup_filename): Don't manage size of file_table.
3231         (init_file_table): Allocate file_table with GC.
3232         (dwarf2out_init): Don't record main_input_filename here.
3233         (dwarf2out_finish): Do it here instead.
3234
3235 2003-01-16  Bruce Korb  <bkorb@gnu.org>
3236
3237         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3238
3239 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
3240
3241         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3242         instead of rotldi3_mextr.
3243
3244 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
3245
3246         * haifa-sched.c (move_insn): Restore moving all schedule group.
3247         (set_priorities): Restore taking SCHED_GROUP_P into account.
3248
3249         * sched-deps.c (add_dependence): Restore processing the last group
3250         insn.
3251         (remove_dependence, group_leader): Restore the functions.
3252         (set_sched_group_p): Restore adding dependencies from previous insn
3253         in the group.
3254         (compute_forward_dependences): Restore usage of group_leader.
3255
3256         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3257         account.
3258
3259         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3260         account.
3261         (can_schedule_ready_p): Ditto.
3262         (add_branch_dependences): Restore skipping over the group insns.
3263
3264 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3265
3266         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3267         68HC12 pre/post inc/dec side effects.
3268
3269 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3270
3271         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3272
3273 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
3274
3275         * sh.md (mshflo_w_x): Fix description of operation.
3276
3277 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
3278
3279         * config/rs6000/rs6000.h: Mention Altivec registers in
3280         commentary.  Fix typo.
3281
3282 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
3283
3284         * config/rs6000/rs6000.md (movti_string): Remove clobber.
3285         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3286         generate PARALLEL with clobber for TARGET_POWER.
3287
3288 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3289
3290         * ra-colorize.c (colorize_one_web): Initialize variable.
3291         * regmove.c (fixup_match_1): Likewise.
3292         * reload1.c (reload_as_needed): Likewise.
3293         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3294
3295 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3296
3297         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3298
3299 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3300
3301         * dbxout.c (lastfile, cwd): Fix `unused' warning.
3302         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3303         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3304         is_main_source, file_table, decl_die_table_in_use,
3305         abbrev_die_table_in_use, line_info_table_in_use,
3306         separate_line_info_table_in_use, pubname_table_in_use,
3307         arange_table_in_use, ranges_table_in_use,
3308         current_function_has_inlines): Likewise.
3309         * flow.c (life_analysis): Likewise.
3310         * genemit.c (gen_insn): Likewise.
3311         * protoize.c (cplus_suffix): Likewise.
3312
3313         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3314         * arm.h (ROUND_UP_WORD): Likewise.
3315
3316         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3317         warning.
3318         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3319         init_emit_once): Likewise.
3320         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3321         Likewise.
3322         * function.c (assign_stack_temp_for_type): Likewise.
3323         * loop.c (loop_invariant_p): Likewise.
3324         * recog.c (push_operand): Likewise.
3325         * regclass.c (init_reg_sets_1): Likewise.
3326         * reload.c (update_auto_inc_notes): Likewise.
3327         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3328         * stmt.c (expand_asm_operands): Likewise.
3329         * stor-layout.c (start_record_layout): Likewise.
3330
3331 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3332
3333         * config/c4x/c4x.md (epilogue): Correct last patch.
3334
3335 2003-01-15  Richard Henderson  <rth@redhat.com>
3336
3337         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3338         also check that GP is being used.
3339         (alpha_find_lo_sum_using_gp): New.
3340         (alpha_does_function_need_gp): Use get_attr_usegp.
3341         * config/alpha/alpha-protos.h: Update.
3342         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
3343         as needed.
3344
3345 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3346
3347         * gcse.c (one_cprop_pass): Change function arguments to take both
3348         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3349         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3350         (bypass_jumps): New function to perform separate jump bypassing pass.
3351         * rtl.h (bypass_jumps): Add function prototype.
3352         * timevar.def (TV_BYPASS): New timing variable.
3353         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3354         (dump_file): New entry for the bypass RTL dump file.
3355         (rest_of_compilation): Insert new jump bypassing optimization
3356         pass after loop.
3357         * doc/passes.texi: Document new pass.
3358
3359 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3360
3361         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3362         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3363         * pa.h (TARGET_SOM_SDEF): Define.
3364         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3365
3366 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3367
3368         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
3369         allocate 4-bytes of locals on 68HC11.
3370         (expand_epilogue): Likewise.
3371         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3372
3373 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3374
3375         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3376         and -mshort-double to the assembler to specify the ABI.
3377         (LINK_SPEC): Likewise.
3378         (CPP_SPEC): Pass HCS12 specific define.
3379         (MASK_M68S12): New define.
3380         (TARGET_M68S12): Likewise.
3381         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3382         (TARGET_VERSION): Update.
3383         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3384         (LINK_SPEC): Update.
3385         (ASM_SPEC): Update.
3386         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3387         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3388
3389 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3390
3391         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3392         the return code.
3393
3394 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3395
3396         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3397         flag before setting it.
3398
3399 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3400
3401         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
3402         when loop condition is known true, i.e.  "while (1) { ... }".
3403         (genrtl_for_stmt): Similarly for "for" statements.
3404
3405 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3406
3407         * real.c (real_sqrt): Return a bool result indicating whether
3408         a floating point exception or trap should be raised.
3409         * real.h (real_sqrt): Update function prototype.
3410         * builtins.c (fold_builtin): Only fold non-trapping square
3411         roots unless we're ignoring errno and trapping math.
3412
3413 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
3414
3415         * expr.h (emit_conditional_add): Add PARAMS to declaration.
3416         * gengtype-lex.l (malloc, realloc): Move defines after include of
3417         system.h.  Remove duplicate include of system.h.
3418
3419 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3420
3421         PR middle-end/9009
3422         * optabs.c (expand_unop):  When manipulating the FP sign bit
3423         using integer operations, account for targets with different
3424         integer and FP word orders.
3425         (expand_abs): Likewise.
3426
3427 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
3428
3429         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3430         file extension in section name.
3431
3432 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3433
3434         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3435         constant offset.
3436
3437 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3438
3439         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3440         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3441         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3442         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3443
3444 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
3445
3446         PR f/9258
3447         * global.c (struct allocno): Add no_stack_reg.
3448         (global_conflicts): Set no_stack_reg.
3449         (find_reg): Use it.
3450
3451         * convert.c (convert_to_real): Fold - and abs only when profitable.
3452         * fold-const.c (fold): Fold truncates in - and abs.
3453
3454 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3455
3456         Segher Boessenkool  <segher@koffie.nl>
3457
3458         * predict.c (real_inv_br_prob_base): New variable.
3459         (propagate_freq): Use multiply by reciprocal instead of
3460         division.  Don't divide by 1.0 at all.
3461         (estimate_bb_frequencies): Similar.
3462
3463 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3464
3465         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3466         * configure: Rebuilt.
3467
3468 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
3469
3470         * config/s390/s390.c (s390_safe_attr_type): New function.
3471         (s390_use_dfa_pipeline_interface): New function, return true for z900.
3472         (s390_issue_rate): New function.
3473         (s390_agen_dep_p): New function.
3474         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3475         (s390_adjust_cost): Return 'cost' if new DFA is used.
3476         (s390_adjust_priority): Delete function.
3477         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3478         * config/s390/s390.md (atype attribute): Attribute 'atype' default
3479         determined by 'op_type'.
3480         (type attribute): Added more type attributes.
3481         * config/s390/2064.md: New DFA description for z900 pipeline.
3482
3483 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3484
3485         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3486         forced to memory.  Fixes PR bootstrap/9036.
3487
3488         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3489         to set $gp before the call.
3490
3491 2003-01-14  Richard Henderson  <rth@redhat.com>
3492
3493         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3494         for force_const_mem.
3495
3496 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3497
3498         * genattr.c (main): Rearrange output to avoid prototype warning.
3499         * genautomata.c (transform_3): Fix ambiguous-else warning.
3500         * local-alloc.c (requires_inout): Add parentheses around
3501         assignment used as truth-value.
3502         * timevar.c: Move system includes above local includes.  Include
3503         toplev.h
3504         * Makefile.in (timevar.o): Depend on toplev.h.
3505
3506 2003-01-14  Denis Chertykov  <denisc@overta.ru>
3507
3508         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3509         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3510
3511         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
3512         attributes.
3513         (TARGET_ATTRIBUTE_TABLE): New macro.
3514         (valid_machine_type_attribute): Remove.
3515         (valid_machine_decl_attribute): Remove.
3516         (ip2k_handle_progmem_attribute): New function.
3517         (ip2k_handle_fndecl_attribute): New function.
3518
3519 2003-01-10  Andrew Haley  <aph@redhat.com>
3520
3521         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3522         registers to be in correct order.  Add rip.
3523
3524 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
3525
3526         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3527         (*iorsi3_and_lshiftrt_9_sb): Likewise.
3528
3529 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3530
3531         * convert.c (strip_float_extensions):  Look for narrowest type handling
3532         FP constants.
3533
3534         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
3535         float1 CMP float2.
3536         * convert.c (strip_float_extensions): Make global.
3537         * tree.h (strip_float_extensions): Declare.
3538
3539 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3540
3541         * timevar.def: define TV_NAME_LOOKUP.
3542         * timevar.c (timevar_pop): Be verbose when aborting.
3543
3544 2003-01-13  Andreas Schwab  <schwab@suse.de>
3545
3546         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3547         $(parsedir), just move the temporary file at the end.
3548         ($(parsedir)/gengtype-yacc.c): Likewise.
3549
3550 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
3551
3552         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3553         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
3554         splitting.
3555         * configure: Rebuilt.
3556
3557 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3558
3559         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3560         internal_mcount): Don't use PARAMS.
3561         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3562         ISO C style.
3563         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
3564
3565 2003-01-13  Andreas Schwab  <schwab@suse.de>
3566
3567         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
3568         directive.
3569
3570 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
3571
3572         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
3573         (*iorsi3_and_lshiftrt_n_sb): Likewise.
3574
3575 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
3576
3577         PR c++/9264
3578         * c-lex.c (c_lex): Set the token value to error_mark_node for
3579         invalid numeric constants.
3580
3581 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3582
3583         * c-pch.c (asm_file_startpos): Change to `long'.
3584         (pch_init): Use ftell, not ftello.
3585         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
3586         Use `long' instead of `off_t'.
3587         (c_common_read_pch): Likewise.
3588         * ggc-common.c (gt_pch_save): Use long/ftell instead of
3589         off_t/ftello.
3590
3591 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
3592
3593         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
3594
3595 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
3596
3597         * arm-protos.h (struct cpp_reader): Add declaration.
3598
3599 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
3600
3601         PR target/9068
3602         * i386.c (output_fp_compare): Fix typo.
3603
3604 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
3605
3606         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
3607
3608 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
3609
3610         * Makefile.in (parsedir): New variable.
3611         (docobjdir): New variable.
3612         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3613         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
3614         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
3615         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
3616         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3617         Use docobjdir.
3618         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
3619         objc.maintainer-clean): Use parsedir.
3620
3621         * varasm.c (struct constant_descriptor_rtx): Remove unused
3622         `label' field.
3623
3624         * toplev.c (documented_lang_options): Document -Winvalid-pch.
3625
3626 2003-01-10  Richard Henderson  <rth@redhat.com>
3627
3628         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
3629         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
3630
3631 2003-01-10  Richard Henderson  <rth@redhat.com>
3632
3633         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
3634         not INTEGRAL_MODE_P when widening extensions.
3635
3636 2003-01-10  Richard Henderson  <rth@redhat.com>
3637
3638         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
3639
3640 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
3641
3642         * ggc-page.c (ggc_collect): Avoid overflow computing
3643         min_expand.
3644
3645         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
3646         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
3647         Remove calls.
3648         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
3649
3650 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
3651
3652         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
3653         with weird operands.
3654
3655 2003-01-10  Dale Johannesen <dalej@apple.com>
3656
3657         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
3658         parameters.  Call check_sibcall_argument_overlap if indicated.
3659         (check_sibcall_argument_overlap):  Add mark_stored_args_map
3660         parameter.  Don't mark parameter area as clobbered if not set.
3661         (expand_call):  Adjust calls to above.
3662
3663 2003-01-10 Kelley Cook <kelleycook@comcast.net>
3664
3665         * configure.in (linker read-only and read-write section mixing):
3666         Squelch some assembler warnings.
3667         * configure: Likewise.
3668
3669 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
3670
3671         * doc/invoke.texi: Document -mtune, delete -mcpu
3672         option for S/390 and zSeries.
3673         * config/s390/s390.c (s390_tune_string) New variable.
3674         (s390_cpu_string) Delete variable.
3675         (override_options): Use s390_tune_string instead of
3676         s390_cpu_string.
3677         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
3678
3679 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
3680
3681         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
3682
3683 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
3684
3685         * jump.c (next_nonnote_insn_in_loop): New function.
3686         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
3687         next_nonnote_insn.
3688         (duplicate_loop_exit_test). Likewise.
3689
3690 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
3691
3692         Merge from pch-branch:
3693
3694         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
3695
3696         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
3697         load.
3698
3699         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
3700
3701         * cpplib.c (count_registered_pragmas): New function.
3702         (save_registered_pragmas): New function.
3703         (_cpp_save_pragma_names): New function.
3704         (restore_registered_pragmas): New function.
3705         (_cpp_restore_pragma_names): New function.
3706         * cpphash.h (_cpp_save_pragma_names): Prototype.
3707         (_cpp_restore_pragma_names): Likewise.
3708         * cpppch.c (struct save_macro_item): Split from save_macro_data.
3709         (struct save_macro_data): New field 'saved_pragmas'.
3710         (save_macros): Update for changes to struct save_macro_data.
3711         (cpp_prepare_state): Call _cpp_save_pragma_names, update
3712         for changes to struct save_macro_data.
3713         (cpp_read_state): Call _cpp_restore_pragma_names, update
3714         for changes to struct save_macro_data.
3715
3716         * cpppch.c (cpp_read_state): Restore the hashtable references
3717         in the cpp_reader.
3718
3719         * tree.h (built_in_decls): Mark for PCH.
3720
3721         * dbxout.c (lastfile): Don't mark for PCH.
3722
3723         * ggc.h: Document PCH calls into memory managers.
3724
3725         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3726
3727         * doc/invoke.texi (Precompiled Headers): Document the
3728         directory form of PCH.
3729         * cppfiles.c (validate_pch): New function.
3730         (open_file_pch): Search suitably-named directories for PCH files.
3731
3732         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
3733
3734         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
3735         reorder options.
3736         (Type Information): Mention that the information is also
3737         used to implement PCH.
3738         * doc/passes.texi (Passes): Improve documentation of
3739         language-specific files.
3740
3741         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
3742
3743         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
3744         (struct walk_type_data): Add reorder_fn field.
3745         (walk_type): Process 'reorder' option.
3746         (write_types_process_field): Reorder parameters to gt_pch_note_object,
3747         call reorder_note_routine.
3748         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
3749         (ggc_wtd): Update for change to struct write_types_data.
3750         (pch_wtd): Likewise.
3751         * ggc.h (gt_pch_note_object): Reorder parameters.
3752         (gt_handle_reorder): New definition.
3753         (gt_pch_note_reorder): New prototype.
3754         * ggc-common.c (struct ptr_data): Add reorder_fn.
3755         (gt_pch_note_object): Reorder parameters.
3756         (gt_pch_note_reorder): New.
3757         (gt_pch_save): Call reorder_fn.
3758         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
3759
3760         * dbxout.c (cwd): Don't mark for PCH.
3761
3762         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
3763
3764         * gengtype.c (finish_root_table): Fix some warnings.
3765         (write_root): Handle TYPE_STRING.
3766         * ggc.h (gt_ggc_m_S): Add prototype.
3767         * stringpool.c (gt_ggc_m_S): New function.
3768
3769         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
3770
3771         * dwarf2out.c (dw2_string_counter): New.
3772         (AT_string_form): Use it.
3773         (same_dw_val_p): Update for removal of hashtable.h hash tables.
3774
3775         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
3776
3777         * dbxout.c: Include gt-dbxout.h.
3778         (lastfile): Mark for PCH/GGC.
3779         (cwd): Likewise.
3780         (struct typeinfo): Likewise.
3781         (typevec): Likewise.
3782         (typevec_len): Likewise.
3783         (next_type_number): Likewise.
3784         (struct dbx_file): Likewise.
3785         (current_file): Likewise.
3786         (next_file_number): Likewise.
3787         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
3788         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
3789         (dbxout_end_source_file): Don't free struct dbx_file.
3790         (dbxout_type): Use GGC to allocate typevec.
3791         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
3792         (GTFILES): Add dbxout.c.
3793         (gt-dbxout.h): New rule.
3794
3795         * Makefile.in (c-pch.o): Add debug.h as dependency.
3796         * c-pch.c: Include debug.h.
3797         (pch_init): Call start_source_file to keep nesting right.
3798         (c_common_read_pch): Add orig_name parameter.  Call
3799         start_source_file debug hook.  Call end_source_file debug hook.
3800         * c-common.h (c_common_read_pch): Update prototype.
3801         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
3802         callback.
3803         * cppfiles.c (struct include_file): Add new field `header_name'.
3804         (find_or_create_entry): Default it to `name'.
3805         (open_file_pch): Set it to the original header file searched for.
3806         (stack_include_file): Don't stack an empty buffer, just handle
3807         PCH files immediately.  Pass header_name field to read_pch callback.
3808
3809         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
3810
3811         * function.c (funcdef_no): Mark to be saved in a PCH.
3812
3813         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
3814
3815         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
3816
3817         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
3818
3819         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
3820
3821         * optabs.h (code_to_optab): Add GTY marker.
3822
3823         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
3824
3825         * Makefile.in (GTFILES): Add cpplib.h.
3826         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
3827         * c-decl.c (build_compound_literal): Don't use var_labelno.
3828         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
3829         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
3830         * varasm.c (const_labelno): Use gengtype to mark.
3831         (var_labelno): Likewise.
3832         (in_section): Likewise.
3833         (in_named_name): Likewise.
3834         (struct in_named_entry): Likewise.
3835         (in_named_htab): Likewise.
3836         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
3837         (init_varasm_once): Use GGC to allocate in_named_htab.
3838         * config/darwin.c (current_pic_label_num): Mark for PCH.
3839
3840         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
3841
3842         * ggc-simple.c (init_ggc_pch): New stub procedure.
3843         (ggc_pch_count_object): Likewise.
3844         (ggc_pch_total_size): Likewise.
3845         (ggc_pch_this_base): Likewise.
3846         (ggc_pch_alloc_object): Likewise.
3847         (ggc_pch_prepare_write): Likewise.
3848         (ggc_pch_write_object): Likewise
3849         (ggc_pch_finish): Likewise.
3850         (ggc_pch_read): Likewise.
3851
3852         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
3853
3854         * c-pch.c (c_common_write_pch): Write the macro definitions after
3855         the GCed data.
3856         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
3857         definitions after the GCed data.
3858         * cpplib.c (save_macros): New.
3859         (reset_ht): New.
3860         (cpp_write_pch_deps): Split out of cpp_write_pch.
3861         (cpp_write_pch_state): Split out of cpp_write_pch.
3862         (cpp_write_pch): Delete.
3863         (struct save_macro_data): Delete.
3864         (cpp_prepare_state): New.
3865         (cpp_read_state): Erase and restore initial macro definitions.
3866         * cpplib.h (struct save_macro_data): Forward-declare.
3867         (cpp_write_pch_deps): Prototype.
3868         (cpp_write_pch_state): Prototype.
3869         (cpp_write_pch): Delete prototype.
3870         (cpp_prepare_state): Prototype.
3871         (cpp_read_state): Add fourth argument.
3872
3873         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
3874
3875         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
3876         (write_array): Remove warning.
3877
3878         * gengtype.c (contains_scalar_p): New.
3879         (finish_root_table): Add the table to all languages, even if it's
3880         empty.
3881         (write_roots): Output gt_pch_scalar_rtab.
3882         * ggc-common.c (gt_pch_save): Write out scalars.
3883         (gt_pch_restore): Read scalars back.
3884
3885         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
3886         (struct page_entry): Delete pch_page field.
3887         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
3888         (clear_marks): Likewise.
3889         (sweep_pages): Likewise.
3890         (poison_pages): Likewise.
3891         (ggc_print_statistics): Likewise.
3892         (ggc_pch_read): Don't free objects read from a PCH.
3893         Properly set up in_use_p and page_tails.
3894
3895         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
3896
3897         * gengtype.c (struct write_types_data): New.
3898         (struct walk_type_data): Make `cookie' const; add extra
3899         prev_val item; add `orig_s' field.
3900         (walk_type): Update prev_val[3].
3901         (write_types_process_field): New.
3902         (write_func_for_structure): Take write_types_data structure.
3903         (write_types): New.
3904         (ggc_wtd): New.
3905         (pch_wtd): New.
3906         (write_types_local_process_field): New.
3907         (gc_mark_process_field): Delete.
3908         (write_local_func_for_structure): New.
3909         (gc_mark_func_name): Delete.
3910         (write_gc_types): Delete.
3911         (write_local): New.
3912         (finish_root_table): Don't include 'ggc_' in PFX.
3913         (write_root): Rename from write_root.  Fill pchw field of structures.
3914         (write_array): New.
3915         (write_roots): Rename from write_gc_roots.  Split out to write_array.
3916         Update to changes to other routines.  Write gt_pch_cache_rtab table.
3917         (main): Write PCH walking routines.
3918         * ggc-common.c: Include toplev.h, sys/mman.h.
3919         (ggc_mark_roots): For cache hashtables, also mark the hash table
3920         and the array of entries.
3921         (saving_htab): New.
3922         (struct ptr_data): New.
3923         (POINTER_HASH): New.
3924         (gt_pch_note_object): New.
3925         (saving_htab_hash): New.
3926         (saving_htab_eq): New.
3927         (struct traversal_state): New.
3928         (call_count): New.
3929         (call_alloc): New.
3930         (compare_ptr_data): New.
3931         (relocate_ptrs): New.
3932         (write_pch_globals): New.
3933         (struct mmap_info): New.
3934         (gt_pch_save): New.
3935         (gt_pch_restore): New.
3936         * ggc-page.c (ROUND_UP_VALUE): New.
3937         (ROUND_UP): New.
3938         (struct page_entry): Add field `pch_page'.
3939         (init_ggc): Use ROUND_UP.
3940         (struct ggc_pch_data): Declare.
3941         (init_ggc_pch): New.
3942         (ggc_pch_count_object): New.
3943         (ggc_pch_total_size): New.
3944         (ggc_pch_this_base): New.
3945         (ggc_pch_alloc_object): New.
3946         (ggc_pch_prepare_write): New.
3947         (ggc_pch_write_object): New.
3948         (ggc_pch_finish): New.
3949         (ggc_pch_read): New.
3950         * ggc.h (gt_pointer_operator): New.
3951         (gt_note_pointers): New.
3952         (gt_pch_note_object): New prototype.
3953         (gt_pointer_walker): New.
3954         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
3955         (LAST_GGC_ROOT_TAB): Update.
3956         (gt_pch_cache_rtab): Declare.
3957         (gt_pch_scalar_rtab): Declare.
3958         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
3959         (LAST_GGC_CACHE_TAB): Update.
3960         (gt_pch_save_stringpool): Declare.
3961         (gt_pch_restore_stringpool): Declare.
3962         (gt_pch_p_S): Declare.
3963         (gt_pch_n_S): Declare.
3964         (struct ggc_pch_data): Forward-declare.
3965         (init_ggc_pch): Declare.
3966         (ggc_pch_count_object): Declare.
3967         (ggc_pch_total_size): Declare.
3968         (ggc_pch_this_base): Declare.
3969         (ggc_pch_alloc_object): Declare.
3970         (ggc_pch_prepare_write): Declare.
3971         (ggc_pch_write_object): Declare.
3972         (ggc_pch_finish): Declare.
3973         (ggc_pch_read): Declare.
3974         (gt_pch_save): Declare.
3975         (gt_pch_restore): Declare.
3976         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3977         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3978         const_double_htab, mem_attrs_htab using GGC.
3979         * c-pch.c: Include ggc.h.
3980         (pch_init): Allow reading PCH file back.
3981         (c_common_write_pch): Call gt_pch_save.
3982         (c_common_read_pch): Call gt_pch_restore.
3983         * c-parse.in (init_reswords): Delete now-untrue comment.
3984         Allocate ridpointers using GGC.
3985         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3986         calling expand_deferred_fns.
3987         * c-common.h (ridpointers): Mark for GTY machinery.
3988         * Makefile.in (stringpool.o): Update dependencies.
3989         (c-pch.o): Update dependencies.
3990         (ggc-common.o): Update dependencies.
3991         * stringpool.c: Include gt-stringpool.h.
3992         (gt_pch_p_S): New.
3993         (gt_pch_n_S): New.
3994         (struct string_pool_data): New.
3995         (spd): New.
3996         (gt_pch_save_stringpool): New.
3997         (gt_pch_restore_stringpool): New.
3998         * tree.c (init_ttree): Make type_hash_table allocated using GC.
3999
4000         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4001
4002         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4003         (output_mangled_typename): Don't pass size_t to printf.
4004
4005         * tree.h (union tree_type_symtab): Add tag to `address' field.
4006         (union tree_decl_u2): Add tag to 'i' field.
4007         * varasm.c (union rtx_const_un): Add tags to all fields.
4008         * gengtype.c (struct walk_type_data): New.
4009         (output_escaped_param): Take struct walk_type_data parameter.
4010         (write_gc_structure_fields): Delete.
4011         (walk_type): New.
4012         (write_gc_marker_routine_for_structure): Delete.
4013         (write_func_for_structure): New.
4014         (gc_mark_process_field): New.
4015         (gc_mark_func_name): New.
4016         (gc_counter): Delete.
4017         (write_gc_types): Use write_func_for_structure.
4018         (write_gc_roots): Use walk_type.
4019
4020         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4021
4022         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4023         (ggc_splay_dont_free): Fix warning about unused 'x'.
4024         (ggc_print_common_statistics): Remove warnings.
4025
4026         2002-10-01  Mike Stump  <mrs@apple.com>
4027
4028         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4029         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4030
4031         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4032             Catherine Moore  <clm@redhat.com>
4033
4034         * Makefile (c-pch.o): Update dependencies.
4035         (LIBCPP_OBJS): Add cpppch.o.
4036         (cpppch.o): New.
4037         * c-common.c (c_common_init): Don't call pch_init here.
4038         * c-common.h (c_common_read_pch): Update prototype.
4039         * c-lex.c (c_common_parse_file): Call pch_init here.
4040         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4041         (c_common_decode_option): Handle them.
4042         * c-pch.c: Include c-pragma.h.
4043         (save_asm_offset): Delete.
4044         (pch_init): Move contents of save_asm_offset into here, call
4045         cpp_save_state.
4046         (c_common_write_pch): Call cpp_write_pch.
4047         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4048         cpp_valid_state.
4049         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4050         * cppfiles.c (stack_include_file): Update for change to
4051         parameters of cb.read_pch.
4052         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4053         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4054         `restore_pch_deps' fields.
4055         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4056         (cpp_save_state): Prototype.
4057         (cpp_write_pch): Prototype.
4058         (cpp_valid_state): Prototype.
4059         (cpp_read_state): Prototype.
4060         * cpppch.c: New file.
4061         * flags.h (version_flag): Remove prototype.
4062         * mkdeps.c (deps_save): New.
4063         (deps_restore): New.
4064         * mkdeps.h (deps_save): Prototype.
4065         (deps_restore): Prototype.
4066         * toplev.c (late_init_hook): Delete.
4067         (version_flag): Make static again.
4068         (compile_file): Don't call late_init_hook.
4069         * toplev.h (late_init_hook): Delete.
4070         * doc/cppopts.texi: Document -fpch-deps.
4071         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4072
4073         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4074
4075         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4076         callers.
4077         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4078         (c_common_read_pch): Rename from c_read_pch, change callers.
4079
4080         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4081         a space between it and its argument.
4082
4083         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4084
4085         * c-pch.c: New file.
4086         * toplev.h (late_init_hook): Declare.
4087         * toplev.c (late_init_hook): Define.
4088         (version_flag): Make globally visible.
4089         (compile_file): Call late_init_hook.
4090         (init_asm_output): Make output file seekable.
4091         * gcc.c (default_compilers): Update c-header rule.
4092         * flags.h (version_flag): Declare.
4093         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4094         fields.
4095         * cppfiles.c (struct include_file): Add 'pch' field.
4096         (INCLUDE_PCH_P): New.
4097         (open_file_pch): New.
4098         (stack_include_file): Handle PCH files specially.
4099         (find_include_file): Call open_file_pch instead of open_file.
4100         (_cpp_read_file): Explain why open_file is used instead of
4101         open_file_pch.
4102         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4103         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4104         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4105         in cpplib callbacks.
4106         * c-common.c (pch_file): Correct comment.
4107         (allow_pch): Define.
4108         (c_common_init): Call pch_init.
4109         * c-common.h (allow_pch): Declare.
4110         (pch_init): Declare.
4111         (c_valid_pch): Declare.
4112         (c_read_pch): Declare.
4113         (c_write_pch): Declare.
4114         * Makefile.in (c-pch.o): New.
4115         (C_AND_OBJC_OBJS): Add c-pch.o.
4116         * doc/invoke.texi (Precompiled Headers): Add index entries,
4117         complete truncated paragraph.
4118
4119         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4120
4121         * c-common.c: (pch_file): Define.
4122         * c-common.h (pch_file): Declare.
4123         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4124         (missing_arg): Require --output-pch= to have an argument.
4125         (c_common_decode_option): Handle --output-pch=.
4126         * gcc.c: Document new %V.
4127         (default_compilers): Handle compiling C header files.
4128         (do_spec_1): Implement %V.
4129         (main): Handle "gcc foo.h" without trying to run linker.
4130         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4131         (Overall Options): Document what the driver does with header files,
4132         document new -x option possibilities.
4133         (Invoking G++): More documentation for PCH.
4134         (Precompiled Headers): New.
4135
4136         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4137
4138         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4139         organized.
4140         (ggc_add_root): Delete.
4141         (ggc_mark_rtx): Delete.
4142         (ggc_mark_tree): Delete.
4143         (struct ggc_statistics): Remove contents.
4144         * ggc-common.c: Remove unneeded includes.
4145         (struct ggc_root): Delete.
4146         (roots): Delete.
4147         (ggc_add_root): Delete.
4148         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4149         (ggc_print_common_statistics): Remove most of the contents.
4150         * Makefile.in (GGC_H): No longer uses varray.h.
4151         (ggc-common.o): Update dependencies.
4152         (c-parse.o): Add varray.h to dependencies.
4153         (c-common.o): Add varray.h.
4154         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4155         (mark_ident_hash): Rename to ggc_mark_stringpool.
4156         (init_stringpool): Don't use ggc_add_root.
4157         * c-parse.in: Include varray.h.
4158         * c-common.c: Include varray.h.
4159         * objc/Make-lang.in (objc-act.o): Add varray.h.
4160         * objc/objc-act.c: Include varray.h.
4161
4162         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4163
4164         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4165         (dw_cfi_oprnd1_desc): Likewise.
4166
4167         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4168
4169         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4170         move out of ifdef.
4171         (alpha_links): Use gengtype to mark; move out of ifdef.
4172         (mark_alpha_links_node): Delete.
4173         (mark_alpha_links): Delete.
4174         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4175         alpha_links, strings.  Don't use ggc_add_root.
4176         * ggc-common.c (ggc_splay_alloc): New.
4177         (ggc_splay_dont_free): New.
4178         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4179         (ggc_mark_tree): Likewise.
4180         (splay_tree_new_ggc): New.
4181         (ggc_splay_alloc): Declare.
4182         (ggc_splay_dont_free): Declare.
4183         * dwarf2asm.c: Include gt-dwarf2asm.h.
4184         (mark_indirect_pool_entry): Delete.
4185         (mark_indirect_pool): Delete.
4186         (indirect_pool): Use gengtype to mark.
4187         (dw2_force_const_mem): Don't use ggc_add_root.
4188         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4189         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4190         (gt-dwarf2asm.h): Depend on s-gtype.
4191
4192         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4193
4194         * tree.h (union tree_type_symtab): Mark `die' field.
4195         * Makefile.in (dwarf2out.o): Update dependencies.
4196         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4197         hash tables.
4198         (dw_cfi_oprnd1_desc): New function.
4199         (dw_cfi_oprnd2_desc): New function.
4200         (indirect_string_alloc): Delete.
4201         (debug_str_do_hash): New function.
4202         (debug_str_eq): New function.
4203         (mark_limbo_die_list): Delete.
4204         (dwarf2out_init): Don't call ggc_add_root.
4205
4206 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4207
4208         The following changes are merged from itanium-sched-branch:
4209
4210         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4211
4212         * doc/md.texi: Clarify assignment of units to automata description.
4213
4214         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4215
4216         * genautomata.c (unit_decl): Remove members
4217         `the_same_automaton_unit' and
4218         `the_same_automaton_message_reported_p'.
4219         (process_unit_to_form_the_same_automaton_unit_lists,
4220         form_the_same_automaton_unit_lists_from_regexp,
4221         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4222         Remove them.
4223         (annotation_message_reported_p): New global variable.
4224         (check_unit_distribution_in_reserv,
4225         check_regexp_units_distribution): New functions.
4226         (check_unit_distributions_to_automata): Rewrite it.
4227
4228         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4229
4230         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4231         Use continue instead of break if cycle is too big.
4232
4233         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
4234
4235         * genautomata.c (check_unit_distributions_to_automata): Output at
4236         most one message for a unit.
4237         (process_unit_to_form_the_same_automaton_unit_lists): Check
4238         automaton of units instead of units themself.
4239
4240         * doc/md.texi: Describe the constraint about assigning unit to
4241         automata.
4242
4243         2002-12-20  Jan Hubicka  <jH@suse.cz>
4244                     Vladimir Makarov  <vmakarov@redhat.com>
4245
4246         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4247         and `in_set_p'.
4248         (gen_cpu_unit): Initialize the new members.
4249         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
4250         up `min_occ_cycle_num'.
4251         (evaluate_max_reserv_cycles): Change the function call.
4252         (CLEAR_BIT): New macro.
4253         (states_union, state_shift): Use the mask.
4254         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4255         (form_reservs_matter): New function.
4256         (make_automaton): Call the function and use the mask.
4257         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4258         account.
4259
4260         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4261
4262         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4263
4264         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4265
4266         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4267         for Itanium.
4268
4269         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4270
4271         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4272         default cpu.
4273
4274         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4275                 2002-10-31  Dale Johannesen <dalej@apple.com>
4276
4277         * haifa-sched.c (find_set_reg_weight): New function.
4278         (find_insn_reg_weight): Use the new function.
4279         (schedule_block): Do sorting ready queue always
4280         after insn issue.
4281
4282         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
4283
4284         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4285
4286         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
4287
4288         * haifa-sched.c (choice_entry): New structure.
4289         (choice_stack, cycle_issued_insns): New variables.
4290         (max_issue): Rewrite it.
4291         (choose_ready): Set up ready_try for unknown insns too.
4292         (schedule_block): Allocate and free choice_stack.  Set up
4293         and modify cycle_issued_insns.
4294
4295         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4296         with and without filling the bundle.
4297         (bundling): Combine calls of issue_nops_and_insn.
4298
4299         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
4300
4301         * config/ia64/itanium1.md: New file.
4302
4303         * config/ia64/itanium2.md: New file.
4304
4305         * config/ia64/ia64.md: Move DFA descriptions into the new files.
4306         Remove the old pipeline description.
4307
4308         * config/ia64/ia64.c (ia64_override_options): Add aliases of
4309         itanium processor names.
4310
4311         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
4312
4313         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4314         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
4315
4316         * config/ia64/ia64.md: Add descriptions for Itanium2.
4317
4318         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4319
4320         * config/ia64/ia64.h (processor_type): New enumeration.
4321         (ia64_tune, ia64_tune_string): New external declarations.
4322         (TARGET_OPTIONS): Add option `tune='.
4323
4324         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4325         variables.
4326         (ia64_override_options): Set up `ia64_tune'.
4327         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4328         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4329         (bundling): Add nops for MM-insns only for Itanium.
4330         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4331         Itanium.
4332
4333         * config/ia64/ia64.md (cpu): New attribute.
4334         (DFA description): Enable it only for Itanium.
4335
4336         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4337                     Richard Henderson  <rth@redhat.com>
4338
4339         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4340         MASK_EARLY_STOP_BITS.
4341         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4342         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4343         `early-stop-bits'.
4344
4345         * config/ia64/ia64.c (ia64_dfa_new_cycle,
4346         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4347         instead of TARGET_TUNE_STOP_BITS.
4348
4349         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4350         `-mearly-stop-bits'.
4351
4352         * config/ia64/ia64.c (automata_option "v"): Comment it.
4353
4354         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
4355
4356         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
4357         New macros.
4358         (TARGET_SWITCHES): Add entries for the new option.
4359
4360         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4361         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4362         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4363         global variables.
4364         (ia64_sched_reorder2): Set up `clocks'.
4365         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4366         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
4367         queue when TARGET_TUNE_STOP_BITS.
4368         (bundling): Insert additional nops for MM-insns.
4369         (final_emit_insn_group_barriers): Add insertion of stop bits
4370         according `stops_p'.
4371         (ia64_reorg): Initiate the new varibales.
4372
4373         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
4374
4375         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
4376
4377         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4378         insns at the end of block insn scheduling.
4379
4380         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
4381
4382         * sched-deps.c (remove_dependence, group_leader): Remove it.
4383         (add_dependence): Add dependence to group leader to.
4384         (set_sched_group_p): Add dependence to the first insn of the
4385         schedule group too.
4386         (sched_analyze_insn): Make dependence to jump as anti-dependence.
4387         Change true dependence by anti-dependence when
4388         `reg_pending_barrier'.
4389
4390         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4391         add_branch_dependences): Ignore schedule groups.
4392
4393         * sched-ebb.c (init_ready_list): Ditto.
4394
4395         * (move_insn, set_priorities): Ditto.
4396
4397         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4398         flag is clear after reload.
4399         (adjust_cost): Change cost only for output dependencies.
4400
4401         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
4402
4403         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
4404
4405         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4406
4407         * target.h (gcc_target): Add member
4408         `dependencies_evaluation_hook'.
4409
4410         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4411         macro.
4412         (TARGET_SCHED): Add initiatialization of the new member.
4413
4414         * sched-ebb.c: Include `target.h'.
4415         (schedule_ebb): Call `dependencies_evaluation_hook'.
4416
4417         * sched-rgn.c (schedule_region): Call
4418         `dependencies_evaluation_hook'.
4419
4420         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4421         New macro.
4422         (ia64_dependencies_evaluation_hook): New function.
4423
4424         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4425         Describe the new hook.
4426
4427         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
4428
4429         * target.h (gcc_target): Add members
4430         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4431
4432         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4433         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4434         macros.
4435         (TARGET_SCHED): Add initiatialization of the new members.
4436
4437         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4438         insn scheduling too.
4439         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4440         initialize `ready_try'.
4441         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
4442         `dfa_new_cycle' says not to do it.
4443
4444         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4445         bundling.
4446
4447         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4448
4449         * config/ia64/ia64.c: Include `hashtab.h'.
4450         (ia64_first_cycle_multipass_dfa_lookahead_guard,
4451         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4452         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4453         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4454         bundle_state_eq_p, insert_bundle_state,
4455         initiate_bundle_state_table, finish_bundle_state_table,
4456         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4457         get_template, get_next_important_insn, bundling): New functions.
4458         (ia64_internal_sched_reorder): Remove it.
4459         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4460         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4461         (ia64_safe_itanium_requires_unit0): Remove it.
4462         (group_barrier_needed_p): Place group barrier right before a real
4463         insn.
4464         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4465         Remove them.
4466         (bundle_name): New variable.
4467         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4468         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4469         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4470         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4471         temp_dfa_state, prev_cycle_state): New global variables.
4472         (insn_matches_slot, maybe_rotate, finish_last_head,
4473         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4474         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4475         find_best_packet, itanium_reorder, dump_current_packet,
4476         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4477         (sched_data, sched_ready, sched_types): Remove them.
4478         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4479         `init_insn_group_barriers'.
4480         (ia64_sched_reorder, ia64_sched_reorder2): Call
4481         ia64_dfa_sched_reorder.
4482         (ia64_variable_issue): Rewrite it.
4483         (bundle_state): New structure.
4484         (index_to_bundle_states, bundle_states_num,
4485         allocated_bundle_states_chain, free_bundle_state_chain): New
4486         global variables.
4487         (ia64_sched_finish): Add stop bits and call `bundling' after the
4488         2nd insn scheduling.
4489         (ia64_use_dfa_pipeline_interface): Return zero always.
4490         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4491         insn scheduling.
4492         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4493         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4494         (ia64_reorg): Add bundling insns.
4495
4496         * doc/tm.texi
4497         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4498         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
4499
4500         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
4501
4502         * config/ia64/ia64.md: Add Itanium1 DFA description.
4503         (itanium_class): Add `nop' and `pre_cycle'.  Add
4504         define_function_unit for `nop'.
4505         (nop): Change attribute `itanium_class'.
4506         (pre_cycle): New define_insn.
4507
4508         * config/ia64/ia64-protos.h (bundling_p): New external variable.
4509         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4510         ia64_produce_address_p): New function prototypes.
4511
4512         * config/ia64/ia64.c (bundling_p): New global variable.
4513         (ia64_use_dfa_pipeline_interface,
4514         ia64_first_cycle_multipass_dfa_lookahead,
4515         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4516         functions.
4517         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4518         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4519         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4520         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4521         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4522         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4523         (dfa_pre_cycle_insn): New variable.
4524
4525         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4526
4527         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4528         constructions.
4529
4530         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4531         New function prototypes.
4532
4533         * genattrtab.c (main): Process the new constructions.
4534
4535         * genautomata.c (gen_presence_absence_set,
4536         process_presence_absence_names, process_presence_absence_patterns,
4537         add_presence_absence, check_absence_pattern_sets): Add parameter
4538         `final_p'.
4539         (unit_decl): Add new members `final_presence_list' and
4540         `final_absence_list'.
4541         (unit_pattern_rel_decl): Add new member `final_p'.
4542         (gen_final_presence_set, gen_final_absence_set): New functions.
4543         (process_decls): Use member `final_p'.
4544         (temp_reserv): New global variable.
4545         (reserv_sets_are_intersected): Add processing `final_presence_set'
4546         and `final_absence_set'.
4547         (initiate_states): Allocate `temp_reserv'.
4548         (unit_final_presence_set_table, unit_final_absence_set_table): New
4549         gloabal variables.
4550         (initiate_presence_absence_pattern_sets): Initiate them.
4551         (NDFA_to_DFA): Fix typo.
4552         (output_description): Output `final_presence_set' and
4553         `final_absence_set'.
4554
4555         * doc/md.texi (final_presence_set, final_absence_set): Describe
4556         them.
4557
4558         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4559
4560         * genautomata.c (transform_3): Process a missing case (nothing on
4561         unit place).
4562
4563         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4564
4565         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
4566         comments about queried units and the minimization.
4567
4568         * doc/md.texi: Ditto.
4569
4570         * genautomata.c (create_composed_state): Return nonzero if the new
4571         state has been created.
4572         (first_cycle_unit_presence): New function.
4573         (state_is_differed): Add new parameter.  Use the new function.
4574         Take queried units into account.
4575         (partition_equiv_class): Pass additional parameter to
4576         `state_is_differed'.
4577         (merge_states): Process composed states too.
4578         (build_automaton, create_automata, output_min_issue_delay_table,
4579         output_tables, output_statistics): Output more information.
4580         (output_reserved_units_table): Use function
4581         `first_cycle_unit_presence'.
4582         (output_tables): Output table of queried units even if the
4583         minimization is switched on.
4584         (write_automata): Output code for querying units even if the
4585         minimization is switched on.
4586
4587         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
4588
4589         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
4590         syntax of the constructions.
4591
4592         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
4593         extended syntax of the constructions.
4594
4595         * genautomata.c (unit_rel_decl): Rename it to
4596         `unit_pattern_rel_decl'.
4597         (pattern_set_el, pattern_reserv): New structures.
4598         (pattern_set_el_t, pattern_reserv_t): New types.
4599         (gen_presence_absence_set): New function.
4600         (process_presence_absence): Remove it.
4601         (process_presence_absence_names,
4602         process_presence_absence_patterns): New functions.
4603         (get_presence_absence_set): Remove it.
4604         (initiate_presence_absence_sets): Rename it on
4605         `initiate_presence_absence_pattern_sets'.  Use new function
4606         `form_reserv_sets_list'.
4607         (form_reserv_sets_list, check_presence_pattern_sets,
4608         check_absence_pattern_sets, output_pattern_set_el_list): New
4609         functions.
4610         (unit_decl): Change types of members `presence_list' and
4611         `absence_list'.
4612         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
4613         (decl): Change types of members `excl', `presence', and `absence'.
4614         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
4615         at the end of the vector.
4616         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4617         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
4618         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
4619         (gen_presence_set, gen_absence_set): Use new function
4620         `gen_presence_absence_set'.
4621         (add_presence_absence): Process `pattern_list' instead of
4622         `source_list'.
4623         (process_decls): USe new functions
4624         `process_presence_absence_names' and
4625         `process_presence_absence_patterns'.
4626         (reserv_sets_are_intersected): Use new function
4627         `check_presence_pattern_sets'.
4628         (presence_set, absence_set): Remove them.
4629         (unit_presence_set_table, unit_absence_set_table): New global
4630         variables.
4631         (output_description): Use new function
4632         `output_pattern_set_el_list'.
4633         (generate): Use `initiate_presence_absence_pattern_sets'.
4634
4635         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
4636
4637         * genattr.c (main): Add output of prototype of new interface
4638         function `dfa_clean_insn_cache'.
4639
4640         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
4641         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
4642         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
4643         the generated code.
4644         (write_automata): Call the new function.
4645
4646 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
4647
4648         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
4649         correctly.
4650
4651 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
4652
4653         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
4654
4655 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
4656
4657         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
4658         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
4659         (CONSTRAINT_LEN): Provide default definition.
4660         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4661         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
4662         (EXTRA_CONSTRAINT_STR): Likewise.
4663         (REG_CLASS_FROM_CONSTRAINT): Define.
4664         * genoutput.c (check_constraint_len, constraint_len): New functions.
4665         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
4666         constraint / modifier.
4667         (gen_insn): Call check_constraint_len.
4668         * local-alloc.c (block_alloc): Update to use new macros / pass
4669         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
4670         * ra-build.c (handle_asm_insn): Likewise.
4671         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
4672         (constrain_operands, peep2_find_free_register): Likewise.
4673         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
4674         * regmove.c (find_matches): Likewise.
4675         * reload.c (push_secondary_reload, find_reloads): Likewise.
4676         (alternative_allows_memconst): Likewise.
4677         * reload1.c (maybe_fix_stack_asms): Likewise.
4678         (reload_cse_simplify_operands): Likewise.
4679         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
4680         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
4681         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4682         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
4683         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
4684         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
4685
4686         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
4687
4688 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4689
4690         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
4691         length.
4692         (*extzv_1_r_h8300hs): Likewise.
4693         (*extzv_1_r_inv_h8300): Likewise.
4694         (*extzv_1_r_inv_h8300hs): Likewise.
4695
4696 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4697
4698         * config/h8300/h8300.h (PREDICATE_CODES): New.
4699
4700 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4701
4702         * config/h8300/h8300.md (*addsi3_upper): New.
4703         (*iorsi3_shift): Likewise.
4704         (two splitters): Likewise.
4705         (*addsi3_shift): Likewise.
4706         (two splitters): Likewise.
4707
4708 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
4709
4710         * Makefile.in (optabs.o): Add dependency on basic-block.h.
4711         * basic-block.h (control_flow_insn_p): Fuction was exported.
4712         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
4713         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
4714         notes only when the region is contained in a single basic block.
4715
4716 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
4717
4718         PR inline-asm/8832
4719         * tree.h (expand_asm): New prototype.
4720         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
4721         to do so.
4722         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
4723         down to expand_asm.
4724         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
4725         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
4726         (volatile_refs_p) [ASM_INPUT]: Likewise.
4727         (side_effects_p) [ASM_INPUT]: Likewise.
4728
4729 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
4730
4731         * i386.md (*mul*): FIx constraints; remove confused comment; fix
4732         athlon_decode attributes
4733         (imul/k8 optimization peep2s): New.
4734
4735         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
4736         * i386.md (type attribute): Add ssecomi.
4737         (unit, memory, prefix attributes): Handle ssecomi.
4738         (cvt?2? patterns): Fix athlon_decode attribute
4739         (comi patterns): Set attribute to ssecomi.
4740
4741         PR target/8343
4742         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
4743
4744 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
4745
4746         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
4747         that match register_operands.
4748         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
4749         register_operand the default case.
4750
4751 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
4752
4753         PR c/8032
4754         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
4755         an empty element, do not advance the pointer to unfilled
4756         fields if there are pending initializers.
4757
4758 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
4759
4760         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
4761         (install-gcc-tooldir, install-cpp, installdirs,
4762         install-common, install-driver, install-info, install-man,
4763         install-headers, install-include-dir, install-headers-tar,
4764         install-headers-cpio, install-headers-cp, install-mkheaders,
4765         install-collect2, uninstall): Prepend $(DESTDIR) to
4766         destination paths in all (un)installation commands.
4767         (install-driver): Rewrite $(LN) commands to support DESTDIR
4768         with "ln" as well as with "ln -s".
4769         (installdirs): Simply use mkinstalldirs.
4770         (install-libgcc, install-multilib): Also pass DESTDIR.
4771         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
4772         installation destination variable ldir.
4773         * config/alpha/t-osf4, config/arm/t-netbsd,
4774         config/ia64/t-hpux, config/mips/t-iris5-6,
4775         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
4776         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
4777         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
4778         in the definition of SHLIB_INSTALL.
4779         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
4780         $(libsubdir) in the installation commands.
4781
4782 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
4783
4784         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
4785         non-optimizing compile.
4786         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
4787         compile.
4788
4789 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
4790
4791         * config/i386/i386.c (ix86_attribute_table): Add new attributes
4792         ms_struct and gcc_struct.
4793         (ix86_handle_struct_attribute): New function.
4794         (ix86_ms_bitfield_layout_p): Update to take new attributes
4795         into account.
4796         * doc/extend.texi: Document new attributes.
4797         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
4798
4799 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
4800
4801         PR optimization/8750
4802         * config/i386/i386.c (ix86_expand_prologue): Don't allow
4803         scheduling pass to move insns across __alloca call.
4804
4805 2003-01-08  Dale Johannesen  <dalej@apple.com>
4806
4807         * config/rs6000/rs6000.md:  Replace *store_multiple_string
4808         with *stmsi[3-8].
4809
4810 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
4811
4812         PR target/9210
4813         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
4814         Set SYMBOL_REF_FLAG on local data sym_ref.
4815
4816 2003-01-08  Dale Johannesen  <dalej@apple.com>
4817
4818         * function.c (assign_parms):  Don't set pretend_args_size if
4819           REG_PARM_STACK_SPACE.
4820           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
4821           pretend_args_size.
4822
4823 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4824
4825         * gcc.hlp: Delete.
4826
4827 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
4828
4829         * i386.c  (ix86_expand_int_addcc): Fix thinko.
4830
4831 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4832
4833         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
4834         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
4835         as hook_bool_tree_hwi_hwi_tree_true.
4836         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
4837         (rs6000_emit_epilogue): Same.
4838         (rs6000_output_mi_thunk): Re-implement as RTL.
4839         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
4840         xcoffout_declare_function if any debugging enabled.
4841
4842 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
4843
4844         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
4845         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
4846         * config/mips/mips.h (enum processor_type): Rename
4847         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
4848         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
4849         Add PROCESSOR_M4K.
4850         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
4851         (ISA_MIPS32R2): New define.
4852         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
4853         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
4854         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
4855         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
4856         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
4857         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
4858         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
4859         compiling MIPS16 code.
4860         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
4861         comment.
4862         (ISA_HAS_SEB_SEH): New define.
4863         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
4864         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
4865         processor_type value renaming.  Add support for MIPS32R2.
4866         Clean up comments, and move "sb1" entry with other MIPS64 CPU
4867         entries.
4868         (override_options): Reimplement -mipsN option handling so that
4869         it will work correctly for -mips32r2.  Avoid branch-likely
4870         instructions on MIPS32R2.
4871         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
4872         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
4873         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
4874         (extendhisi2_hw, extendqisi2_hw): New.
4875         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
4876         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
4877         MIPS32R2, and MIPS64.
4878         (LINK_SPEC): Pass -mips32r2 to linker.
4879         * config/mips/t-isa3264: Built -mips32r2 multilibs.
4880         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
4881         for mips32r2 in the -march description.  Alphabetically sort
4882         CPU names in the -march description.  Add long-missed -mips32
4883         and -mips64 to MIPS option summary.
4884
4885         * config.gcc: Update copyright years to include 2003.
4886         * config/mips/mips.c: Likewise.
4887         * config/mips/mips.h: Likewise.
4888         * config/mips/mips.md: Likewise.
4889         * config/mips/netbsd.h: Likewise.
4890         * doc/invoke.texi: Likewise.
4891
4892 2003-01-08  Andreas Schwab  <schwab@suse.de>
4893
4894         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
4895         variable.
4896         * configure: Regenerated.
4897
4898 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
4899
4900         * config/h8300/h8300.c (output_logical_op): Replace byte/word
4901         extraction of det with b0, b1, w0, w2, etc.
4902         (compute_logical_op_length): Likewise.
4903         (compute_logical_op_cc): Likewise.
4904
4905 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
4906
4907         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
4908         HIGH on all variants.
4909
4910 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
4911
4912         * Makefile.in (PARTITION_H): New.
4913         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
4914         * basic-block.h: Include hard-reg-set.h.
4915
4916 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
4917
4918         * arm.h (ENABLE_XF_PATTERNS): Delete.
4919         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
4920         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
4921         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
4922         (cmpxf_trap): Delete.
4923         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
4924
4925 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
4926
4927         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
4928         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
4929         (add??cc): New expanders.
4930         * i386.c (expand_int_addcc): New function.
4931         * i386-protos.h (expand_int_addcc): Declare.
4932
4933         * alias.c (memory_modified_1): New static function.
4934         (memory_modified): New static varaible.
4935         (memory_modified_in_insn_p): New global function.
4936         * rtl.h (memory_modified_in_insn_p): Declare.
4937         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
4938         references.
4939
4940         * expr.h (emit_conditional_add): Declare.
4941
4942 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
4943
4944         PR other/8947
4945         * doc/invoke.texi (-malign-double): Explain that the option breaks
4946         binary compatibility.
4947
4948 2003-01-08  Andreas Schwab  <schwab@suse.de>
4949
4950         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
4951         should come from the generic *-*-linux* entry.
4952
4953 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
4954
4955         * cselib.c (cselib_current_insn_in_libcall): New static variable.
4956         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
4957         we are inside libcall.
4958         * cselib.h (elt_loc_list): Add in_libcall.
4959         * gcse.c (do_local_cprop): Do not copy propagate using insns
4960         in libcalls.
4961
4962 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
4963
4964         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4965         not normally affect to issue rate.
4966
4967 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
4968
4969         * genopinit.c (optabs): Add addc_optab.
4970         * ifcvt.c (noce_try_store_flag): Rename to ...
4971         (noce_try_addcc): ... this one; handle generic conditional increment.
4972         (noce_process_if_block): Update noce_try_addcc call.
4973         * optabs.c (emit_conditional_add): New.
4974         (init_obtabs): Initialize addc_optab.
4975         * optabs.h (optab_index): Add OTI_addcc.
4976         (addcc_optab): New macro.
4977         * md.texi: Document addMcc
4978
4979         PR target/8322
4980         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4981         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4982         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4983
4984         * reload1.c (delete_output_reload): Avoid repeated attempts
4985         to delete insn.
4986
4987 2003-01-07  Andreas Schwab  <schwab@suse.de>
4988
4989         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
4990         Move --enable-initfini-array check ...
4991         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
4992         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
4993         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
4994         * configure: Rebuild.
4995
4996 2003-01-07  Richard Henderson  <rth@redhat.com>
4997
4998         * alias.c (find_base_value): Only use new_reg_base_value shortcut
4999         if the register is set once.
5000
5001 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5002
5003         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5004         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5005         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5006
5007 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5008             Sunil Davasam  <sunil.k.davasam@intel.com>
5009
5010         PR libstdc++/9076
5011         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5012         DW_CFA_same_value, read next and ignore.
5013
5014 2003-01-07  Richard Henderson  <rth@redhat.com>
5015
5016         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5017
5018 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5019
5020         * cfg.c: Include alloc-pool.h
5021         (edge_pool): New pool.
5022         (bb_pool): New pool.
5023         (first_deleted_edge): Remove.
5024         (first_deleted_block): Remove.
5025         (init_flow): Alloc/free the pools.
5026         (free_edge): Use pools.
5027         (alloc_block): Ditto.
5028         (expunge_block): Ditto.
5029         (cached_make_edge): Ditto.
5030
5031         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5032
5033 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5034
5035         * et-forest.c: Include alloc-pool.h.
5036         (struct et_forest): Add node_pool and occur_pool.
5037         (et_forest_create): Create the new pools.
5038         (et_forest_delete): Delete them.
5039         (et_forest_add_node): Allocate and free using pools.
5040         (et_forest_add_edge): Ditto.
5041         (et_forest_remove_node): Ditto.
5042         (et_forest_remove_edge): Ditto.
5043
5044         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5045
5046 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5047
5048         * config/h8300/h8300.c (output_logical_op): Simplify and
5049         optimize the handling of SImode.
5050         * config/h8300/h8300.c (compute_logical_op_length): Update
5051         accordingly.
5052         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5053
5054 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5055
5056         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5057         big-endian correction to indirect arguments too.
5058
5059 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5060
5061         Segher Boessenkool  <segher@koffie.nl>
5062
5063         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5064         (alt_reg_names): Ditto, fix formatting.
5065         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5066
5067 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5068
5069         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5070         (output_logical_op): Constify intval and det.
5071         (compute_logical_length): Likewise.
5072         (compute_logical_cc): Likewise.
5073         (output_a_shift): Constify mask.
5074         (h8300_encode_label): Constify len.
5075
5076 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5077
5078         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5079         (h8300_expand_epilogue): Likewise.
5080
5081 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5082
5083         Segher Boessenkool  <segher@koffie.nl>
5084
5085         * config/rs6000/altivec.md: Remove spaces from assembler
5086         instruction argument lists.
5087
5088 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5089
5090         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5091         c4x_assembler_function_p.
5092         (c4x_null_epilogue_p): Complement return value, all uses updated.
5093         (c4x_insert_attributes): Add naked.
5094         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5095         * doc/extend.texi: Update C4x function attributes.
5096
5097 2003-01-06  Richard Henderson  <rth@redhat.com>
5098
5099         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5100         properly when changing "local-ness".
5101         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5102
5103 2003-01-06  Dale Johannesen  <dalej@apple.com>
5104
5105         * config/darwin-protos.h:  Add prototypes for new section functions.
5106
5107 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5108
5109         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5110         to EABI.
5111
5112 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5113
5114         * hwint.h: If the current compiler has no 64-bit type at all,
5115         make HOST_WIDEST_INT 32 bits.
5116
5117 2003-01-06  Eric Christopher  <echristo@redhat.com>
5118
5119         * config/mips/mips.md (movdf_internal2): Fix constraints.
5120
5121 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5122
5123         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5124
5125 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5126
5127         * config/mips/mips.md (leadi): Use dla rather than la.
5128
5129 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5130
5131         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5132         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5133
5134 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5135
5136         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5137         redefinition.
5138
5139 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141         * config/h8300/h8300.md (*extzv_8_23): New.
5142
5143 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5144
5145         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5146         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5147         USE_EH_FRAME_REGISTRY when defining.
5148
5149 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5150
5151         * config/h8300/h8300.c (output_a_shift): Do not output a
5152         variable shift.
5153         * config/h8300/h8300.md (two splitters): New.
5154
5155 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5156
5157         * config/mips/mips.md: Disable the movstrsi define_split.
5158
5159 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5160
5161         * alloc-pool.c: Don't include "libiberty.h".
5162         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5163         * convert.c (convert_to_real): Hide unused variable.
5164
5165 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5166
5167         * Makefile.in (gtyp-gen.h): Const-ify.
5168         * gcov-dump.c (tag_table): Likewise.
5169
5170 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5171
5172         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5173         of *both* the file name and the fix name.
5174
5175 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5176
5177         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5178         collect2.
5179         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5180         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5181         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5182         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5183         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5184         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5185         elfos.h.
5186         (EH_FRAME_IN_DATA_SECTION): Delete define.
5187         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5188         (STARTFILE_SPEC): Use crtbegin.o.
5189         (ENDFILE_SPEC): Use crtend.o.
5190         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5191         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5192         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5193         DTOR_LIST_BEGIN): Define.
5194         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5195         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5196         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5197
5198 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5199
5200         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5201         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5202         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5203         Cleanup handling of replacement text.
5204         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5205
5206 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5207
5208         * fixinc/tests/base/math.h: removed obsolete results
5209         * fixinc/tests/base/stdlib.h: ditto
5210         * fixinc/tests/base/sys/param.h: ditto
5211         * fixinc/tests/base/sys/stat.h: ditto
5212         * fixinc/tests/base/time.h: ditto
5213         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5214         * fixinc/tests/base/sys/byteorder.h: ditto
5215         * fixinc/inclhack.def: Remove superfluous backslashes
5216
5217 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5218
5219         * config/h8300/h8300-protos.h: Add prototypes for
5220         the new functions defined below.
5221         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5222         define.
5223         (dosize): Emit RTL instead of assembly code.
5224         (push): Likewise.
5225         (pop): Likewise.
5226         (h8300_output_function_prologue): Remove.
5227         (h8300_expand_prologue): New.
5228         (h8300_expand_epilogue): New.
5229         (h8300_output_function_epilogue): Do only the reset of
5230         pragma_saveall.
5231         * config/h8300/h8300.md (push_h8300): New.
5232         (push_h8300hs): Likewise.
5233         (pop_h8300): Likewise.
5234         (pop_h8300hs): Likewise.
5235         (*stm_h8300s_2): Change the name to stm_h8300s_2.
5236         (*stm_h8300s_3): Change the name to stm_h8300s_3.
5237         (*stm_h8300s_4): Change the name to stm_h8300s_4.
5238         (*ldm_h8300s_2): New.
5239         (*ldm_h8300s_3): Likewise.
5240         (*ldm_h8300s_4): Likewise.
5241         (return): Likewise.
5242         (*return_1): Likewise.
5243         (prologue): Likewise.
5244         (epilogue): Likewise.
5245         (monitor_prologue): Likewise.
5246
5247 2003-01-03  Dale Johannesen  <dalej@apple.com>
5248
5249         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
5250           machopic_picsymbol_stub1.
5251           (EXTRA_SECTION_FUNCTIONS):  Ditto.
5252         * rs6000/rs6000.c:  Update copyright.
5253           (machopic_output_stub):  Use them.  Remove an insn from stub code.
5254
5255 2003-01-02  Jason Merrill  <jason@redhat.com>
5256
5257         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5258
5259         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5260         static/external decls.
5261
5262         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5263         outermost scope.
5264         * c-decl.c (c_make_fname_decl): Push the decls there, too.
5265
5266 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
5267
5268         * config/h8300/h8300-protos.h: Add a prototype for
5269         h8300_current_function_interrupt_function_p.
5270         * config/h8300/h8300.c (interrupt_handler): Remove.
5271         (os_task): Likewise.
5272         (monitor): Likewise.
5273         (pragma_interrupt): New.
5274         (WORD_REG_USED): Use
5275         h8300_current_function_interrupt_function_p.
5276         (dosize): Likewise.
5277         (h8300_output_function_prologue): Likewise.
5278         Do not set interrupt_handler, os_task, monitor.
5279         (h8300_output_function_prologue): Use
5280         h8300_current_function_interrupt_function_p.
5281         Do not set interrupt_handler, os_task, monitor.
5282         (h8300_current_function_interrupt_function_p): New.
5283         (h8300_pr_interrupt): Set pragma_interrupt.
5284         (h8300_insert_attributes): Reset pragma_interrupt.
5285
5286 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5287
5288         * doc/install.texi (Configuration): Fix markup for reference to
5289         gcc/config.gcc.
5290
5291 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5292
5293         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5294         (*iorhi3_two_qi): Likewise.
5295         (*iorsi3_zexthi): Likewise.
5296         (*xorhi3_zextqi): Likewise.
5297         (*xorsi3_zexthi): Likewise.
5298         (*xorsi3_zextqi): Likewise.
5299
5300 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5301
5302         * config/h8300/h8300.c (stack_pointer_operand): New.
5303         (const_int_gt_2_operand): Likewise.
5304         (const_int_ge_8_operand): Likewise.
5305         * config/h8300/h8300.md (a splitter): Likewise.
5306         (a peephole2): Likewise.
5307         * config/h8300/h8300-protos.h: Add prototypes for the new
5308         functions above.
5309
5310 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5311
5312         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5313         objc/objc-act.h: Fix copyright years.
5314
5315 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5316
5317         * doc/passes.texi: Fix documentation for -fssa-ccp
5318
5319 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
5320
5321         * gccbug.in: Update for new categories.
5322
5323 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5324
5325         * config/h8300/h8300.md: Reorder some patterns.
5326
5327 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5328
5329         * config/h8300/h8300.c (output_logical_op): Fix a warning.
5330
5331 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5332
5333         * config/darwin-protos.h, config/c4x/c4x-protos.h,
5334         config/cris/cris-protos.h, config/i370/i370-protos.h,
5335         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5336         config/v850/v850-protos.h: Use struct, and don't conditionally
5337         compile on GCC_C_PRAGMA_H.
5338
5339 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5340
5341         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5342         * config/h8300/h8300-protos.h: Likewise.
5343         * config/sh/sh-protos.h: Likewise.
5344
5345 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5346
5347         * config/arm/arm-protos.h: Use struct cpp_reader instead of
5348         cpp_reader.
5349         * config/h8300/h8300-protos.h: Likewise.
5350         * config/sh/sh-protos.h: Likewise.
5351
5352 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5353
5354         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5355         arm_pr_long_calls_off): Use struct.
5356         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5357         : Similarly.
5358         Don't include cpplib.h.
5359         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5360         sh_pr_nosave_low_regs): Similarly.
5361
5362 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5363
5364         * config/h8300/h8300.c: Include cpplib.h.
5365
5366 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5367
5368         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5369           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5370           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5371           "GCC" in the copyright header.
5372
5373 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5374
5375         * c-pragma.c (c_register_pragma): New.
5376         (init_pragma): Use it.
5377         * c-pragma.h (cpp_register_pragma): Don't declare.
5378         (c_register_pragma): New.
5379         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5380         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5381         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5382         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5383         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5384         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5385         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5386         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5387         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5388         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5389         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5390         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5391
5392 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5393
5394         * config/h8300/h8300-protos.h: Update the prototypes.
5395         * config/h8300/h8300.c (const_le_2_operand): Change to
5396         const_int_le_2_operand.
5397         (const_int_le_6_operand): Change to const_int_le_6_operand.
5398         * config/h8300/h8300.md (two peepholes): Update the function
5399         names.
5400
5401 2002-12-31  Tom Tromey  <tromey@redhat.com>
5402
5403         * doc/install.texi (Testing): Fixed typo.
5404
5405 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5406
5407         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5408         (TRAMPOLINE_SIZE): Support the normal mode.
5409         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5410
5411 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
5412
5413         * c-common.h (pending_lang_change): Declare.
5414
5415 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5416
5417         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5418         descriptions.
5419
5420 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5421
5422         * gcc/doc/invoke.texi (Optimization Options): List the options
5423         enabled by each -O flag.
5424
5425 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5426
5427         * doc/install.texi (Configuration): Explicitly refer
5428         gcc/config.gcc for a list of cpu models.
5429
5430 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5431
5432         * config/h8300/h8300.h: Fix comment typos.
5433
5434 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
5435
5436         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5437
5438 2002-12-30  Tom Tromey  <tromey@redhat.com>
5439
5440         * doc/install.texi (Testing): Mention Jacks.
5441
5442 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5443
5444         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5445
5446 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5447
5448         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5449         cases.
5450         (compute_logical_op_length): Update to reflect the change in
5451         output_logical_op.
5452         (compute_logical_op_cc): Likewise.
5453
5454 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5455
5456         * doc/service.texi: Uncomment and update FAQ link.
5457
5458 2002-12-30  Andreas Jaeger  <aj@suse.de>
5459
5460         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5461
5462 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5463
5464         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5465
5466 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5467
5468         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5469         are clearing the most significant byte.
5470         (compute_logical_op_length): Update to reflect the change in
5471         output_logical_op.
5472         (compute_logical_op_cc): Likewise.
5473
5474 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5475
5476         * config/h8300/h8300.md: Give internal names to anonymous
5477         insns.
5478
5479 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5480
5481         * config/h8300/h8300.md: Reorder some insns.
5482
5483 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5484
5485         * config/h8300/h8300-protos.h: Add prototypes for
5486         const_int_qi_operand and const_int_hi_operand.
5487         * config/h8300/h8300.c (const_int_qi_operand): New.
5488         (const_int_hi_operand): Likewise.
5489         * config/h8300/h8300.md (three peepholes): New.
5490
5491 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5492
5493         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5494         Use @copying.
5495
5496 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5497
5498         * configure.in: Increase makeinfo version requirement to 4.[2-9].
5499         * configure: Regenerate.
5500         * doc/install.texi: Update Texinfo version requirement.
5501
5502 2002-12-28  Andreas Jaeger  <aj@suse.de>
5503
5504         * config/i386/i386.c (x86_function_profiler): Mark labelno as
5505         possibly unused.
5506
5507         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5508         correct format.
5509
5510 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
5511
5512         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5513         *iorhi_ashift_8.
5514         (*iorhi_lshiftrt_8): New.
5515
5516 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
5517
5518         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5519
5520 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5521
5522         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5523
5524 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5525
5526         * config/h8300/h8300-protos.h: Fix comment typos.
5527         Update copyright.
5528         * config/h8300/h8300.c: Fix comment typos.
5529
5530 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5531
5532         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5533
5534 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5535
5536         * config/i386/athlon.md: Fix comment typos.
5537         * config/i386/crtdll.h: Likewise.
5538         * config/i386/djgpp.h: Likewise.
5539         * config/i386/i386-interix.h: Likewise.
5540         * config/i386/i386.c: Likewise.
5541         * config/i386/i386.h: Likewise.
5542         * config/i386/i386.md: Likewise.
5543         * config/i386/k6.md: Likewise.
5544         * config/i386/mingw32.h: Likewise.
5545         * config/i386/pentium.md: Likewise.
5546         * config/i386/sco5.h: Likewise.
5547         * config/i386/winnt.c: Likewise.
5548         * config/i386/xmmintrin.h: Likewise.
5549
5550 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
5551
5552         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5553         INSN_P before checking to see if it is dead.
5554         (mark_all_insn_unnecessary): Similarly.
5555         (ssa_eliminate_dead_code): Similarly.
5556         * rtl.h (struct rtx_def): Update comments for in_struct usage
5557         in dead code elimination pass.
5558         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5559
5560 2002-12-26  Andreas Schwab  <schwab@suse.de>
5561
5562         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
5563
5564 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
5565
5566         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
5567         tartet_flags_explicit.
5568         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
5569         Compact target_flags bits.
5570         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
5571         (TARGET_SWITCHES): Delete references to *_SET flags.
5572
5573 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
5574
5575         * i386.md (memory attribute): Fix setcc attribute.
5576
5577 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5578
5579         * output.h: Fix comment typos.
5580         * predict.c: Likewise.
5581         * print-tree.c: Likewise.
5582         * profile.c: Likewise.
5583         * ra-build.c: Likewise.
5584         * ra-colorize.c: Likewise.
5585         * ra-debug.c: Likewise.
5586         * ra-rewrite.c: Likewise.
5587         * ra.c: Likewise.
5588         * ra.h: Likewise.
5589         * real.c: Likewise.
5590         * recog.c: Likewise.
5591         * reg-stack.c: Likewise.
5592         * regclass.c: Likewise.
5593
5594 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5595
5596         * config/h8300/h8300.c (print_operand_address): Do not negate
5597         a negative number when printing one.
5598
5599 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5600
5601         * config/h8300/h8300-protos.h: Add prototypes for
5602         output_plussi, compute_plussi_length, and compute_plussi_cc.
5603         * config/h8300/h8300.c (output_plussi): New.
5604         (compute_plussi_length): Likewise.
5605         (compute_plussi_cc): Likewise.
5606         * config/h8300/h8300.md (addsi_h8300h): Call
5607         output_plussi, compute_plussi_length, and compute_plussi_cc.
5608
5609 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
5610
5611         * config/h8300/h8300.md (two peepholes): Use match_dup instead
5612         of match_operand in the new patterns.
5613
5614 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
5615
5616         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
5617
5618 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
5619
5620         * configure.in (enable-coverage): Add SELF_COVERAGE.
5621         * profile.c (end_branch_prob): Use SELF_COVERAGE.
5622
5623 2002-12-24  Jim Wilson  <wilson@redhat.com>
5624
5625         * alias.c (record_set): Handle multi-reg hard registers.
5626
5627 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
5628
5629         * regmove.c: Fix comment typos.
5630         * reload.c: Likewise.
5631         * reload1.c: Likewise.
5632         * resource.c: Likewise.
5633         * rtl.def: Likewise.
5634         * rtl.h: Likewise.
5635         * rtlanal.c: Likewise.
5636         * sched-deps.c: Likewise.
5637         * sched-rgn.c: Likewise.
5638         * sibcall.c: Likewise.
5639         * simplify-rtx.c: Likewise.
5640         * ssa-ccp.c: Likewise.
5641         * ssa.c: Likewise.
5642         * stmt.c: Likewise.
5643         * stor-layout.c: Likewise.
5644         * system.h: Likewise.
5645         * tlink.c: Likewise.
5646         * toplev.c: Likewise.
5647         * tracer.c: Likewise.
5648         * tree-inline.c: Likewise.
5649         * tree.c: Likewise.
5650         * tree.h: Likewise.
5651         * unroll.c: Likewise.
5652         * varasm.c: Likewise.
5653
5654 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
5655
5656         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
5657         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
5658         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
5659         DG/UX entries.
5660         * doc/md.texi: Remove AMD 29K entries.
5661         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
5662         1.38.1, NewsOS, RT PC, WE32K entries.
5663
5664 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
5665
5666         PR/8763
5667         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
5668         (altivec_vspltisw_v4sf): Name pattern.
5669         (altivec_vslw_v4sf): New pattern.
5670
5671 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
5672
5673         * doc/include/gcc-common.texi: Define DEVELOPMENT.
5674
5675 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
5676
5677         * stor-layout.c (update_alignment_for_field): Correct handling of
5678         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
5679         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
5680         bitfield does not affect alignment.
5681
5682 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
5683
5684         * expr.c (expand_assignment): Apply special treatment to
5685         ARRAY_TYPE.
5686
5687 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
5688
5689         * config/h8300/h8300-protos.h: Update the prototype of
5690         expand_a_shift.
5691         * config/h8300/h8300.c (expand_a_shift): Change the return
5692         type to void.
5693         * config/h8300/h8300.md: Update all the uses of
5694         expand_a_shift.
5695
5696 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
5697
5698         * tree.c (save_expr): Allow either side of a dyadic operand to be
5699         constant.
5700
5701         * doc/portability.texi (portability): Update portability goals.
5702
5703 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
5704
5705         * config/h8300/h8300.c (output_a_shift): Remove unused code.
5706
5707 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
5708
5709         * stor-layout.c (update_alignment_for_field): Guard use of
5710         ADJUST_FIELD_ALIGN with #ifdef.
5711
5712         * stor-layout.c (update_alignment_for_field): Use
5713         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
5714         bitfield when PCC_BITFIELD_TYPE_MATTERS.
5715
5716 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5717
5718         * genautomata.c: Fix comment typos.
5719
5720 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5721
5722         * params.def (tracer-min-branch-probability-feedback): Fix default.
5723         * final.c (compute_alignments): Use profile to avoid code bloat.
5724
5725 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5726
5727         * config/h8300/h8300.c (get_shift_alg): Make shift insn
5728         sequences end with a valid cc0 whenever possible.
5729
5730 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5731
5732         * config/h8300/h8300.md (negsf2): New.
5733         (*negsf2_h8300): Likewise.
5734         (*negsf2_h8300hs): Likewise.
5735
5736 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
5737
5738         * integrate.c (output_inline_function): Don't hold private
5739         pointers to 'struct function' over GC calls.
5740
5741 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
5742
5743         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
5744         NO_FPSCR_VALUES.
5745         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
5746
5747 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5748
5749         * config/h8300/h8300.md (zero_extendqisi2): Correct the
5750         length.
5751
5752 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5753
5754         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
5755         second alternative "#".
5756         (*zero_extendqihi2_h8300hs): Likewise.
5757         (a define_split): New.
5758
5759 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5760
5761         * config/h8300/h8300-protos.h: Update the prototype for
5762         split_adds_subs.
5763         Add prototypes for const_le_2_operand and const_le_6_operand.
5764         * config/h8300/h8300.c (split_adds_subs): Add an argument to
5765         specify whether inc/dec should be used when possible.
5766         (const_le_2_operand): New.
5767         (const_le_6_operand): Likewise.
5768         * config/h8300/h8300.md (two peepholes): New.
5769
5770 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5771
5772         * config/fr30/fr30.md: Fix a comment typo.
5773         * config/i386/i386.c: Likewise.
5774         * config/ip2k/ip2k.h: Likewise.
5775
5776 2002-12-20  Jim Wilson  <wilson@redhat.com>
5777
5778         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
5779         (__ev_subw, __ev_subiw): New.
5780         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
5781         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
5782
5783 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
5784
5785         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
5786         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
5787         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
5788         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
5789
5790 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5791
5792         * config/h8300/h8300-protos.h: Add prototypes for
5793         incdec_operand and eqne_operator.
5794         * config/h8300/h8300.c (incdec_operand): New.
5795         (eqne_operator): Likewise.
5796         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
5797         (CONST_OK_FOR_O): Likewise.
5798         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
5799         CONST_OK_FOR_O.
5800         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
5801         (addhi3_incdec): New.
5802         (addsi3_incdec): Likewise.
5803         (two peepholes): Likewise.
5804
5805 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5806
5807         * config/h8300/h8300.c (dosize): Remove warnings.
5808         (print_operand): Likewise.
5809
5810 2002-12-20  Richard Henderson  <rth@redhat.com>
5811
5812         * config/alpha/alpha.c (decl_has_samegp): New.
5813         (samegp_function_operand): Use it.  Rename from
5814         current_file_function_operand.
5815         (direct_call_operand): Handle -msmall-text via symbol->jump.
5816         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
5817         (tls_symbolic_operand_type): Likewise.
5818         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
5819         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
5820         (alpha_end_function): Set symbol->jump for functions defined in
5821         the text section.
5822         * config/alpha/alpha-protos.h: Update.
5823         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
5824         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
5825         (PREDICATE_CODES): Update.
5826         * config/alpha/alpha.md (call patterns): Update for
5827         samegp_function_operand rename; use !samegp reloc if
5828         TARGET_EXPLICIT_RELOCS.
5829         * doc/invoke.text: Document -msmall-text and -mlarge-text.
5830
5831 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
5832
5833         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
5834         all registers capable of holding a double float.
5835         (*rcond): change name of "reverse branch" insns to
5836         something more meaningful.
5837         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
5838         comparisons properly.
5839         (*ffs): Change operand 0 from write to read-modify-write.
5840         (*ffsssi2): Drop constraints from define_expand.
5841
5842         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
5843         MOVE_RATIO as default for store operations.
5844
5845         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
5846         LONG_REGS class.
5847         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
5848         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
5849         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
5850
5851         * config/ns32k/STATUS: New File
5852         * config/ns32k/NOTES: New file.
5853
5854 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
5855
5856         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
5857         option for S/390 and zSeries.
5858         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
5859         s390_arch_string): New variables.
5860         (override_options): Checking for options and setting of
5861         appropriate target_flags, cpu and arch flags.
5862         * config/s390/s390.h: (processor_type): New enum.
5863         (TARGET_SWITCHES): New switches -mesa/zarch.
5864         * config/s390/s390.md: New attribute 'cpu'.
5865
5866 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5867
5868         * c-pretty-print.h: Fix comment typos.
5869         * integrate.c: Likewise.
5870         * varasm.c: Likewise.
5871         * config/c4x/c4x.h: Likewise.
5872         * config/c4x/c4x.md: Likewise.
5873         * config/fr30/fr30.md: Likewise.
5874         * config/frv/frv.c: Likewise.
5875         * config/h8300/h8300.c: Likewise.
5876         * config/i386/i386.c: Likewise.
5877         * config/i386/i386.h: Likewise.
5878         * config/ia64/ia64.c: Likewise.
5879         * config/ia64/ia64.h: Likewise.
5880         * config/ip2k/ip2k.md: Likewise.
5881         * config/m68hc11/m68hc11-crt0.S: Likewise.
5882         * config/m68hc11/m68hc11.h: Likewise.
5883         * config/m68hc11/m68hc11.md: Likewise.
5884         * config/m68hc11/m68hc12.h: Likewise.
5885         * config/mcore/mcore.md: Likewise.
5886         * config/mips/mips.c: Likewise.
5887         * config/mips/mips.md: Likewise.
5888         * config/mmix/mmix-modes.def: Likewise.
5889         * config/pa/pa.c: Likewise.
5890         * config/rs6000/rs6000.c: Likewise.
5891         * config/rs6000/rs6000.h: Likewise.
5892         * config/rs6000/rs6000.md: Likewise.
5893
5894 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5895
5896         * config/h8300/h8300.md (output_a_shift): Clean up the code to
5897         output shifts using rotation.
5898
5899 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5900
5901         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
5902
5903 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5904
5905         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
5906         pointer.
5907         (pushqi_h8300hs): Likewise.
5908         (pushhi_h8300): Likewise.
5909         (pushhi_h8300hs): Likewise.
5910
5911 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
5912
5913         * sched-rgn.c (init_regions): Update comment.
5914
5915 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
5916
5917         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
5918         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
5919         attributes.
5920         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
5921         (get_vrsave_internal,set_vrsave_internal): Same.
5922         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
5923         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
5924         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
5925
5926 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
5927             Danny Smith  <dannysmith@users.sourceforge.net>
5928             Eric Kohl  <ekohl@rz-online.de>
5929
5930         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
5931         attributes incompatible with fastcall attribute.
5932         (ix86_handle_regparm_attribute): Likewise.
5933
5934         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
5935         fastcall types.
5936
5937         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5938         attributes.
5939         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
5940         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
5941         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
5942         i386_pe_output_labelref rather than here.
5943         (gen_fastcall_suffix): New function. Decorates a label name with the
5944         fastcall prefix (@) and the stdcall suffix.
5945         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
5946         has a fastcall attribute.
5947         (i386_pe_output_labelref): New function. Outputs a label reference.
5948         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
5949         valid attribute.
5950         (ix86_return_pops_args): Fastcall functions pop the stack.
5951         (init_cumulative_args): Reserve registers ECX and EDX if function has
5952         fastcall attribute.
5953         (function_arg): Use registers ECX and EDX if function has fastcall
5954         attribute.
5955         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
5956         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
5957         (FASTCALL_PREFIX): Define as '@'.
5958         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5959         attributes.
5960         * doc/extend.texi: Add documentation of fastcall attribute.
5961
5962 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5963
5964         * configure.in: FORBUILD when build!=host changed from
5965         ../$build-alias to ../build-$build_alias to match change made
5966         in top directory.
5967         * configure: Regenerated.
5968
5969 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5970
5971         PR optimization/8988
5972         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5973         the biv when eliminating.
5974
5975 2002-12-19  Devang Patel  <dpatel@apple.com>
5976         * gcc.c (struct default_compiler): Recognizes input file name with
5977         .CPP extension as C++ source files
5978         * cp/lang-spec.h: Same
5979         * doc/invoke.texi:  Add documentation for .CPP support.
5980
5981 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
5982
5983         PR 8553
5984         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5985         registers.
5986         ("absv16qi2"): Same.
5987         ("absv4si2"): Same.
5988         ("absv4sf2"): Same.
5989         ("altivec_abss_v16qi"): Same.
5990         ("altivec_abss_v8hi"): Same.
5991         ("altivec_abss_v4si"): Same.
5992
5993 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
5994
5995         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
5996         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
5997
5998 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5999
6000         PR target/8340
6001         * stmt.c (expand_asm_operands): Produce an error when
6002         the PIC register is clobbered.
6003
6004 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6005
6006         * Makefile.in (OBJS): Add alloc-pool.o
6007         (alloc-pool.o): New object.
6008
6009         * alloc-pool.c: New file.
6010         * alloc-pool.h: New file.
6011
6012 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6013
6014         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6015
6016 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6017
6018         * config.gcc: Set extra_objs in the generic Darwin rule,
6019         not in the machine-specific rules.
6020
6021 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6022
6023         * ChangeLog: Follow spelling conventions.
6024         * ChangeLog.2: Likewise.
6025         * ChangeLog.4: Likewise.
6026         * ChangeLog.5: Likewise.
6027         * cppexp.c: Likewise.
6028         * df.c: Likewise.
6029         * gcov.c: Likewise.
6030         * gengtype.c: Likewise.
6031         * reload1.c: Likewise.
6032         * sched-rgn.c: Likewise.
6033         * stmt.c: Likewise.
6034         * stor-layout.c: Likewise.
6035         * timevar.c: Likewise.
6036         * toplev.c: Likewise.
6037         * tree.h: Likewise.
6038         * varasm.c: Likewise.
6039         * config/fr30/fr30.md: Likewise.
6040         * config/i386/i386.c: Likewise.
6041         * config/ia64/ia64.c: Likewise.
6042         * config/pa/pa.c: Likewise.
6043
6044 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6045
6046         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6047
6048 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6049
6050         PR 8551
6051         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6052         macro.
6053         (vec_cmplt C++ functions): Reverse arguments.
6054
6055 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6056
6057         * config/rs6000/t-rs6000: Move contents to t-fprules,
6058         add rules for dependencies of rs6000.o and to build rs6000-c.o
6059         * config/rs6000/t-fprules: New file from t-rs6000.
6060         * config/rs6000/t-beos: Remove soft-fp rules.
6061         * config/rs6000/t-ppccomm: Likewise.
6062         * config/rs6000/t-newas: Likewise.
6063         * config/rs6000/t-rs6000-c-rule: Delete.
6064         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6065         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6066         Create generic Darwin rules.
6067
6068         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6069
6070 2002-12-18  Doug Evans  <dje@sebabeach.org>
6071
6072         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6073         and LIT_NAME_P.
6074         (move_src_operand): Remove compile-time warning.
6075         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6076
6077 2002-12-18  Jason Merrill  <jason@redhat.com>
6078
6079         * unwind-dw2-fde.c (frame_downheap): Split out from...
6080         (frame_heapsort): Here.
6081
6082 2002-12-17  Jason Merrill  <jason@redhat.com>
6083
6084         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6085         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6086
6087         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6088
6089         * calls.c (expand_call): Don't try to be clever about expanding
6090         the return slot address.
6091
6092 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6093
6094         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6095         Define.
6096
6097 2002-12-17  Jason Merrill  <jason@redhat.com>
6098
6099         * genmultilib: Use 'cd ./foo'.
6100
6101 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6102
6103         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6104
6105 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6106
6107         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6108         * doc/cpp.texi: Likewise.
6109         * doc/extend.texi: Likewise.
6110         * doc/gty.texi: Likewise.
6111         * doc/install.texi: Likewise.
6112         * doc/invoke.texi: Likewise.
6113         * doc/md.texi: Likewise.
6114         * doc/passes.texi: Likewise.
6115         * doc/rtl.texi: Likewise.
6116         * doc/sourcebuild.texi: Likewise.
6117         * doc/tm.texi: Likewise.
6118
6119 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6120
6121         * doc/invoke.texi: Minor spelling and grammar fixes.
6122
6123 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6124
6125         * config/s390/s390.c (s390_output_constant_pool): Replace
6126         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6127
6128 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6129
6130         * convert.c (convert_to_real): Disable function transformation for
6131         now.
6132
6133 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6134
6135         * gcc.c (handle_braces): Allow '@' as a switch name.
6136
6137 2002-12-16  Jason Merrill  <jason@redhat.com>
6138
6139         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6140         with special struct-return ABIs.
6141
6142         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6143         doesn't match the begin SCOPE_STMT in partialness.
6144
6145 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6146
6147         * genmultilib: Create temporary files in unique subdirectory.
6148
6149         * gcc.c (validate_switches): Allow '@' as a switch name.
6150
6151 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6152
6153         * Makefile.in (gcov-iov.h): Improve portability.
6154
6155 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6156
6157         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6158         gas
6159         * mips.md (tablejump insn): Likewise.
6160
6161 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6162
6163         * doc/include/gcc-common.texi: Change version number to 3.4.
6164
6165 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6166
6167         * fixinc/fixlib.h: add: #include <signal.h>
6168         * fixinc/fixincl.c: remove: #include <signal.h>
6169
6170 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6171
6172         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6173         (EXTRA_CONSTRAINT): Use it.
6174         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6175
6176 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6177
6178         * config.gcc (need_64bit_hwint): New variable.
6179         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6180         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6181         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6182         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6183         Set it.
6184         (powerpc*-*-darwin*): Unset it.
6185         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6186         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6187         deleted/nonexistent xm-*.h headers.
6188         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6189         target set need_64bit_hwint in config.gcc.
6190         * configure, config.in: Regenerate.
6191
6192         * hwint.h: Overhaul.  Don't bother trying int for
6193         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6194         decision to force 64-bit HOST_WIDE_INT on
6195         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6196         not visible at this point.  Don't allow prior definition of
6197         any macro defined by this file.
6198
6199         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6200         HOST_BITS_PER_WIDE_INT.
6201         * config/c4x/c4x.h: Adjust redefinition of
6202         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6203         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6204         config/i386/xm-i386-interix.h: Delete file.
6205
6206 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6207             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6208
6209         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6210         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6211
6212 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6213
6214         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6215
6216 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6217
6218         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6219         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6220         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6221         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6222         config/v850/t-v850:  Correct dependencies and normalize
6223         compilation commands for files that include coretypes.h and tm.h.
6224
6225         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6226         not config.h and system.h.
6227
6228 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6229
6230         * i386.c (flags_reg_operand):  New function.
6231         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6232         * i386.md (cmov splitter, movqicc): Use new predicate.
6233
6234 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6235
6236         * i386.md (movqicc splitter): Fix template.
6237
6238 2002-12-13  Jason Merrill  <jason@redhat.com>
6239
6240         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6241         * calls.c (expand_call): Handle it.
6242         * tree-inline.c (struct inline_data): Remove target_exprs field.
6243         (optimize_inline_calls): Don't initialize it.
6244         (expand_call_inline): Don't modify it.  Handle
6245         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6246         (declare_return_variable): Take return slot addr.
6247         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6248         to return_slot_addr.
6249         * langhooks-def.h, langhooks.c: Adjust.
6250         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6251         a decl with no DECL_INITIAL.
6252
6253         * expr.c (expand_expr): Don't discard the target of a call which
6254         returns in memory.
6255
6256 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
6257
6258         * cppinit.c (path_include): Take an environment variable name.
6259         Tidy up.
6260         (init_standard_includes): Simplify environment handling, and
6261         move to ...
6262         (cpp_read_main_file): ...here as -nostdinc should not affect
6263         environment variable paths.
6264
6265 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6266
6267         * pa.c (output_millicode_call): Correct typo.
6268         (output_call): Likewise.
6269
6270 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
6271
6272         * config/mn10300/mn10300.c (print_operand) <case N>: Check
6273         operand's range.  Print value directly, without aid from
6274         output_address.
6275         <case U>: New.
6276         <case S>: Make sure argument to fprintf has the right type.
6277         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6278         (EXTRA_CONSTRAINT): Adjust.
6279         * config/mn10300/mn10300.md: Add new all-QImode pattern for
6280         bclr.  Use %U for immediate operands of bset and bclr.
6281         (iorqi3): New expand, with insns for AM33 and mn10300.
6282
6283 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
6284
6285         * sh.c (sh_register_operand): New function.
6286         (prepare_move_operands): Use it.
6287         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6288         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6289         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6290         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6291         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6292         (movv2si_i): Likewise.
6293
6294 2002-12-13  Jim Wilson  <wilson@redhat.com>
6295
6296         * doc/extend.texi (Complex Numbers): Update info on debug info.
6297
6298 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
6299
6300         * config/h8300/h8300.md (addhi3_h8300): Remove the last
6301         alternative.
6302
6303 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6304
6305         * hooks.h (hook_tree_tree_bool_false): Declare
6306         hook_bool_tree_tree_false instead.
6307
6308 2002-12-12  Devang Patel  <dpatel@apple.com>
6309
6310         * doc/invoke.texi: Document Darwin linker options, -bundle
6311         -bind_at_load, -all_load and -arch_errors_fatal
6312
6313 2002-12-12  Jim Wilson  <wilson@redhat.com>
6314
6315         * dbxout.c (dbxout_fptype_value): New.
6316         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
6317
6318 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6319
6320         * c-decl.c: Fix a comment typo.
6321         * cfg.c: Likewise.
6322         * cfgcleanup.c: Likewise.
6323         * cfglayout.c: Likewise.
6324         * cfgrtl.c: Likewise.
6325         * c-typeck.c: Likewise.
6326         * dominance.c: Likewise.
6327         * dwarf2asm.c: Likewise.
6328         * dwarfout.c: Likewise.
6329         * expmed.c: Likewise.
6330         * expr.c: Likewise.
6331         * final.c: Likewise.
6332         * flow.c: Likewise.
6333         * function.c: Likewise.
6334         * gcc.c: Likewise.
6335         * genautomata.c: Likewise.
6336         * integrate.c: Likewise.
6337         * loop.c: Likewise.
6338         * loop.h: Likewise.
6339         * output.h: Likewise.
6340         * profile.c: Likewise.
6341         * ra.h: Likewise.
6342         * reload1.c: Likewise.
6343         * reload.c: Likewise.
6344         * sched-rgn.c: Likewise.
6345         * stmt.c: Likewise.
6346         * tree.h: Likewise.
6347         * vmsdbgout.c: Likewise.
6348
6349 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6350
6351         * config/h8300/h8300.md: Add a new peephole2.
6352
6353 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6354
6355         * config/h8300/h8300.md (a peephole2): Accept a constant
6356         that's accepted by CONST_OK_FOR_J.
6357
6358 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6359
6360         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6361         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6362         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6363         (*addhi_h8300hs): Likewise.
6364
6365 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
6366
6367         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
6368         (sh_register_move_cost): Add clause for SImode fp-fp moves.
6369         Increase cost for moves involving multiple general purpose registers.
6370         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6371         TARGET_FMOVD.
6372         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6373         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6374         (enum reg_class reg_class_from_letter): No longer const.
6375         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6376         REGCLASS_HAS_GENERAL_REG.
6377         Handle SImode moves from/to fp registers.
6378         ! TARGET_SHMEDIA && TARGET_FMOVD.
6379         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6380         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6381
6382 2002-12-12  Andreas Schwab  <schwab@suse.de>
6383
6384         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6385         change and some warnings.
6386
6387 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6388
6389         * doc/md.texi (pushm): Fix a typo.
6390
6391 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
6392
6393         * config/mips/mips.c (mips_output_conditional_branch): Support
6394         PIC-safe out-of-range branch and branch-likely.
6395         * config/mips/mips.md (attr length): PIC-safe out-of-range
6396         branches are longer.
6397         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
6398         unused code to support indirect jumps.
6399
6400 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
6401
6402         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6403         $(tm_file_list).
6404
6405 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
6406
6407         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6408
6409 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
6410
6411         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6412
6413 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6414
6415         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6416         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6417         BIGGEST_ALIGNMENT.
6418         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6419         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6420
6421 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6422
6423         * doc/invoke.texi: Correct dump file names.
6424
6425 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6426
6427         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6428         name to globalize_label or assemble_name.
6429
6430 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
6431
6432         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6433         if not TARGET_SHMEDIA.
6434
6435 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
6436
6437         * sh.h (REG_CLASS_HAS_FP_REG): New.
6438         (REGISTER_MOVE_COST) Use it.  Put body into a function and
6439         move it into:
6440         * sh.c (sh_register_move_cost).
6441         * sh-protos.h (sh_register_move_cost): Declare.
6442
6443         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6444         (sh_adjust_cost): Always return a value.
6445
6446 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
6447
6448         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6449         (REGISTER_MOVE_COST): Use it.
6450
6451 2002-12-11  Richard Henderson  <rth@redhat.com>
6452
6453         * tree.h (MODULE_LOCAL_P): Kill.
6454         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6455
6456 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6457
6458         * config/h8300/h8300.md (two define_peephole2): New.
6459
6460 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6461
6462         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6463         (CONST_OK_FOR_K): Likewise.
6464         (CONST_OK_FOR_M): Likewise.
6465         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6466
6467 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
6468
6469         * c-common.c (builtin_define_type_max): Handle unsigned
6470         types too.
6471
6472 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
6473
6474         * haifa-sched.c (rank_for_schedule): Correct style.
6475
6476 2002-12-10  Per Bothner  <pbothner@apple.com>
6477
6478         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
6479         directive_index into an unsigned field and a new is_directive field.
6480         * cppinit.c (mark_named_operators):  Update to set new fields.
6481         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
6482         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
6483         No longer need to subtract 1 from directive_index.
6484         (_cpp_init_directives):  No longer need to add 1 to directive_index.
6485         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
6486
6487 2002-12-10  Roger Sayle  <roger@eyesopen.com>
6488
6489         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6490         check for evaluating sqrt of a constant at compile time.
6491         * simplify-rtx.c (simplify_unary_operation): Likewise.
6492
6493 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
6494
6495         PR other/8882
6496         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6497
6498 2002-12-10  Devang Patel  <dpatel@appple.com>
6499
6500         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6501         * doc/invoke.texi: Add new "Darwin Options" section.
6502
6503 2002-12-10  Jim Wilson  <wilson@redhat.com>
6504
6505         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6506         memory.
6507
6508 2002-12-10  Andrew Haley  <aph@redhat.com>
6509
6510         * cse.c (cse_insn): Don't cse past a basic block boundary.
6511
6512 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
6513
6514         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6515         -shared.
6516         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6517         * config/alpha/linux.h (LIB_SPEC): Likewise.
6518         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6519         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6520         * config/sparc/linux.h (LIB_SPEC): Likewise.
6521         * config/sparc/linux64.h (LIB_SPEC): Likewise.
6522
6523 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
6524
6525         * doc/invoke.texi: Document UltraSparc III option.
6526
6527 2002-12-09  Richard Henderson  <rth@redhat.com>
6528
6529         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6530         __tune_pentium2__ and __tune_pentium3__ as necessary.
6531
6532 2002-12-09  Richard Henderson  <rth@redhat.com>
6533
6534         * target.h (gcc_target): Add cannot_force_const_mem.
6535         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6536         (TARGET_INITIALIZER): Add it.
6537         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6538         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6539         * reload1.c (reload): Likewise.
6540         * hooks.c (hook_bool_rtx_false): New.
6541         * hooks.h: Declare it.
6542
6543         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6544         (TARGET_CANNOT_FORCE_CONST_MEM): New.
6545         (ix86_expand_move): Remove de-const-pooling hack.
6546
6547 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
6548
6549         * toplev.c (dump_file): Fix order to match reality.
6550
6551 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
6552
6553         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6554         (store_multiple): Likewise.
6555
6556 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6557
6558         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6559         function pointers in page 0.
6560
6561 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6562
6563         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
6564         definition
6565         (MEMBER_TYPE_FORCES_BLK): Move.
6566         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
6567         aggregate arguments.
6568         (ia64_function_value): Use PARALLEL to return aggregate values.
6569
6570 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6571
6572         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6573         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6574         * calls.c (store_unaligned_arguments_into_pseudos) Remove
6575         FUNCTION_ARG_REG_LITTLE_ENDIAN.
6576         * stmt.c (expand_return): Ditto.
6577         * expr.c (move_block_from_reg): Ditto.
6578         (copy_blkmode_from_reg): Ditto.
6579         * expmed.c (store_bit_field): Ditto.
6580
6581 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
6582
6583         * config.gcc: Added tic4x-* target as an alias to c4x-*
6584
6585 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6586
6587         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
6588         constructing insn directly.
6589
6590 2002-12-06  Per Bothner  <pbothner@apple.com>
6591
6592         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
6593         char to an int bit-field, for hosts where char is unsigned.
6594
6595 2002-12-07  Roger Sayle  <roger@eyesopen.com>
6596             Richard Henderson <rth@redhat.com>
6597
6598         * real.c (ieee_extended_motorola_format,
6599         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6600         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
6601         Provide appropriate values for new signbit field.
6602
6603 2002-12-07  Roger Sayle  <roger@eyesopen.com>
6604
6605         * real.h (real_format): Add signbit field.
6606         * real.c (ieee_single_format, ieee_double_format,
6607         ieee_extended_motorola_format, ieee_extended_intel_96_format,
6608         ieee_extended_intel_128_format, ibm_extended_format,
6609         ieee_quad_format, vax_f_format, vax_d_format,
6610         vax_g_format, i370_single_format, i370_double_format,
6611         c4x_single_format, c4x_extended_format, real_internal_format):
6612         Provide suitable signbit value, or -1 to avoid bit twiddling.
6613
6614         * optabs.c (expand_unop): Try implementing negation of
6615         floating point modes by flipping the sign bit.
6616         (expand_abs): Try implementing abs of floating point modes
6617         by clearing the sign bit.
6618
6619 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6620
6621         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
6622         of constructing insn directly.
6623
6624 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
6625
6626         * config/h8300/h8300.md (*iorhi_shift_8): New.
6627
6628 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
6629
6630         * doc/invoke.texi: Document FRV port options.
6631         * doc/md.texi: Document FRV register classes.
6632
6633 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6634
6635         * doc/install.texi (Configuration): Improve description of cases
6636         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
6637
6638 2002-12-06  Per Bothner  <pbothner@apple.com>
6639
6640         * cpplib.h (NODE_MACRO_ARG):  New flag.
6641         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
6642         Remove value.operator field.  Move arg_index field to value union.
6643         (directive_index):  Make signed, since also used for C++ operators.
6644         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
6645         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
6646         Save node->value, and set node->value.arg_index.
6647         (_cpp_create_definition):  For each paramater, restore node->value.
6648         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
6649         * cpptrad.c (scan_out_logical_line): Likewise.
6650         (scan_out_logical_line): Check for directive > 0.
6651         * cpplib.c (cpp_handle_directive):  Likewise.
6652         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
6653         by negative of directive_index.
6654         * cppinit.c (mark_named_operators):  Likewise.
6655
6656         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
6657
6658 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
6659
6660         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
6661         FPU.
6662         (push): Generate push_fpscr.
6663         (pop): Generate pop_fpscr.
6664         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
6665         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
6666
6667 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
6668
6669         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
6670         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
6671
6672 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
6673
6674         * sh.md (movdi_i): Name.  Remove inappropriate comment.
6675
6676 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
6677         Merged from basic improvements branch (excerpt):
6678
6679         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6680         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6681
6682 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
6683
6684         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
6685
6686 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
6687
6688         * i386.md (dimode peep2s): Re-add "&& 1".
6689
6690 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6691
6692         * i386.c (ix86_expand_prologue):  Add comment, do not use
6693         fast prologues for cold and normal functions.
6694
6695 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
6696
6697         * i386.c (x86_rep_movl_optimal): New variable.
6698         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
6699         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
6700
6701         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6702         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6703         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6704         generate unnecesary subregs.
6705
6706 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6707
6708         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
6709         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
6710
6711 2002-12-05  Dale Johannesen  <dalej@apple.com>
6712
6713         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
6714
6715 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
6716
6717         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
6718         PROFILE_HOOK.
6719         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
6720
6721 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
6722
6723         * config/rs6000/spe.h (__ev_mwlufi): Remove.
6724         (__ev_mwlufia): Remove.
6725         (__ev_mwlumfaaw): Remove.
6726         (__ev_mwlusfaaw): Remove.
6727         (__ev_mwlumfanw): Remove.
6728         (__ev_mwlusfanw): Remove.
6729
6730 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
6731
6732         * config/h8300/h8300.md (*andorsi3_shift_8): New.
6733
6734 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
6735
6736         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
6737         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
6738         (get_shift_alg): Return optimal assembly instructions for the
6739         shifts mentioned above.
6740
6741 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
6742
6743         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
6744         condtiional moves.
6745
6746 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6747
6748         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
6749         implement ashiftrt:HI by 13 bits on H8S.
6750
6751 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6752
6753         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
6754         * pa.md (canonicalize_funcptr_for_compare): Output library call to
6755         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
6756         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
6757         CTOR_LIST_BEGIN): New defines.
6758         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
6759         (fptr.c): Add make rules.
6760
6761 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
6762
6763         * combine.c (combine_simplify_rtx): Add new canonicalizations.
6764         * doc/md.texi (Insn Canonicalizations): Document new
6765         canonicalizations for multiply/add combinations.
6766         * config/rs6000/rs6000.md: Add and modify floating add/multiply
6767         patterns to ensure they're used whenever they can be.
6768
6769 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6770
6771         * config/h8300/h8300.c: Update the comments related to shifts.
6772
6773 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
6774
6775         * config/mips/mips.md (get_fnaddr): Correct length attribute.
6776
6777 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6778
6779         * config/h8300/h8300.md (*extzv_8_8): New.
6780         (*extzv_8_16): Likewise.
6781
6782 2002-12-04  Jason Merrill  <jason@redhat.com>
6783
6784         PR c++/8461, c++/8625
6785         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
6786         references.
6787         * tree-inline.c (initialize_inlined_parameters): Likewise.
6788
6789         * tree.c (variably_modified_type_p): Just return an error_mark_node.
6790
6791 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
6792
6793         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
6794         macro instruction in a branch delay slot, to avoid assembler
6795         warnings.
6796
6797 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6798
6799         PR c/7622
6800         * c-semantics (genrtl_scope_stmt): Do not output inlined
6801         nested functions that contain no code.
6802
6803 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6804
6805         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
6806         to be forced into nonfallthru.
6807
6808 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
6809
6810         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
6811
6812 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
6813
6814         * config/rs6000/spe.md (*movv1di_const0): New pattern.
6815
6816 2002-12-03  Richard Henderson  <rth@redhat.com>
6817
6818         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
6819
6820 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
6821
6822         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
6823         Initialize tmp.using_obstack to 0.
6824
6825 2002-12-03  Andreas Schwab  <schwab@suse.de>
6826
6827         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
6828         (EH_RETURN_STACKADJ_RTX): Define.
6829         (EH_RETURN_HANDLER_RTX): Define.
6830         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6831         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
6832         registers and don't save fixed registers.
6833         (m68k_output_function_prologue): Use it.
6834         (use_return_insn): Likewise.
6835         (m68k_output_function_epilogue): Likewise.
6836
6837 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
6838
6839         * config/h8300/h8300.c (single_one_operand): Fix a warning.
6840         (single_zero_operand): Likewise.
6841
6842 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6843
6844         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
6845         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
6846         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
6847         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
6848         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
6849         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
6850         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
6851         doc/install-old.texi: Replace hconfig.h with bconfig.h.
6852         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
6853
6854 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
6855
6856         * config/rs6000/rs6000.md (ffssi): Convert to expander.
6857         (ffsdi): Likewise.
6858         (cntlzw2, cntlzd2): New patterns.
6859
6860 2002-12-02  H.J. Lu <hjl@gnu.org>
6861
6862         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
6863         (mips*-*-linux*): Remove mips/t-linux.
6864
6865 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
6866
6867         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
6868
6869 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6870
6871         * config/h8300/h8300.c (dosize): Replace argument op with
6872         sign.
6873         (h8300_output_function_prologue): Update the call to dosize.
6874         (h8300_output_function_epilogue): Likewise.
6875
6876 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
6877
6878         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
6879
6880 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6881
6882         * configure.in: Use "missing" script to generate warning if
6883         flex or bison programs not found, instead of invoking "false".
6884         * configure: Rebuilt.
6885
6886 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
6887
6888         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
6889
6890 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
6891
6892         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
6893
6894 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6895
6896         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
6897         (push): Likewise.
6898         (pop): Likewise.
6899         (h8300_output_function_prologue): Likewise.
6900         (h8300_output_function_epilogue): Likewise.
6901
6902 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
6903
6904         * expmed.c (store_bit_field): Use int_mode_for_mode to find
6905         corresponding mode of non-integer mode, unless it is VOIDmode.
6906
6907 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6908
6909         * config/h8300/h8300.md (stm_h8300s_2): New.
6910         (stm_h8300s_3): Likewise.
6911         (stm_h8300s_4): Likewise.
6912         (five define_peephole2): Likewise.
6913
6914 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6915
6916         * ra-build.c: Fix a comment typo.
6917
6918 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6919
6920         * i386.c (ix86_expand_int_movcc): fix
6921         reversed BRANCH_COST test; be curefull about infinite recursion.
6922
6923 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
6924
6925         * config/h8300/h8300.c (h8300_output_function_prologue):
6926         Remove variable idx.
6927         (h8300_output_function_epilogue): Likewise.
6928
6929 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
6930
6931         * config/frv/xm-frv.h: Delete, unnecessary.
6932
6933 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
6934
6935         * config/h8300/h8300.md: Add comments for define_peephole2.
6936
6937 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
6938
6939         * builtin-types.def (BT_SIZE): Use size_type_node.
6940         * builtins.c (fold_builtin): Make the builtin strlen returns a
6941         size_t, not a sizetype.
6942         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
6943         c_size_type_node.
6944         (c_alignof_expr): Likewise.
6945         (c_common_nodes_and_builtins): Likewise.
6946         * c-common.h (CTI_C_SIZE_TYPE): Remove.
6947         (c_size_type_node): Likewise.
6948         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
6949         * tree.h (TI_SIZE_TYPE): New enumeral.
6950         (size_type_node): Likewise.
6951
6952 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
6953
6954         * configure.in: Don't put ${tm_file} into host_xm_file,
6955         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
6956         Take location of tm-preds.h into account when calculating
6957         tm_p_file_list.
6958         * configure: Regenerate.
6959         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
6960         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
6961         Remove special case code for tm_p.h and *config.h; add new
6962         special case code for tm.h and tconfig.h. Clean up a bit.
6963
6964         * Makefile.in (tm_file, tm_file_list): New variables set from
6965         @-substitutions.
6966         (GCONFIG_H): Deleted.
6967         (GTM_H, TM_H): New.
6968         (CONFIG_H): Is now just config.h $(host_xm_file_list).
6969         (TM_P_H): Move up with the other mkconfig.sh-generated
6970         headers; don't mention tm-preds.h explicitly.
6971         (tm.h, cs-tm.h): New rule.
6972         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6973         invocations of mkconfig.sh for changes to that program.
6974         (mostlyclean): Delete print-rtl1.c.
6975         (clean): Delete tm.h.
6976         Update dependencies for the files listed below.
6977
6978         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6979
6980         * coretypes.h: New file.
6981         * system.h: #define malloc to xmalloc and realloc to xrealloc
6982         when FLEX_SCANNER or YYBISON is defined, independent of the
6983         value of GCC_VERSION.
6984         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6985         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6986         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
6987         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
6988         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
6989         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
6990         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
6991         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
6992         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
6993         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
6994         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
6995         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
6996         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
6997         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
6998         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
6999         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7000         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7001         genconstants.c, genemit.c, genextract.c, genflags.c,
7002         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7003         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7004         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7005         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7006         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7007         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7008         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7009         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7010         print-tree.c, profile.c, protoize.c, ra-build.c,
7011         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7012         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7013         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7014         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7015         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7016         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7017         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7018         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7019         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7020         xcoffout.c, config/darwin-c.c, config/darwin.c,
7021         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7022         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7023         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7024         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7025         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7026         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7027         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7028         config/i960/i960-c.c, config/i960/i960.c,
7029         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7030         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7031         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7032         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7033         config/mmix/mmix.c, config/mn10200/mn10200.c,
7034         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7035         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7036         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7037         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7038         config/sparc/sparc.c, config/stormy16/stormy16.c,
7039         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7040         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7041         Include coretypes.h and tm.h.
7042
7043         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7044         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7045         genrecog.c: Include coretypes.h and tm.h from the file
7046         generated by this program.
7047
7048         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7049         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7050         coretypes.h and tm.h, and tsystem.h when not already included.
7051         No need to include stddef.h nor stdlib.h.
7052
7053         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7054         include auto-host.h or ansidecl.h/
7055         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7056         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7057         include auto-host.h, ansidecl.h, or system.h.
7058         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7059         and do not redefine volatile.
7060
7061 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7062
7063         * i386.md (movdf_integer):  Always enable in 64bit.
7064         (movdf_nointeger): Always disable in 64bit.
7065
7066 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7067
7068         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7069         pseudo register number plus 1.
7070
7071 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7072
7073         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7074         corresponding mode of non-integer mode, unless it is VOIDmode.
7075
7076 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7077
7078         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7079
7080         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7081
7082 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7083
7084         * config/s390/t-crtstuff: New target makefile fragment.
7085         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7086
7087 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7088
7089         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7090         alternatives to correct the length when the memory operand is
7091         either pre_dec or post_inc.
7092
7093 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7094
7095         * config/h8300/h8300.md (an anonymous pattern): Give an
7096         internal name *tst_extzv_bitqi_1_n.
7097         Accept bit_operand instead of bit_memory_operand.
7098         Do not accept bit tests with the MSB.
7099         (*tst_extzv_memqi_1_n): New.
7100
7101 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7102
7103         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7104         sharing when operand is SUBREG.
7105
7106 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7107
7108         * athlon.md (athlon-decodev): New reservation unit.
7109         (athlon-direct0): New reservation.
7110         (athlon-vector): New use athlon-decodev.
7111         (athlon-double, athlon-direct): Better model.
7112         (athlon_imul_k8): Use athlon-direct0.
7113         (athlon_movlpd_load): New insn reservation.
7114
7115 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7116
7117         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7118         Fix a comment typo.
7119         (h8300_tiny_constant_address_p): Likewise.
7120
7121 2002-11-28  Michael Matz  <matz@suse.de>
7122
7123         * doc/passes.texi: Mention the other register allocator.
7124
7125 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7126
7127         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7128
7129 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7130
7131         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7132         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7133         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7134
7135 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7136
7137         * config/h8300/h8300.c (h8300_and_costs): New.
7138         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7139         * config/h8300/h8300-protos.h: Add a prototype for
7140         h8300_and_costs.
7141
7142 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7143
7144         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7145         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7146         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7147         * i386.md (truncdfsf patterns and splitters): Use
7148         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7149
7150 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7151
7152         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7153         pointer argument in the prototypes of the following builtins
7154         be (const TYPE *) rather than (TYPE *):
7155          + __builtin_altivec_ld_internal_4sf
7156          + __builtin_altivec_ld_internal_4si
7157          + __builtin_altivec_ld_internal_8hi
7158          + __builtin_altivec_ld_internal_16qi
7159          + __builtin_altivec_lvsl
7160          + __builtin_altivec_lvsr
7161          + __builtin_altivec_lvebx
7162          + __builtin_altivec_lvehx
7163          + __builtin_altivec_lvewx
7164          + __builtin_altivec_lvxl
7165          + __builtin_altivec_lvx
7166          + __builtin_altivec_dst
7167          + __builtin_altivec_dstt
7168          + __builtin_altivec_dstst
7169          + __builtin_altivec_dststt
7170
7171 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7172
7173         * except.c (default_exception_section): Move variable into the
7174         scope where it is used.
7175
7176 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7177
7178         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7179         correct version.
7180
7181 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7182
7183         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7184
7185 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7186
7187         * config/h8300/h8300.c (h8300_shift_costs): New.
7188         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7189         * config/h8300/h8300-protos.h: Add a prototype for
7190         h8300_shift_costs.
7191
7192 2002-11-27  Jim Wilson  <wilson@redhat.com>
7193
7194         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7195         in output template.
7196
7197 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7198
7199         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7200         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7201         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7202         (i386_pe_dllimport_name_p): Likewise.
7203         (i386_pe_mark_dllexport): Likewise.
7204         (i386_pe_mark_dllimport): Likewise.
7205         (i386_pe_encode_section_info): Likewise.
7206         (i386_pe_strip_name_encoding): Likewise.
7207
7208 2002-11-27  Richard Henderson  <rth@redhat.com>
7209
7210         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7211         (nm && NF == 3): Set sawsymbol true.
7212         (END): Exit if no symbols seen.
7213         (output): Fix map syntax error if no globals for the version.
7214
7215 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7216
7217         * builtins.def (DEF_C99_BUILTIN): Fix.
7218
7219 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7220
7221         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7222         (all): Add .size and .type information.
7223
7224 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7225
7226         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7227         partial_reg_stall target.
7228
7229 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7230
7231         * i386.md (movhicc): Allow general operand.
7232         (movqicc): New expander.
7233         (movqicc_noc): New pattern.
7234         * i386.c (ix86_expand_carry_flag_compare): New function.
7235         (ix86_expand_int_movcc): Optimize harder using sbb; support more
7236         HImode conversion; support QImode conditional moves
7237
7238 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
7239
7240         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7241         (ix86_expand_prologue): Multiply the count by amount of registers to be
7242         pushed.
7243
7244 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7245
7246         * i386.c (override_options): Error about wrong -mcpu on x86-64
7247         compilation.
7248
7249 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
7250
7251         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7252
7253 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
7254
7255         * i386-protos.h (x86_extended_QIreg_mentioned_p,
7256         x86_extended_reg_mentioned_p): Declare.
7257         * i386.c (extended_reg_mentioned_1): New static function.
7258         (x86_extended_QIreg_mentioned_p,
7259         x86_extended_reg_mentioned_p): New global functions.
7260         * i386.h (REX_SSE_REGNO_P): New macro.
7261         * i386.md (prefix_rex): New attribute.
7262         (length attribute): Add rex.
7263
7264 2002-11-26  Andrew Haley  <aph@redhat.com>
7265
7266         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7267         from_Unwind_Find_Enclosing_Function.
7268         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7269         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7270         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7271         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7272         * unwind.h (_Unwind_FindEnclosingFunction): Add.
7273
7274 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7275
7276         * config/s390/s390.c (390_output_constant_pool): Set alignment
7277         before label in 64 bit mode, behind otherwise.
7278
7279 2002-11-26  Richard Henderson  <rth@redhat.com>
7280
7281         * c-common.c (handle_visibility_attribute): Accept "default".
7282         * tree.h (enum symbol_visibility): New.
7283         (decl_visibility): Declare.
7284         * target.h (gcc_target.visibility): Take visibility arg as integer.
7285         * varasm.c (default_assemble_visibility): Likewise.
7286         (decl_visibility): New.
7287         (maybe_assemble_visibility): Use it.
7288         * output.h (default_assemble_visibility): Update prototype.
7289         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7290         visibility arg as integer.
7291         * doc/extend.texi: Document default visibility.
7292
7293 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
7294
7295         * config/h8300/h8300.c: Adjust spacing.
7296         * config/h8300/h8300.h: Likewise.
7297
7298 2002-11-26  Richard Henderson  <rth@redhat.com>
7299
7300         * hooks.c (hook_bool_void_false, hook_void_tree_int,
7301         hook_void_FILEptr_constcharptr): Rename so that the return
7302         type is first.
7303         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7304         hook_bool_tree_false): New.
7305         * hooks.h: Update.
7306         * langhooks-def.h: Update for renames.
7307         * target-def.h: Likewise.
7308         * tree.c (default_comp_type_attributes,
7309         default_set_default_type_attributes, default_insert_attributes,
7310         default_function_attribute_inlinable_p,
7311         default_ms_bitfield_layout_p): Remove.
7312         * tree.h: Update.
7313
7314 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7315
7316         * pa-protos.h (function_value): New prototype.
7317         * pa.c (function_value): Use a PARALLEL to return small aggregates on
7318         TARGET_64BIT.
7319         * pa.h (FUNCTION_VALUE): Use function_value.
7320         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7321         call_value_internal_reg, sibcall_value_internal_symref,
7322         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7323         value.
7324
7325 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7326
7327         * expr.c (gen_group_rtx, emit_group_move): New functions.
7328         * expr.h (gen_group_rtx, emit_group_move): Prototype.
7329         * function.c (expand_function_start): Use gen_group_rtx to create a
7330         PARALLEL rtx to hold the return value when the real return rtx is a
7331         PARALLEL.
7332         (expand_function_end): Use emit_group_move to move the return value
7333         from a PARALLEL to the real return registers.
7334         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7335         in PARALLELs.
7336
7337 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7338
7339         * config/t-libc-ok: Fix typo.
7340
7341 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7342
7343         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7344         before AC_PROG_CC.
7345         * configure: Rebuilt.
7346
7347 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
7348
7349         * c-decl.c: (start_struct): Commonize flag setting.
7350
7351 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7352
7353         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7354         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
7355         RS6000_CPU_CPP_ENDIAN_BUILTINS.
7356         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7357
7358 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7359
7360         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7361         insns.
7362         * config/s390/s390.c (struct machine_function): Introduction of
7363         struct machine_function.
7364         (s390_output_symbolic_const): Use of cfun.
7365         (s390_optimize_prolog): Likewise.
7366         (s390_fixup_clobbered_return_reg): Likewise.
7367         (s390_frame_info): Likewise.
7368         (s390_emit_prologue, s390_emit_epilogue): Likewise.
7369         (s390_init_machine_status): New function.
7370         (override_options): call s390_init_machine_status.
7371         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
7372         prototype.
7373
7374 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7375
7376         * varasm.c (output_constant_pool): For pool constants in mergeable
7377         section ensure each constant is padded to multiple of entity size.
7378
7379 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7380
7381         * varasm.c (default_exception_section): Move to...
7382         * except.c (default_exception_section): ... here. Make
7383         .gcc_except_table read-only if it is not expected to have any
7384         dynamic relocations and linker handles it.
7385         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7386         if it is not expected to have any dynamic relocations and linker
7387         handles it.
7388         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7389         when linking read-only and read-write sections together.
7390         * configure, config.in: Rebuilt.
7391         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7392         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7393
7394 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7395
7396         * i386.md (pushsf_rex64): Fix typo.
7397
7398 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7399
7400         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7401         new function.
7402         (__ev_create_ufix32_fs): Same.
7403         (__ev_get_sfix32_fs_internal): New.
7404         (__ev_get_sfix32_fs): Define to use function.
7405         (__ev_get_ufix32_fs_internal): New.
7406         (__ev_get_ufix32_fs): Define to use function.
7407         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7408         (__ev_get_lower_ufix32_fs): Same.
7409         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7410         (__ev_get_lower_sfix32_fs): Same.
7411         (__ev_set_sfix32_fs_internal): New.
7412         (__ev_set_ufix32_fs_internal): New.
7413         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7414         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7415         (__ev_set_upper_sfix32_fs): Call function.
7416         (__ev_set_lower_sfix32_fs): Same.
7417         (__ev_set_upper_ufix32_fs): Same.
7418         (__ev_set_lower_ufix32_fs): Same.
7419
7420 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
7421
7422         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7423
7424 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7425
7426         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7427         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7428         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7429         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7430         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7431         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7432         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7433         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7434         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7435         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7436         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7437         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7438         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7439         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7440         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7441         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7442         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7443         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7444         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7445         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7446         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7447         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7448         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7449         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7450         defining.
7451         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7452         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7453
7454 2002-11-25  Dave Pitts  <dpitts@cozx.com>
7455
7456         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7457
7458 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7459
7460         * config/h8300/h8300.md (an anonymous pattern): New.
7461
7462 2002-11-25  Richard Henderson  <rth@redhat.com>
7463
7464         * alias.c (find_base_value): Use new_reg_base_value if it's live.
7465         (copying_arguments): Make boolean.
7466
7467 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7468
7469         * gcc.c (static_spec_functions): Add if-exists-else spec
7470         function.
7471         (if_exists_else_spec_function): New function.
7472         * doc/invoke.texi: Document the if-exists-else spec function.
7473
7474         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7475         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7476
7477 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7478
7479         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7480         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
7481         "${tmake_file} rs6000/t-netbsd".
7482         * config/rs6000/netbsd.h: Rewrite.
7483         * config/rs6000/t-netbsd: New file.
7484
7485 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7486
7487         * config/h8300/h8300.md (an anonymous pattern): Relax the
7488         condition for the pattern.
7489
7490 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7491
7492         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7493         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7494         evmwlssfanw, evmwlsmfanw.
7495
7496         * config/rs6000/rs6000.c (bdesc_2arg): Same.
7497
7498         * config/rs6000/spe.md: Same for patterns.
7499
7500 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
7501
7502         PR c/8639
7503         * fold-const.c (extract_muldiv): Don't propagate division unless
7504         both arguments are multiples of C.
7505
7506 2002-11-25  Andrew Haley  <aph@redhat.com>
7507
7508         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7509         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7510         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7511         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
7512
7513 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
7514
7515         * i386.c (x86_use_ffreep): New global variable.
7516         * i386.h (x86_use_frfeep): Declare
7517         (TARGET_USE_FFREEP): New macro
7518         * i386.md  (movs?f*): Use freep when asked for.
7519         (push?f): Remove dead code.
7520
7521 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
7522
7523         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7524         target help message.
7525
7526 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7527
7528         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7529         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7530         crtbeginT.o".
7531         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7532         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7533         to "" for a.out configurations.
7534         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7535
7536 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7537
7538         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
7539         NETBSD_CPP_SPEC directly.
7540         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
7541         netbsd_endfile_spec.
7542         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7543
7544 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7545
7546         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7547         NETBSD_STARTFILE_SPEC.
7548         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7549         (ENDFILE_SPEC): Likewise.
7550         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7551
7552 2002-11-24  Andreas Schwab  <schwab@suse.de>
7553
7554         * Makefile.in (install-driver): Remove versioned link before
7555         trying to create it.
7556
7557         * config/m68k/m68k.c: Fix typo in last change defining
7558         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7559
7560 2002-11-23  H.J. Lu <hjl@gnu.org>
7561
7562         * aclocal.m4: Include ../config/accross.m4.
7563         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
7564         (gcc_AC_C_COMPILE_ENDIAN): Removed.
7565         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
7566         instead of $ac_cv_c_compile_endian.
7567
7568         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
7569         AC_COMPILE_CHECK_SIZEOF.
7570         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
7571         * configure: Rebuild.
7572
7573 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
7574
7575         * config/h8300/h8300.c (print_operand): Update the use of
7576         h8300_tiny_constant_address_p.
7577         (h8300_adjust_insn_length): Likewise.
7578         (h8300_tiny_constant_address_p): Check if the given rtx is a
7579         variable declared with __attribute__ ((tiny_data)).
7580
7581 2002-11-22  Dale Johannesen  <dalej@apple.com>
7582
7583         * toplev.c (rest_of_compilation):  Fix comments.
7584
7585 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
7586
7587         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
7588         allow mmap from /dev/zero.  Don't make decisions for the host
7589         based on presence or absence of /dev/zero on the build machine.
7590         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
7591         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
7592         * configure: Regenerate.
7593
7594 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
7595
7596         * gcc.c (make_relative_prefix, split_directories)
7597         (free_split_directories): Removed.
7598
7599 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
7600
7601         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
7602         * configure: Regenerated.
7603
7604 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
7605
7606         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
7607         length computation when xor.l is output.
7608
7609 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
7610
7611         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
7612         (call_vms_1, call_value_vms_1): Cleanup syntax.
7613
7614 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7615
7616         * athlon.md (define_atuomaton): Add athlon_load.
7617         (athlon-double): New reservation.
7618         (athlon-ieu0): New CPU unit.
7619         (athlon-load?): Use athlon_load automaton.
7620         (*_k8 reservations): New.
7621         (other insn revervations): Activate for K8.
7622
7623 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
7624
7625         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
7626
7627 2002-11-21  Jim Wilson  <wilson@redhat.com>
7628
7629         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
7630         vectors to SI.
7631
7632 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
7633
7634         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
7635         * config/xtensa/xtensa.c (struct machine_function): Add
7636         incoming_a7_copied flag.
7637         (xtensa_copy_incoming_a7): Define.
7638         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
7639         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
7640
7641 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
7642
7643         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
7644         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
7645         x86_64_nonmemory_operand, x86_64_movabs_operand,
7646         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7647         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
7648         (local_symbolic_operand): Do not care the 64bit limits.
7649         (x86_64_sign_extended_value): Remove allow_rip support.
7650         (legitimate_pic_address_disp_p): Handle all cases allowed
7651         with RIP addressing.
7652         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
7653         (legitimize_pic_address): Reorganize.
7654         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
7655
7656 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7657
7658         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
7659         * config/arm/netbsd-elf.h: New file.
7660
7661 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7662
7663         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
7664         subtarget_asm_float_spec.
7665         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
7666         defaults from...
7667         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
7668
7669 2002-11-21  Nick Clifton  <nickc@redhat.com>
7670
7671         * config/fr30/fr30.md (movsf_constant_store): Move code to
7672         detect 0.0 into fr30.c.
7673         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
7674         Prototype.
7675         * config/fr30/fr30.c (fr30_const_double_is_zero): New
7676         function.  Return true if the rtx is 0.0.
7677
7678 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7679
7680         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
7681         if -mlittle-endian is specified.
7682
7683 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
7684
7685         PR optimization/2903
7686         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
7687         (anddi_notsesidi_di): Likewise.
7688
7689 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
7690
7691         * config/h8300/h8300.c (print_operand): Use
7692         h8300_eightbit_constant_address_p and
7693         h8300_tiny_constant_address_p.
7694         (h8300_adjust_insn_length): Likewise.
7695         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
7696         (TINY_CONSTANT_ADDRESS_P): Likewise.
7697         (OK_FOR_U): Use eightbit_constant_address_p.
7698
7699 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
7700
7701         * config/s390/libgcc-libc.ver: Add multilib support.
7702         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
7703         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
7704         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
7705         EXTRA_MULTILIB_PARTS): Define.
7706
7707 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
7708
7709         * arm.c (arm_get_frame_size): A leaf function does not need its
7710         stack padding to an aligned boundary if it has no frame.
7711         (thumb_get_frame_size): Likewise.
7712
7713 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
7714
7715         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
7716         (override_options): Likewise.
7717
7718 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7719
7720         * config.gcc: Add k8 target alias support
7721         * i386.c (_cost): Declare costs for various variants of divides and
7722         multiplies.
7723         (k8_cost): New.
7724         (m_K8, m_ATHLON_K8): New macros.
7725         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
7726         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
7727         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
7728         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7729         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7730         x86_prologue_using_move, x86_epilogue_using_move,
7731         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
7732         x86_sse_typeless_stores): Set for K8
7733         (override_options): Add k8 support; fix athlon alignment;
7734         complain about non-x86-64 capable CPU being used in x86-64 compilation.
7735         (ix86_issue_rate): Set for K8.
7736         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
7737         x86_machine_dependent_reorg): Handle K8 like
7738         * i386.h
7739         (x86_costs):  Change mult_init and divide into array.
7740         (TARGET_K8, TARGET_ATHLON): New macros.
7741         (MODE_INDEX): New macro.
7742         (RTX_COST): Use new costs.
7743         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
7744         (TARGET_CPU_DEFAULT_NAMES): Add k8
7745         (TARGET_CPU_DEFAULT_k8): New constant
7746         (enum processor_type): Add PROCESSOR_K8.
7747         * i386.md (cpu attribute): Add k8.
7748
7749         * invoke.texi: Document -march=k8.
7750
7751         * i386.md (type attribute): Add leave
7752         (mode attribute): Remove unknownfp.
7753         (length_immediate, modrm, memory attributes): Handle leave correctly.
7754         (fp comparison patterns): Determine FP mode.
7755         (leave, leave_rex64): Remove special cases.
7756         * ppro.md (ppro_uops, ppro_p2): Add leave
7757         * pentiun.md (pent_pop): Handle leave too.
7758         * k6.md (k6_load): Handle leave.
7759         * athlon.md (athlon_leave, athlon_pop): Fix.
7760         (athlon_decode): Handle leave.
7761
7762 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
7763
7764         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
7765         to component type using GET_MODE_INNER.
7766         * expr.c (emit_move_insn_1): Ditto.
7767         * optabs.c (expand_binop): Ditto.
7768         (expand_unop): Ditto.
7769         (expand_complex_abs): Ditto.
7770
7771 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
7772
7773         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
7774
7775 2002-11-20  DJ Delorie  <dj@redhat.com>
7776
7777         * config/stormy16/stormy16.c (s16builtins,
7778         xstormy16_init_builtins, xstormy16_expand_builtin): New.
7779         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
7780
7781 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
7782
7783         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
7784         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
7785         (executing gencheck, genconfigs, genconditions, genflags,
7786         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
7787         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
7788         gengtype, genprotos): Prepend $(RUN_GEN).
7789         * configure.in: Move host compiler tests before --enable-checking
7790         tests.
7791         (--enable-checking=valgrind): New.
7792         * config.in, configure: Regenerate.
7793         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7794         Define as empty.
7795         (read_include_file): When doing the mmap+1 trick,
7796         valgrind-annotate the byte after the mmap:ed area as readable.
7797         (purge_cache): Remove above annotation.
7798         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
7799         VALGRIND_PATH -q to each command.
7800
7801         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7802         Define as empty.
7803         (ggc_realloc): Update valgrind annotations.
7804         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7805         Define as empty.
7806         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
7807         valgrind-annotate memory.
7808
7809 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
7810
7811         * recog.c (constrain_operands): Prefer exact match over reloadable
7812         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
7813
7814         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
7815         operands in Pmode.
7816
7817 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
7818
7819         PR c/8518
7820         * c-decl.c (duplicate_decls): Outline the second definition
7821         of an extern inline function in all cases.
7822
7823 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7824
7825         * stor-layout.c (place_field): Update rli->offset as well as
7826         rli->bitpos.
7827
7828 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7829
7830         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
7831
7832 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7833
7834         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
7835         into a libcall block.
7836         (divsi3): Likewise divsi3_i4_media.
7837
7838 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7839
7840         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
7841         out another register.
7842
7843 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
7844
7845         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
7846         (not just mask) are set in C.
7847
7848 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
7849
7850         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
7851
7852 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7853
7854         * profile.c (index_counts_file): Fix obvious mistake.
7855
7856 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7857
7858         * Makefile.in (profile.o): Add hashtab.h dependency.
7859         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
7860         * profile.c: Include hashtab.h.
7861         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
7862         cleanup_counts_index, index_counts_file, struct section_reference,
7863         struct da_index_entry, counts_file_name, counts_file_index): New.
7864         (get_exec_counts, init_branch_prob): Modified.
7865
7866 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7867
7868         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
7869         to tmake_file. Remove setting gas and gnu_ld here.
7870         * config/sh/libgcc-glibc.ver: New file.
7871         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7872         (SHLIB_MAPFILES): New.
7873         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
7874         (MD_STARTFILE_PREFIX): Likewise.
7875         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
7876         (DWARF2_UNWIND_INFO): Redefine.
7877         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7878         (LINK_EH_SPEC): Redefine.
7879         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
7880         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
7881         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
7882         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
7883         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
7884         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
7885         SH_DWARF_FRAME_FPSCR): Likewise.
7886         * config/sh/sh-protos.h (sh_set_return_address): Declare.
7887         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
7888         registers if the current function calls EH return.
7889         (sh_expand_epilogue): Handle EH stack adjustments.
7890         (sh_set_return_address): New function.
7891         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7892         Don't abort even if the number is mapped to -1.
7893         (EH_RETURN_DATA_REGNO): Define.
7894         (EH_RETURN_STACKADJ_RTX): Define.
7895         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
7896         (eh_return): New pattern.
7897         (eh_set_ra_di, eh_set_ra_si): Likewise.
7898         Add splitter to perform EH return after reload.
7899
7900 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
7901
7902         * stor-layout.c (excess_unit_span): New function.
7903         (place_field): Use it.
7904
7905 2002-11-19  Andreas Schwab  <schwab@suse.de>
7906
7907         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
7908         not valid in C++.
7909
7910 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7911
7912         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
7913         * configure: Regenerate.
7914
7915 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7916
7917         * convert.c (strip_float_extensions): New function.
7918         (convert_to_real): Optimize some cases.
7919
7920 2002-11-19  Andreas Jaeger  <aj@suse.de>
7921
7922         * loop.c (record_giv): Initialize not_replaceable.
7923         (check_final_value): Likewise.
7924
7925 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7926
7927         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
7928         MASK_H8300S.
7929
7930 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
7931
7932         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
7933         only if -mh or -ms present.
7934         (h8300_eightbit_constant_address_p): Support the normal mode.
7935         (h8300_tiny_constant_address_p): Likewise.
7936         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
7937         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
7938         (Pmode): Evaluate to HImode for the normal mode.
7939         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
7940         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
7941         (ASM_WORD_OP): Evaluate to word for the normal mode.
7942         * config/h8300/h8300.md (tablejump_normal_mode): New.
7943         (indirect_jump_normal_mode): New.
7944         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
7945         directory.
7946         (MULTILIB_DIRNAMES): Create target dependent directory
7947         'normal'.
7948         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
7949         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
7950
7951 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
7952
7953         * i386.md (length_immediate): Do not refer to insn address.
7954         (jcc*, jmp patterns):  Compute length explicitly.
7955
7956 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7957
7958         PR c/8588
7959         * optabs.c (expand_binop): Convert CONST_INTs in shift
7960         operations too.
7961
7962 2002-11-19  Roger Sayle  <roger@eyesopen.com>
7963
7964         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7965
7966 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7967
7968         * config/h8300/h8300.md (an anonymous pattern): Relax the
7969         condition to accept the same operands and/or subregs.
7970
7971 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
7972
7973         * config/sh/sh.c (gen_shl_and): Revert previous patch.
7974         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7975         reload_completed.
7976
7977 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7978
7979         * config/h8300/h8300.c (print_operand): Update the use of
7980         EIGHTBIT_CONSTANT_ADDRESS_P.
7981         (h8300_adjust_insn_length): Likewise.
7982         (h8300_eightbit_constant_address_p): Check if the given rtx is
7983         a variable with __attribute__((eightbit_data)).
7984         * config/h8300/h8300.h (OK_FOR_U): Update the use of
7985         EIGHTBIT_CONSTANT_ADDRESS_P.
7986
7987 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7988
7989         * doc/contrib.texi (Contributors): Add self as second contact in
7990         addition to Jeff Law.
7991
7992 2002-11-19  Andreas Jaeger  <aj@suse.de>
7993
7994         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
7995         find_alloca_call to right place.
7996
7997 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7998
7999         * cppfiles.c: Fix formatting.
8000
8001 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8002
8003         * gcc.c (The Specs Language): Document spec functions.
8004         (static_spec_functions, lookup_spec_function)
8005         (eval_spec_function, handle_spec_function)
8006         (if_exists_spec_function, alloc_args): New.
8007         (execute): Abort if processing_spec_function is true.
8008         (do_spec_1): Hand off spec to handle_spec_function if %:
8009         is encountered.  If processing_spec_function is true,
8010         end any pending argument when the end of the string is reached.
8011         (main): Use alloc_args to allocate the initial argument vector.
8012         * gcc.h (struct spec_function): New.
8013         (lang_specific_spec_functions): New extern.
8014
8015         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8016         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8017         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8018
8019         * doc/invoke.texi: Document spec functions.
8020
8021         * cppspec.c (lang_specific_spec_functions): New.
8022         * gccspec.c: Likewise.
8023
8024 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8025
8026         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8027         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8028         (fixunstfsi_libfunc): Change.
8029         (fixunstfdi_libfunc): Change.
8030         (sdiv_optab): Don't zero out SImode handler.
8031         (udiv_optab): Don't zero out SImode handler.
8032         (smod_optab): Don't zero out SImode handler.
8033         (umod_optab): Don't zero out SImode handler.
8034
8035 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8036
8037         PR preprocessor/8524
8038         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8039         Add a new one in its place, which hopefully works.
8040         (skip_rest_of_line): Change test for bottom-of-context-stack.
8041
8042 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8043
8044         * i386.md (addqi_1_slp): Fix output template.
8045         (subqi_1_slp): Fix type.
8046
8047 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8048
8049         * calls.c (alloca_call_p): New global function.
8050         * tree.h (alloca_call_p): New.
8051         * tree-inline.c (inlinable_function_p):  Do not inline when
8052         function calls alloca.
8053         (find_alloca_call, find_alloca_call_1): New functions.
8054
8055 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8056
8057         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8058         bst.  Update the insn length.
8059         (*andorhi3): Likewise.
8060         (*andorsi3): Likewise.
8061
8062 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8063
8064         * config/sh/sh-protos.h (sh_mark_label): Declare.
8065         * config/sh/sh.c (sh_mark_label): New function, taken from
8066         movdi_const, but fixing the case when the address has an addend.
8067         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8068
8069 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8070
8071         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8072         (add_constant): Set it.
8073         (dump_table): Don't reorder a constant if part_of_sequence_p.
8074         (machine_dependent_reorg): Assume that float constants will
8075         stay in their original order if used as a sequence.
8076
8077 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8078
8079         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8080         in compact code.
8081
8082 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8083
8084         * config/sh/sh.md (initialize_trampoline): Do not force the
8085         trampoline address into R0_REGS here.
8086
8087 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8088
8089         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8090         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8091         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8092         generate unnecesary subregs.
8093
8094 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8095
8096         * df.c: Fix formatting.
8097
8098 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8099
8100         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8101         lengths.
8102
8103 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8104
8105         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8106         is not an arith_reg_operand.
8107
8108 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8109
8110         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8111         is smaller than representation.
8112
8113 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8114
8115         * builtins.c: Fix formatting.
8116
8117 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8118
8119         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8120         floats?dff2_i387):
8121         Work around regclass stupidity.
8122         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8123
8124 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8125
8126         * i386.md (fop_df_6): New pattern.
8127         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8128         (fop_xf_6): Rewrite
8129         (fop_xf_7): Delete.
8130         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8131         (fop_tf_6): Rewrite
8132         (fop_tf_7): Delete.
8133
8134 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8135
8136         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8137
8138 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8139
8140         * config/h8300/h8300.md: Fix formatting.
8141
8142 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8143
8144         * config/h8300/h8300.md: Replace spaces with tabs.
8145         * config/h8300/t-h8300: Remove a trailing empty line.
8146
8147 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8148
8149         * tlink.c: Fix formatting.
8150
8151 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8152
8153         PR 8362
8154         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8155         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8156         when scratch register never needed.
8157         (ldmsi[3-8]): New patterns.
8158
8159 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8160
8161         * hard-reg-set.h: Follow spelling conventions.
8162         * real.c: Likewise.
8163         * target.h: Likewise.
8164
8165 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8166
8167         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8168
8169 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8170
8171         * optabs.c: Fix formatting.
8172
8173 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8174
8175         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8176         * i386.md (attribute type): Add type shift1 and rotate1.
8177         (*_slp): Rewrite to have just two operands to avoid reload problems.
8178
8179 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8180
8181         * config/h8300/h8300.md (4 anonymous patterns): New.
8182
8183 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8184
8185         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8186         * doc/invoke.texi: Correct description of what needs to be done to
8187         force collection at every ggc_collect call.
8188
8189 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8190
8191         * config/s390/s390.c (optimization_options): Set
8192         flag_asynchronous_unwind_tables to 1 by default.
8193
8194 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8195
8196         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8197
8198 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8199
8200         * i386-protos.h (x86_function_profiler): New function
8201         * i386.h (MCOUNT_NAME): New.
8202         (PROFILE_COUNT_REGISTER): New.
8203         (FUNCTION_PROFILER): Move offline to ...
8204         * i386.c (x86_function_profiler) ... here; fix 64bit support
8205         * beos-elf.h (FUNCTION_PROFILER): Kill.
8206         (MCOUNT_NAME): New.
8207         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8208         (MCOUNT_NAME): New.
8209         (PROFILE_COUNT_REGISTER): New.
8210         * linux.h (FUNCTION_PROFILER): Kill.
8211         (MCOUNT_NAME): New.
8212         * x86-64.h (FUNCTION_PROFILER): Kill.
8213         (MCOUNT_NAME): New.
8214         * freebsd.h (FUNCTION_PROFILER): Kill.
8215         (MCOUNT_NAME): New.
8216
8217 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8218
8219         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8220         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8221         * config/arm/arm.c (arm_va_arg,
8222         arm_function_arg_pass_by_reference): New.
8223         * config/arm/arm-protos.h: Add prototypes.
8224
8225 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8226
8227         * gthr-single.h: Fix formatting.
8228
8229 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8230
8231         * tree.c (tree_vec_elt_check_failed): New function.
8232         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8233         (TREE_VEC_ELT): Use it.
8234
8235         * tree-inline.c (optimize_inline_calls): Don't copy a
8236         zero-length vector.
8237
8238 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8239
8240         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8241
8242 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
8243
8244         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8245         both operands contain local relocations.
8246         (categorize_decl_for_section): Don't use mergeable sections if
8247         initializer has any relocations.
8248
8249 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8250
8251         * gthr-vxworks.h: Fix formatting.
8252
8253 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
8254
8255         * doc/install.texi (Testing): Document extra Java testing.
8256         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8257
8258 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8259
8260         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8261         beginning of the spec.
8262         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8263         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
8264         regarding problems with global constructors when using GNU ld.
8265
8266 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8267
8268         * gthr-solaris.h: Fix formatting.
8269
8270 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8271
8272         * gthr-posix.h: Fix formatting.
8273
8274 2002-11-12  Devang Patel <dpatel@apple.com>
8275         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8276         (process_command): Same.
8277         * doc/invoke.texi: Info about these two new options.
8278
8279 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8280
8281         * config/h8300/h8300.md (*andorsi3): New.
8282
8283 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8284
8285         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8286
8287 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8288
8289         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8290         expressions appropriately.
8291
8292 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8293
8294         * gthr-win32.h: Fix formatting.
8295
8296 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8297
8298         * config/h8300/h8300.c (single_one_operand): Correctly compute
8299         mask when mode is SImode.
8300         (single_zero_operand): Likewise.
8301         * config/h8300/h8300.md (two new anonymous insns): New.
8302
8303 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8304
8305         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8306         to that entire project.
8307
8308 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8309
8310         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8311         directories.
8312
8313 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
8314
8315         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8316         * doc/invoke.texi: Document them.
8317
8318         * ggc-page.c: Include params.h.  Remove definitions of
8319         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
8320         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8321         (init_gcc): Don't set G.allocated_last_gc here.
8322         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8323         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8324         perform collection.
8325         * ggc-simple.c: Similarly.
8326         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8327         dependencies.
8328
8329 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
8330
8331         * gthr-dce.h: Fix formatting.
8332
8333 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8334
8335         PR c/8467
8336         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8337         mode of DECL_RTL case.
8338
8339 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
8340
8341         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8342
8343 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
8344
8345         * i386.c (construct_container): Fix handling of SSE_CLASS.
8346
8347 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
8348
8349         * config/m68k/t-crtstuff (crti.o): Use this...
8350         ($(T)crti.o): ... instead.
8351         (crtn.o): Use this...
8352         ($(T)crtn.o): ... instead.
8353
8354 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
8355
8356         PR c/8439
8357         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8358         if there is something new to be simplified.
8359
8360 2002-11-10  H.J. Lu <hjl@gnu.org>
8361
8362         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8363         * expr.c (PUSH_ARGS_REVERSED): Likewise.
8364
8365         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8366
8367 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
8368
8369         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8370         * config/rs6000/linux.h, config/rs6000/linux64.h,
8371         config/rs6000/windiss.h: ... not here.
8372
8373 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
8374
8375         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8376         __ABICALLS__ if TARGET_ABICALLS.
8377
8378 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
8379
8380         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8381
8382 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
8383
8384         * c-decl.c (grokdeclarator): Make error for duplicate type
8385         qualifiers into a pedwarn, disabled for C99.
8386
8387 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
8388
8389         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8390         as FUNCTION_ARG_PASS_BY_REFERENCE.
8391
8392 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
8393
8394         * doc/install.texi: Add *-*-vxworks* specific installation
8395         instructions.
8396
8397         * config/vxlib.c: Rewrite using generation numbers to identify
8398         valid TSD keys.
8399
8400 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
8401
8402         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8403
8404 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8405
8406         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8407
8408         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8409         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
8410         * pa.c (output_millicode_call): Use symbol difference rather than
8411         $PIC_pcrel$0 when using HP assembler.
8412         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8413         not elfos.h (i.e., gas) is being used.
8414         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8415         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8416         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8417         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8418         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8419         using elfos.h.
8420         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8421         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8422         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8423         using elfos.h.
8424         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8425         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8426         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8427         Don't define when not using elfos.h.
8428         (ASM_DECLARE_RESULT): Don't define.
8429         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8430         doesn't work on hppa64-hp-hpux11.
8431         (hppa*-hp-hpux11): Update.
8432
8433 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
8434
8435         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8436         to the assembler if -mno-abicalls was specified.
8437
8438 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8439
8440         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8441         ASM_OUTPUT_DEF): Delete.
8442
8443 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
8444
8445         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8446
8447 2002-11-08  Roger Sayle  <roger@eyesopen.com>
8448
8449         * real.c (real_sqrt): Update comment with bibliographic reference.
8450
8451 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8452
8453         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8454
8455 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
8456
8457         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8458
8459 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8460
8461         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8462         (expand_builtin): Likewise.
8463         * builtins.def: Add
8464         __builtin_floor, __builtin_floorf, __builtin_floorl
8465         __builtin_ceil, __builtin_ceilf, __builtin_ceill
8466         __builtin_round, __builtin_roundf, __builtin_roundl
8467         __builtin_trunc, __builtin_truncf, __builtin_truncl
8468         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8469         * genopinit.c (optabs): Initialize the new optabs.
8470         * optab.c (init_optabs): Likewise.
8471         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8472         OTI_round, OTI_nearbyint.
8473         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8474         * doc/md.texi: Document new named patterns.
8475         * doc/extend.texi (builtin functions)  Document
8476         floor, floorf, floorl, ceil, ceilf,
8477         ceill, round, roundf, roundl, trunc,
8478         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8479
8480 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
8481
8482         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8483
8484 2002-11-08  Dale Johannesen  <dalej@apple.com>
8485
8486         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
8487
8488 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8489
8490         PR preprocessor/8497
8491         PR preprocessor/8501
8492         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8493         start a directive.  In assembler, #NUM is not a line directive.
8494
8495 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8496
8497         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8498         buffers.
8499
8500 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
8501
8502         * config/h8300/h8300.md (two anonymous test insns): New.
8503
8504 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8505
8506         * jump.c (mark_jump_label): Handle subregs of label_refs.
8507
8508 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
8509
8510         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8511         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8512
8513 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
8514
8515         * config/ia64/crtend.asm: Include "auto-host.h".
8516         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8517         * config/ia64/crtbegin.asm: Similarly.
8518         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8519         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
8520
8521         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8522         * configure.in: Use it if --enable-initfini-array not specified.
8523         * doc/install.texi (Configuration): Document --enable-initfini-array.
8524         * configure, config.in: Rebuild.
8525
8526 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
8527
8528         * config/arm/arm-protos.h (arm_get_frame_size)
8529         (thumb_get_frame_size): New prototypes.
8530         * config/arm/arm.c (arm_get_frame_size)
8531         (thumb_get_frame_size): New functions.
8532         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8533         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
8534         arm_get_frame_size.
8535         (thumb_expand_prologue, thumb_expand_epilogue): Use
8536         thumb_get_frame_size.
8537         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8538         (machine_function): Add frame_size member.
8539         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8540
8541 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8542
8543         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
8544         Adjust code to use portable unsigned bit manipulation.
8545         (insn_flags, tune_flags): Change type to unsigned.
8546         (struct processors): Make flags unsigned long.
8547         (arm_override_options): Change type of count and current_bit_count
8548         to unsigned.
8549
8550 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8551
8552         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8553
8554 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
8555
8556         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8557
8558 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
8559
8560         * reg-stack.c (compensate_edge): Fix sanity check.
8561
8562 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
8563
8564         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
8565         crt2.o.  Rearrange t-darwin makefiles.
8566         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
8567         * unwind-dw2-fde-darwin.c: New.
8568         * unwind-dw2-fde-glibc.c: Correct comment.
8569         * unwind-dw2-fde.c (__register_frame_info_bases)
8570         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
8571         (classify_object_over_fdes): Use last_fde.
8572         (add_fdes): Likewise.
8573         (linear_search_fdes): Likewise.
8574         * unwind-dw2-fde.h (struct object)
8575         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
8576         (last_fde): New.
8577         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
8578         (ENDFILE_SPEC): No crtend.o.
8579         * config/t-darwin: New.
8580         * config/i386/t-darwin: Delete.
8581         * config/darwin-crt2.c: New.
8582         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
8583         or config/t-darwin.
8584
8585 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
8586
8587         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
8588         MASK_MS_BITFIELD_LAYOUT
8589         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
8590         MS bitfields for Objective-C.
8591         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
8592         defines.
8593
8594         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
8595         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
8596         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
8597
8598         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
8599         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
8600         (TARGET_SWITCHES): Add above mask.
8601
8602         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
8603         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
8604         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
8605         flags for interix.
8606
8607 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
8608
8609         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
8610         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
8611         assembler.
8612         * config/mips/mips.md (tablejump_internal3): Output .cpadd
8613         before jump on ABI_N32 too.
8614         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
8615         length to match.
8616
8617 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
8618
8619         * i386.md (negsf splitter): Accept memory operand in second register.
8620         (abssf/absdf splitters): Simplify
8621         (sse_loadss, sse_loadsd): Turn into expander.
8622
8623 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
8624
8625         PR target/8480
8626         * config/rs6000/rs6000.md (movdi_internal64): Discourage
8627         FPR to FPR moves.
8628
8629 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
8630
8631         * doc/contrib.texi: Merge in the list from the Java web pages.
8632
8633 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
8634
8635         * config/sparc/freebsd: Fix typo.
8636
8637 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8638
8639         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
8640
8641 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
8642
8643         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
8644         non-SImode addresses.
8645
8646 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
8647
8648         * i386.md (float_truncate SSE splitter): Ensure that operand is not
8649         stack register.
8650         (float SSE splitters): Reorder conditional.
8651
8652 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
8653
8654         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
8655
8656 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
8657
8658         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
8659         (STARTFILE_SPEC): Remove p and pg options.
8660
8661 2002-11-05  Andrew Haley  <aph@redhat.com>
8662
8663         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
8664         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
8665
8666 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
8667
8668         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
8669         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
8670
8671 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
8672
8673         * gthr-vxworks.h: Rewritten from scratch.
8674         * config/vxlib.c: New file.
8675         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
8676         * config/rs6000/t-vxworks: Add config/vxlib.c to
8677         LIB2FUNCS_EXTRA here too, because of clash with
8678         config/rs6000/t-ppccomm.
8679
8680 2002-11-04  Dale Johannesen  <dalej@apple.com>
8681
8682         * doloop.c (doloop_modify_runtime):  Fix loop count computation
8683         for unrolled loops.
8684         * loop.c (loop_invariant_p):  Support calling from unroller.
8685
8686 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
8687
8688         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
8689         for comparison.
8690
8691 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
8692
8693         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
8694
8695         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
8696         (CLASS_CANNOT_CHANGE_MODE): Remove.
8697         (CANNOT_CHANGE_MODE_CLASS): New.
8698
8699         * config/alpha/alpha.h: Same.
8700
8701         * config/ia64/ia64.h: Same.
8702
8703         * config/mips/mips.h: Same.
8704
8705         * config/s390/s390.h: Same.
8706
8707         * config/sh/sh.h: Same.
8708
8709         * config/pa/pa64-regs.h: Same.
8710
8711         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
8712
8713         * config/sh/sh.c (sh_cannot_change_mode_class): New.
8714
8715         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
8716         prototype.
8717
8718         * config/mips/mips.c (mips_cannot_change_mode_class): New.
8719
8720         * doc/tm.texi (Register Classes): Remove
8721         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
8722         Document CANNOT_CHANGE_MODE_CLASS.
8723
8724         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
8725         (push_reload): Same.
8726
8727         * simplify-rtx.c (simplify_subreg): Same.
8728
8729         * reload1.c (choose_reload_regs): Same.
8730
8731         * recog.c (register_operand): Same.
8732
8733         * regrename.c (mode_change_ok): Change to use new
8734         CANNOT_CHANGE_MODE_CLASS infrastructure.
8735
8736         * regclass.c (cannot_change_mode_set_regs): New.
8737         Declare subregs_of_mode.
8738         (regclass): Use subregs_of_mode.
8739         Remove references to reg_changes_mode.
8740         (init_reg_sets_1): Remove class_can_change_mode and
8741         reg_changes_mode code.
8742         (invalid_mode_change_p): New.
8743         (dump_regclass): Use invalid_mode_change_p instead of
8744         class_can_change_mode.
8745         (regclass): Same.
8746         (record_operand_costs): Do not set reg_changes_mode.
8747
8748         * local-alloc.c (struct qty): Remove changes_mode field.
8749         (alloc_qty): Remove changes_mode initialization.
8750         (update_qty_class): Remove set of changes_mode.
8751         (find_free_reg): Use subregs_of_mode.
8752
8753         * global.c (find_reg): Use subregs_of_mode info.
8754
8755         * rtl.h (cannot_change_mode_set_regs): New prototype.
8756         (invalid_mode_change_p): Same.
8757         (REG_CANNOT_CHANGE_MODE_P): New macro.
8758
8759         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
8760         REG_CHANGES_MODE.
8761         (life_analysis): Clear subregs_of_mode.
8762
8763         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
8764         Remove use of CLASS_CANNOT_CHANGE_MODE.
8765         (simplify_set): Same.
8766         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
8767         REG_CHANGES_MODE.
8768
8769         * regs.h: Add extern for subregs_of_mode;
8770         Include hard-reg-set and basic-block.
8771         (REG_CHANGES_MODE): Delete.
8772
8773 2002-11-03  Roger Sayle  <roger@eyesopen.com>
8774
8775         * real.c (real_sqrt): New function to calculate square roots.
8776         * real.h (real_sqrt): Add function prototype.
8777         * builtins.c (fold_builtin): Fold sqrt of constant argument.
8778         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
8779         of constant argument.
8780
8781 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8782
8783         * jump.c (never_reached_warning): Don't set contains_insn until the
8784         first line note is seen.
8785
8786 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
8787
8788         * config/rs6000/rs6000.md (movti_string): Use string instructions.
8789
8790 2002-11-03  Roger Sayle  <roger@eyesopen.com>
8791
8792         PR c/7128
8793         * c-typeck.c (c_expand_asm_operands): Defend against
8794         error_mark_nodes in the output argument to avoid ICE.
8795
8796 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
8797
8798         PR middle-end/8408
8799         * genrecog.c (preds): Handle ADDRESSOF.
8800         (validate_pattern): Mark it as an lvalue.
8801
8802 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
8803
8804         * config/rs6000/rs6000.c (rs6000_override_options): Use string
8805         instructions when optimizing for size.
8806
8807 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
8808
8809         * config/h8300/h8300.h: Fix comment typos.
8810         * config/h8300/h8300.md: Likewise.
8811         * config/h8300/lib1funcs.asm: Likewise.
8812
8813 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8814
8815         Revert this change:
8816
8817         *doc/install.texi (Installing GCC: Configuration): Clarify
8818         the only supported ways to configure gcc.
8819
8820 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
8821
8822         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
8823         instead of 'O' for the constraint for the second operand.
8824
8825 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
8826
8827         PR c++/8391
8828         * toplev.c (rest_of_compilation): Do not refuse to output code for
8829         an inline function in a local class.
8830
8831 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
8832
8833         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
8834         (TRANSFER_FROM_TRAMPOLINE): Reformat.
8835         Add comment.
8836
8837 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
8838
8839         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
8840
8841 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8842
8843         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
8844
8845 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
8846
8847         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
8848         (MASK_INLINE_DIV_THR): Remove.
8849         (TARGET_INLINE_DIV_LAT): Remove.
8850         (TARGET_INLINE_DIV_THR): Remove.
8851         (TARGET_INLINE_DIV): Remove.
8852         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
8853         (MASK_INLINE_FLOAT_DIV_THR): New macro.
8854         (MASK_INLINE_INT_DIV_LAT): New macro.
8855         (MASK_INLINE_INT_DIV_THR): New macro.
8856         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
8857         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
8858         (TARGET_INLINE_INT_DIV_LAT): New macro.
8859         (TARGET_INLINE_INT_DIV_THR): New macro.
8860         (TARGET_INLINE_FLOAT_DIV): New macro.
8861         (TARGET_INLINE_INT_DIV): New macro.
8862         * config/ia64/ia64.md (divsi3): Change to use new macros.
8863         (modsi3): Ditto.
8864         (udivsi3): Ditto.
8865         (umodsi3): Ditto.
8866         (divsi3_internal): Ditto.
8867         (divdi3): Ditto.
8868         (moddi3): Ditto.
8869         (udivdi3): Ditto.
8870         (umoddi3): Ditto.
8871         (divdi3_internal_lat): Ditto.
8872         (divdi3_internal_thr): Ditto.
8873         (divsf3): Ditto.
8874         (divsf3_internal_lat): Ditto.
8875         (divsf3_internal_thr): Ditto.
8876         (divdf3): Ditto.
8877         (divdf3_internal_lat): Ditto.
8878         (divdf3_internal_thr): Ditto.
8879         (divtf3): Ditto.
8880         (divtf3_internal_lat): Ditto.
8881         (divtf3_internal_thr): Ditto.
8882         * config/ia64/ia64.c (ia64_override_options): Change
8883         to check new macros for conflicts in settings.
8884         * doc/invoke.texi (-minline-divide-min-latency): Remove.
8885         (-minline-divide-max-throughput): Remove.
8886         (-minline-float-divide-min-latency): New.
8887         (-minline-float-divide-max-throughput): New.
8888         (-minline-int-divide-min-latency): New.
8889         (-minline-int-divide-max-throughput): New.
8890
8891 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
8892
8893         PR target/7856
8894         * arm.c (use_return_insn): Don't use a return insn if there are
8895         saved integer regs, but LR is not one of them.
8896
8897 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
8898
8899         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
8900         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
8901
8902 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
8903
8904         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
8905         (movps, movpd splitters): Use canonical form.
8906         (movv2di): Fix merge problem.
8907
8908 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
8909
8910         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8911
8912 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8913
8914         PR optimization/6162
8915         * doc/md.texi: Document restriction on commutative operand
8916         specification.
8917
8918 2002-10-31  Eric Christopher  <echristo@redhat.com>
8919
8920         * explow.c (convert_memory_address): Use shallow_copy_rtx.
8921
8922 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
8923
8924         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
8925
8926 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
8927
8928         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
8929
8930 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
8931
8932         * config/rs6000/darwin.h:  Correct formatting in previous.
8933
8934 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
8935
8936         * config/rs6000/darwin.h:  Enable -falign-xxx options.
8937
8938 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
8939
8940         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
8941         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
8942         * i386.c (optimization_options): Set flag_omit_frame_pointer,
8943         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
8944         Do not clear -momit-leaf-frame-pointer when profiling.
8945         (ix86_frame_pointer_required): Frame pointer is always required when
8946         profiling.
8947
8948 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8949
8950         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8951
8952 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
8953
8954         * sh.h (binary_logical_operator): Declare.
8955         * sh.c (binary_logical_operator): New function.
8956         * sh.md (xordi3+1): New combiner splitter pattern.
8957
8958 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
8959
8960         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8961         __enable_execute_stack function.
8962
8963 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
8964
8965         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8966         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8967         * unwind-sjlj.c (fc_key_dtor): Delete.
8968         (fc_key_init): Adjust __gthread_key_create call to match.
8969
8970 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
8971
8972         * c-common.c: Add GTY to vector_type_node_list.
8973
8974 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
8975
8976         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8977         * pa-protos.h (attr_length_millicode_call, attr_length_call,
8978         pa_init_machine_status): Declare new global functions.
8979         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8980         implement new functions.
8981         (attr_length_millicode_call, attr_length_call): Implement.
8982         (total_code_bytes): Change type to long.
8983         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8984         Reset counter if flag_function_sections.
8985         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8986         (output_cbranch): Move call to gen_label_rtx.
8987         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
8988         delay slot in all variants, shorten pc-relative calls.
8989         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
8990         slot usage and exposure, various new call variants, and shortened
8991         sequences for some variants on TARGET_PA_20.
8992         Miscellaneous format changes.
8993         * pa.h (total_code_bytes): Change type to long.
8994         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
8995         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
8996         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
8997         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
8998         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
8999         stores on TARGET_ELF32.
9000         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9001         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9002         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9003         attr_length_millicode_call().
9004         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9005         Calculate attribute length using attr_length_call().
9006         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9007         to delay slot.
9008         (sibcall, sibcall_value): Rewrite.
9009         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9010         register 1.  Use attr_length_call().
9011         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9012         New patterns.
9013         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9014         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9015         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9016         * doc/invoke.texi (mlong-calls): Document.
9017
9018 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9019
9020         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9021         handling of cases where one or both branches of the conditional
9022         have void type, i.e. throw an exception or don't return.
9023         (fold): Only apply (and undo) type conversion to the non-void
9024         branches of a COND_EXPR.
9025
9026 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9027
9028         PR c++/8333
9029         * varasm.c (asm_output_aligned_bss): Do not call
9030         ASM_GLOBALIZE_LABEL.
9031
9032 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9033             Torbjorn Granlund  <tege@swox.com>
9034
9035         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9036         for addressibility.
9037         (load_toc_v4_PIC_1b): Same.
9038
9039 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9040
9041         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9042         Truncate the addresses for H8/300 using HImode.
9043
9044 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9045
9046         * i386.md (negdf splitter): Fix construction of the constant.
9047
9048 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9049
9050         * i386.md (negsf, negdf): Reorganize to use vector modes
9051         for SSE variants.
9052         (abssf, absdf): Use force_reg.
9053         (movv4sf, movv2df): New splitters.
9054         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9055         * i386.c (zero_extended_scalar_load_operand
9056
9057         * i386-protos.h (ix86_expand_call): Update prototype.
9058         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9059         (ix86_expand_call): Use r11 for indirect sibcalls.
9060         * i386.md (call, call_value, untyped_call, call_value_pop):
9061         update x86_expand_call call.
9062         (sibcall, sibcall_value): new patterns
9063         (call_rex64, call_value_rex64): Do not accept sibcalls.
9064         (sibcall_rex64, sibcall_value_rex64,
9065         sibcall_rex64_v, sibcall_value_rex64_v): New.
9066
9067 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9068
9069         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9070         before final pass.
9071
9072 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9073
9074         * toplev.c (rest_of_type_compilation): Return early in case of
9075         errors.
9076         (check_global_declarations): Don't call debug_hooks->global_decl
9077         in case of errors.
9078
9079 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9080
9081         * doc/c-tree.texi (Tree overview): Fix typos.
9082
9083 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9084
9085         * Makefile.in (gnucompare*):  Only record bad comparisons
9086         if there really was a bad comparison.
9087
9088 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9089
9090         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9091         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9092         * md.texi (machine dependent constraints): Document 'C'
9093
9094         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9095
9096         * i386.c (ix86_expand_vector_move): Fix.
9097
9098         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9099         * i386.md (sse2_maskmovdqu_rex64): New pattern
9100
9101         PR target/8322
9102         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9103         (ix86_init_mmx_sse_builtins): Fix type.
9104
9105 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9106
9107         * gthr-posix.h: Include <unistd.h> for feature tests.
9108         (sched_get_priority_max, sched_get_priority_min)
9109         (pthread_getschedparam, pthread_setschedparam): Only use
9110         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9111         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9112         returns from sched_get_priority_max and sched_get_priority_min
9113         as an error.
9114
9115 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9116
9117         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9118         MASK_QUICKCALL.
9119
9120 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9121
9122         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9123         (h8300_tiny_constant_address_p): Likewise.
9124         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9125         h8300_eightbit_constant_address_p.
9126         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9127         * config/h8300/h8300-protos.h: Add the prototypes for the two
9128         new functions.
9129
9130 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9131
9132         * reload1.c (update_eliminables): Unconditionally check if
9133         frame_pointer_needed has changed.
9134
9135 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9136
9137         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9138         before final pass.
9139
9140 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9141
9142         PR optimization/8334
9143         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9144         check for zero operands explicitly.
9145
9146 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9147
9148         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9149         memory after adjusting to BLKmode.
9150
9151 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9152
9153         * config/h8300/h8300.h (MASK_*): New.
9154         (TARGET_*): Use MASK_*.
9155
9156 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9157
9158         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9159         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9160         config/rs6000/vxworks.h: New files.
9161         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9162
9163         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9164         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9165         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9166         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9167         sparc-*-vxsim*): Delete stanzas.
9168         * gthr-vxworks.h: Rip out all substantive code and just
9169         include gthr-single.h.
9170
9171         * config/alpha/vxworks.h, config/arm/vxarm.h,
9172         config/i386/vxi386.h, config/i960/t-vxworks960,
9173         config/i960/vx960-coff.h, config/i960/vx960.h,
9174         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9175         config/mips/vxworks.h, config/rs6000/vxppc.h,
9176         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9177         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9178         config/sparc/vxsparc64.h: Delete files.
9179
9180 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9181
9182         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9183         tm_defines if pthreads are enabled.
9184         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9185         if NETBSD_ENABLE_PTHREADS is defined.
9186
9187 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9188
9189         * ChangeLog.1: Fix typos.
9190         * cse.c: Fix a comment typo.
9191         * reload1.c: Likewise.
9192
9193 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9194
9195         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9196         * fixinc/tests/base/_G_config.h: New file.
9197
9198 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9199
9200         * combine.c: Fix comment formatting.
9201         * loop.c: Likewise.
9202         * real.c: Likewise.
9203         * regclass.c: Likewise.
9204         * regmove.c: Likewise.
9205         * regrename.c: Likewise.
9206         * reg-stack.c: Likewise.
9207         * reload1.c: Likewise.
9208         * reload.c: Likewise.
9209         * reload.h: Likewise.
9210         * unroll.c: Likewise.
9211
9212 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9213
9214         * reload1.c (reload): Fix a comment typo.
9215
9216 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9217
9218         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9219
9220 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9221
9222         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9223         * dwarf2out.c: Include hashtab.h.
9224         (is_main_source): New static variable.
9225         (attr_checksum, die_checksum): Modified to handle die references.
9226         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9227         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9228         record_comdat_symbol_number): New static functions.
9229         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9230         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9231         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9232         declarations added.
9233
9234 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
9235
9236         * config/h8300/h8300.c (initial_offset): Change to
9237         h8300_initial_elimination_offset.
9238         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9239         h8300_initial_elimination_offset.
9240         * config/h8300/h8300-protos.h: Update the prototype.
9241
9242 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
9243
9244         * config/mmix/mmix.h (LIBCALL_VALUE): Use
9245         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9246         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9247         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9248         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9249         and RTX_CODE.
9250         (mmix_function_value_regno_p): Declare.
9251
9252         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9253         invalid for floating point mode result, with fix.
9254
9255 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
9256
9257         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9258         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9259         (stage1_build): Likewise.
9260
9261 2002-10-25  Mike Stump  <mrs@apple.com>
9262
9263         Fixes gcc.dg/warn-1.c.
9264         * c-typeck.c (warn_for_assignment): Don't print argument number,
9265         if zero.
9266
9267 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
9268
9269         * toplev.c (dump_file_index): Add DFI_ce3.
9270         (dump_file_info): Likewise.
9271         (rest_of_compilation): Run first ifcvt pass before tracer.
9272
9273 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
9274
9275         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9276
9277 2002-10-25  Richard Henderson  <rth@redhat.com>
9278
9279         * real.c (real_to_decimal): If the >1 tens reduction loop results
9280         in a negative exponent, fall into the <1 pten computation.
9281
9282 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
9283
9284         PR middle-end/6994
9285         * c-objc-common.c (inline_forbidden_p): Can not inline
9286         functions containing structures or unions containing VLAs.
9287         * tree-inline.c (walk_tree): For all class 't' nodes, walk
9288         TYPE_SIZE and TYPE_SIZE_UNIT.
9289         (copy_tree_r): Copy types if they are variably modified.
9290
9291 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9292
9293         * config/s390/s390.md: Remove old-style peepholes.
9294
9295 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9296
9297         * config/s390/s390.c (s390_decompose_address): Do not range check the
9298         displacement if base or index is the argument pointer register.
9299
9300 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
9301
9302         PR other/3337
9303         PR bootstrap/6763
9304         PR bootstrap/8122
9305         * fixinc/inclhack.def (libc1_G_va_list): New fix.
9306         * fixinc/fixincl.x: Regenerate.
9307         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9308         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
9309         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9310         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9311         * config.in, configure: Regenerate.
9312
9313 2002-10-24  Igor Shevlyakov <igor@microunity.com>
9314
9315         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
9316
9317 2002-10-24  Richard Henderson  <rth@redhat.com>
9318
9319         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9320
9321 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9322
9323         * config/h8300/h8300.c (initial_offset): Simplify by using
9324         round_frame_size.
9325
9326 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9327
9328         * doc/install.texi (avr): Update required binutils version.
9329
9330 2002-10-24  Theodore A. Roth  <troth@openavr.org>
9331
9332         * doc/install.texi: Point avr users at more up-to-date information.
9333
9334 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9335
9336         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9337         to pull operands out of the literal pool where possible.
9338
9339 2002-10-24  Denis Chertykov  <denisc@overta.ru>
9340
9341         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9342
9343 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
9344
9345         * expr.c (convert_move): If unsignedp is less then zero there
9346         is no equivalent code.
9347
9348 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
9349
9350         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9351
9352 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9353
9354         * config/s390/s390.h: Rework comments; re-sort target macro definitions
9355         according to the sequence they are defined in the manual.
9356         (POINTER_BOUNDARY): Remove.
9357
9358 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9359
9360         * config/h8300/h8300.c (round_frame_size): Replace 8 with
9361         BITS_PER_UNIT.
9362
9363 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9364
9365         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9366         64-bit safe.
9367         (TINY_CONSTANT_ADDRESS_P): Likewise.
9368
9369 2002-10-24  Richard Henderson  <rth@redhat.com>
9370
9371         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9372         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9373         vcall offset.
9374
9375 2002-10-24  Richard Henderson  <rth@redhat.com>
9376
9377         PR opt/7944
9378         * reload.c (find_reloads_toplev): Mode of X is not important
9379         when simplifying subregs of constants.
9380
9381 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9382
9383         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9384         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9385         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9386         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9387         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9388
9389 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9390
9391         * optabs.c (expand_binop): Don't reuse the shift target in the
9392         middle of shift sequences.
9393
9394 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
9395
9396         * i386.md (abs splitters): Do not produce nested subregs.
9397
9398 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
9399
9400         * i386.md (movti_rex64): Fix constraints.
9401
9402 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
9403
9404         * i386.md (abssf,absdf): Use vector operands for SSE
9405         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9406         vector operand.
9407
9408 2002-10-23  Ziemowit Laski <zlaski@apple.com>
9409
9410         * objc/objc-act.c (get_static_reference): Remove unneeded
9411         TYPE_BINFO initialization.
9412         (get_object-reference): Likewise.
9413         (build_constructor): Tighten precondition check.
9414         (finish_message_expr): Likewise.
9415
9416 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
9417
9418         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9419         after CONST test.
9420
9421 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
9422
9423         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9424         in HFAs.
9425
9426 2002-10-23  Richard Henderson  <rth@redhat.com>
9427
9428         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9429         (alpha_output_mi_thunk_osf): Handle vcall_offset.
9430
9431 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
9432
9433         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9434         var_mod_type_p.
9435         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9436         hook_tree_bool_false.
9437
9438         * tree.c (variably_modified_type_p): Moved here from
9439         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
9440         language-specific cases.  Due to this, must weaken some 'if
9441         and only if' checks to merely 'if'.
9442         * tree.h: Prototype variably_modified_type_p.
9443
9444         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9445
9446 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9447
9448         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9449         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9450
9451         * config/s390/s390-protos.h (fp_operand): Remove.
9452         * config/s390/s390.c (fp_operand): Remove.
9453         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9454         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9455         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9456         (movdi_31, movdf_31 splitters): Likewise.
9457
9458         * config/s390/s390.h (IEEE_FLOAT): Remove.
9459         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9460         (INT_REGNO_P): Rename to ...
9461         (GENERAL_REGNO_P): ... this.
9462         (FLOAT_REGNO_P): Rename to ...
9463         (FP_REGNO_P): ... this.
9464         (ADDR_REGNO_P): New macro.
9465         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9466         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9467         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9468         (HARD_REGNO_NREGS): Adapt to macro renaming.
9469         (HARD_REGNO_MODE_OK): Likewise.
9470
9471 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
9472             Geoff Keating  <geoffk@apple.com>
9473
9474         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9475         (rs6000_memory_move_cost): New function.
9476         * config/rs6000/rs6000-protos.h: Declare them.
9477         * config/rs6000/rs6000.h: Use them.
9478
9479 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9480
9481         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
9482         inlining it into other libgcc2 routines.
9483         (__udivmoddi4): Likewise.
9484
9485 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
9486
9487         * doc/sourcebuild.texi (Test Suites): Improve.
9488
9489 2002-10-22  Stan Shebs  <shebs@apple.com>
9490
9491         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9492         case for Darwin.
9493
9494 2002-10-22  Jim Wilson  <wilson@redhat.com>
9495
9496         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9497
9498 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
9499
9500         PR other/8289
9501         * xmmintrin.h: Add const to the argument of loads.
9502
9503         * i386.md (pushv2di): New pattern.
9504         PR target/6890
9505         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9506
9507 2002-10-22  Richard Henderson  <rth@redhat.com>
9508
9509         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9510         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
9511         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9512         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9513         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9514         (TARGET_ASM_OUT): Update.
9515         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9516         (hook_bool_tree_hwi_hwi_tree_true): New.
9517         (default_can_output_mi_thunk_no_vcall): New.
9518         * hooks.h: Declare them.
9519         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9520
9521         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9522         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9523         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9524         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9525         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9526         config/stormy16/stormy16.c: Similarly.
9527
9528         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9529         Handle 64-bit properly.  Streamline.
9530         (x86_output_mi_vcall_thunk): Remove.
9531         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9532         (x86_can_output_mi_thunk): New.
9533         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9534         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9535         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9536
9537         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9538         output_mi_thunk; make static; always use function_section.
9539         (TARGET_ASM_OUTPUT_MI_THUNK): New.
9540         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9541         (rs6000_ra_ever_killed): Test no_new_pseudos not
9542         targetm.asm_out.output_mi_thunk in conjunction with thunks.
9543         * config/rs6000/rs6000-protos.h: Update.
9544         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9545         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9546         xcoffout_declare_function when using rs6000_output_mi_thunk.
9547
9548         * config/s390/s390.c (s390_output_mi_thunk): Rename from
9549         s390_output_mi_vcall_thunk.
9550         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9551         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9552
9553         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9554         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9555         * config/vax/vax-protos.h: Update.
9556         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9557
9558 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
9559
9560         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9561         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9562         * i386.md (movti_internal): Use 'C'
9563
9564         * xmmintrin.h (_mm_cmplt_epi*): New.
9565
9566 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
9567
9568         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
9569         ("*movdf_64"): Likewise.
9570         ("*lshrdi3_64"): Likewise.
9571         ("blockage"): Add length attribute.
9572         ("lit"): Likewise.
9573
9574 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
9575
9576         * i386.md: FIx typo.
9577         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
9578         (sse2_umulv2siv2di3): Fix predicate.
9579         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
9580         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
9581         * xmmintrin.h (_mm_mul_epu16): Rename to...
9582         (_mm_mul_epu32): This one.
9583         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
9584
9585         (contains_128bit_aligned_vector_p): Undo accidental checkin.
9586
9587 2002-10-22  Eric Christopher  <echristo@redhat.com>
9588
9589         * config/sparc/sparc.h: Add #error.
9590
9591 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
9592
9593         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
9594         [s390x-*-linux*]: Likewise.
9595         * config/s390/t-linux: Remove.
9596         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
9597
9598 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
9599
9600         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
9601         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
9602         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
9603         * i386.md (mmx_punpck?dq): Simplify.
9604         (sse2_pubpcklqdq): Fix.
9605         (sse2_pubpckhqdq): New.
9606         * xmmintrin.h (_mm_unpackhi_epi32): New.
9607
9608         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
9609         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
9610
9611 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
9612
9613         PR c++/7209
9614         * fold_const.c (fold_binary_op_with_conditional_arg): Always
9615         build compound_expr if we used save_expr.
9616
9617 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
9618
9619         * output.h (SECTION_NOTYPE): Define.
9620         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
9621         init array sections.
9622         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
9623         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
9624         merge TLS support.
9625
9626 2002-10-21  Richard Henderson  <rth@redhat.com>
9627
9628         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
9629         the function type, not the return type.
9630
9631 2002-10-21  Richard Henderson  <rth@redhat.com>
9632
9633         * real.c (sticky_rshift_significand): Return inexact, don't
9634         or it in immediately.
9635         (sub_significands): Accept incomming carry.
9636         (div_significands, rtd_divmod): Update for sub_significands change.
9637         (round_for_format): Update for sticky_rshift_significand change.
9638         (do_add): Don't involve the inexact bit in addition, do give the
9639         inexact bit as the subtraction carry-in.
9640         (encode_internal, decode_internal, real_internal_format): New.
9641         * real.h (real_internal_format): Declare.
9642
9643 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9644
9645         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
9646         don't define sdiv_qrnnd.
9647
9648 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
9649
9650         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
9651         using IN_RANGE.
9652         (TINY_CONSTANT_ADDRESS_P): Likewise.
9653
9654 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9655
9656         * i386.c (builtin_description): Add punpcklqdq and movdq2q
9657         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
9658         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
9659         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
9660         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
9661         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
9662         __builtin_ia32_setzero128.
9663         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
9664         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
9665         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
9666         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
9667         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
9668         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
9669         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
9670         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
9671         sse2_movq): New patterns.
9672         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
9673         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
9674         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
9675         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
9676         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
9677         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
9678         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
9679         (_mm_insert_epi16): Fix.
9680
9681 2002-10-21  Dale Johannesen  <dalej@apple.com>
9682
9683         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
9684             unsafe math reversals correctly for RTL generation.
9685           (output_cbranch):  Replace rs6000_reverse_condition call
9686             by its former definition.
9687
9688 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
9689
9690         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
9691         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
9692         from constant pool or LABEL_REFs as sign extended if allow_rip.
9693         Change all +-1GB limits to +-16MB.
9694         (x86_64_general_operand, x86_64_szext_general_operand,
9695         x86_64_nonmemory_operand, x86_64_movabs_operand,
9696         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9697         legitimate_address_p, ix86_expand_int_movcc): Update callers.
9698         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
9699         in CM_SMALL_PIC model.
9700         (legitimate_pic_address_disp_p): Don't check offsets before
9701         calling local_symbolic_operand.
9702         (legitimize_pic_address): Force offsets bigger than +-16MB into
9703         register.
9704         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
9705         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
9706         prototype.
9707
9708         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
9709         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
9710         * configure: Rebuilt.
9711         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
9712         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
9713         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
9714         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
9715         -fpic.
9716         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
9717         non-pic code if TARGET_64BIT.
9718         (legitimize_address): Generate 64-bit TLS sequences.
9719         (output_pic_addr_const): Support x86-64 TLS operators.
9720         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
9721         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
9722         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
9723         (output_addr_const_extra): Support x86-64 TLS operators.
9724         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
9725         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
9726         unconditionally.
9727         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
9728         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
9729         (*tls_global_dynamic_sun): Renamed to...
9730         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
9731         (tls_global_dynamic): Renamed to...
9732         (tls_global_dynamic_32): ... this.
9733         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
9734         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
9735         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
9736         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
9737         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
9738         (tls_local_dynamic_base_dynamic): Renamed to...
9739         (tls_local_dynamic_base_dynamic_32): ... this.
9740         (tls_local_dynamic_base_dynamic_64,
9741         *tls_local_dynamic_base_dynamic_64): New.
9742         (*tls_local_dynamic_once): Renamed to...
9743         (*tls_local_dynamic_32_once): ... this.
9744
9745 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9746
9747         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
9748         __divdi3, __umoddi3, or __moddi3.
9749
9750 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9751
9752         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
9753         instead of just opt_index as switch expression.
9754
9755         * calls.c (store_one_arg): Change type of 'excess_align'
9756         to unsigned int.
9757
9758         * profile.c (output_gcov_string): Change type of 'temp'
9759         to size_t.
9760
9761 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9762
9763         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
9764         (__fixunssfdi, __fixsfdi): Likewise.
9765         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
9766         (s390_single_qi): Likewise.
9767         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
9768         unsigned comparison warning.
9769         (s390_return_addr_rtx): New function.
9770         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
9771         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
9772         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
9773
9774 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9775
9776         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
9777         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
9778         (s390_output_mi_thunk): Remove.
9779         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9780
9781 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
9782
9783         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
9784
9785 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
9786
9787         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
9788         inverted test in the conditional determining the possibility
9789         of sibcalls in PIC mode.
9790
9791 2002-10-20  Richard Henderson  <rth@redhat.com>
9792
9793         * target.h (struct gcc_target): Line wrap.
9794
9795         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
9796         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
9797         * config/alpha/alpha.h: ... not here.
9798         * config/alpha/alpha-protos.h: Update.
9799
9800         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
9801         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9802         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
9803         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
9804         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
9805         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9806         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
9807         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
9808         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
9809         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
9810         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
9811         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
9812         config/sparc/sparc.c, config/sparc/sparc.h,
9813         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9814         config/stormy16/stormy16.h: Similarly.
9815
9816         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
9817         selection logic from call patterns.
9818
9819 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
9820
9821         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
9822
9823 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9824
9825         PR other/8202
9826         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
9827         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
9828         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
9829         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
9830
9831 2002-10-20  Roger Sayle  <roger@eyesopen.com>
9832
9833         PR c/761
9834         * toplev.c (flag_unsafe_profile_arcs): Remove.
9835         (flag_bounded_pointers): Remove.
9836         (flag_bounds_check): Correct comments.
9837         (lang_independent_options): Remove -funsafe-profile-arcs and
9838         -fbounded-pointers.  Correct -fbounds-check comments.
9839
9840         * flags.h: Correct flag_schedule_interblock comments.
9841         (flag_bounded_pointers): Remove prototype.
9842         (flag_bounds_check): Correct comments.
9843
9844         * c-opts.c (c_common_init_options): No need to mark
9845         flag_bounds_check as unspecified.
9846         (c_common_post_options): And no need to set it from
9847         flag_bounded_pointers if its still unspecified.
9848
9849         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
9850         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
9851         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
9852         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
9853
9854 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
9855         Angela Marie Thomas  <angela@releasedominatrix.com>
9856         Brendan Kehoe  <brendan@zen.org>
9857         Nick Clifton  <nickc@redhat.com>
9858         Andrew Haley  <aph@redhat.com>
9859
9860         * configure.in (--with-sysroot): New.  Don't inhibit libc if
9861         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
9862         and CROSS_SYSTEM_HEADER_DIR.
9863         * configure: Rebuilt.
9864         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
9865         (TARGET_SYSTEM_ROOT): New.
9866         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
9867         CROSS_SYSTEM_HEADER_DIR.
9868         (install-gcc-tooldir): New target.
9869         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
9870         if SYSTEM_HEADER_DIR does not exist and it's not the default
9871         sys-include directory.
9872         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
9873         (install-mkheaders): Likewise.
9874         * gcc.c (target_system_root): New variable.
9875         (add_sysrooted_prefix): New function.
9876         (process_command): Recompute run-time target_system_root from
9877         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
9878         does not exist.
9879         (do_spec_1): Process 'R' spec.
9880         (main): Add md_exec_prefix to exec_prefixes regardless of
9881         startfile_prefix_spec.  Use add_sysrooted_prefix for
9882         startfile_prefixes, and don't skip the default ones when cross
9883         compiling with sysroot enabled.  Removed unused case of
9884         non-absolute standard_startfile_prefix.
9885         * config/interix.h: Remove the only potential, yet disabled,
9886         occurrence of non-absolute (empty) standard_startfile_prefix.
9887         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
9888         linking.
9889         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
9890         * doc/install.texi (--with-sysroot): Document.
9891         (--with-headers, --with-libs): Deprecate.
9892
9893 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9894             Mark Mitchell  <mark@codesourcery.com>
9895
9896         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
9897         match target.h.
9898         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
9899         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
9900         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
9901         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
9902         x86_output_mi_thunk): Likewise.
9903         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
9904         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
9905         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
9906         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
9907         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
9908         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
9909         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
9910         Likewise.
9911         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
9912
9913         * target.h (gcc_target): Update output_mi_thunk and
9914         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
9915         vcall_index.
9916
9917         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
9918         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9919         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
9920         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
9921         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
9922         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
9923         signature.
9924         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
9925         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9926         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9927         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
9928         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
9929         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9930         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9931         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
9932         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
9933
9934         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
9935         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
9936
9937 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
9938
9939         * real.c (do_add): Fix 0+0 sign corner case.
9940         (do_divide): Fix Inf/0 corner case.
9941
9942 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
9943
9944         * i386.c (classify_argument): Pass MMX arguments in memory
9945         (ix86_expand_builtin): Expand proper address mode for cflush.
9946         * i386.md (movdqa): Fix typo.
9947         (sse2_cflush): Accept DImode addresses.
9948
9949         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
9950         (_mm_max_sd): Fix pasto.
9951         (_mm_storeh_pd, _mm_storel_pd): Fix.
9952
9953         * i386.c (bdesc_comi): Fix to match specification.
9954         (ix86_expand_sse_comi): Emit the comparison properly.
9955         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
9956         Do not use comparison operator.
9957         (vnmaskcmp): Fix template.
9958
9959         * xmmintrin.h (_mm_cvtps_pi16): Fix.
9960
9961 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
9962
9963         * dependence.c : Removed.
9964         * Makefile.in : Remove dependence.o.
9965
9966 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
9967
9968         * mmintrin.h (__m64): typedef it to v2si.
9969         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9970         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9971         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9972         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9973         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9974         * xmmintrin.h (_mm_setzero_si64): Likewise.
9975
9976         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9977         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9978
9979         PR target/7693
9980         Patch by Shawn Wagner
9981         * mmintrin.h: Replace pi64 by si64.
9982
9983 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
9984
9985         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9986         Use length of 4 not *.
9987         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
9988         (movdf_softfloat64): Likewise.
9989         (movdi_internal32): Use length of 4 not *.
9990         (movti_power): Same.
9991         (ctrsi, ctrdi): Same.
9992
9993 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
9994
9995         * c-decl.c (start_decl): Point users of the old initialized-
9996         typedef extension at __typeof__.
9997
9998 2002-10-18  Richard Henderson  <rth@redhat.com>
9999
10000         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10001         (real_to_decimal): Re-implement using the logic from the
10002         gcc 3.2 etoasc.  Comment heavily.
10003         (div_significands): Simplify loop startup and comparison logic.
10004
10005 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10006
10007         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10008         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10009         (TARGET_ASM_OUT): Add them.
10010         * target.h (asm_out): Add output_mi_thunk and
10011         output_mi_vcall_thunk.
10012         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10013         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10014         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10015         * config/arm/arm.c (arm_output_mi_thunk): Define.
10016         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10017         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10018         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10019         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10020         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10021         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10022         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10023         prototype.
10024         (x86_output_mi_vcall_thunk): Declare.
10025         * config/i386/i386.c (override_options): Clear
10026         output_mi_vcall_thunk in 64-bit mode.
10027         (ix86_fntype_regparm): New function.
10028         (ix86_return_pops_args): Use it.
10029         (ia32_this_parameter): New function.
10030         (x86_output_mi_vcall_thunk): New function.
10031         (x86_output_mi_thunk): Use it
10032         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10033         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10034         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10035         * config/i960/i960.c (i960_output_mi_thunk): New function.
10036         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10037         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10038         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10039         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10040         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10041         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10042         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10043         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10044         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10045         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10046         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10047         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10048         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10049         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10050         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10051         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10052         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10053         * config/s390/s390.c (s390_output_mi_thunk): Define.
10054         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10055         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10056         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10057         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10058         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10059         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10060         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10061         * config/vax/vax.c (vax_output_mi_thunk): Define.
10062         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10063         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10064         * doc/tm.texi: Adjust documentation.
10065
10066 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10067
10068         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10069         __enable_execute_stack function.
10070         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10071         as NETBSD_ENABLE_EXECUTE_STACK.
10072         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10073         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10074         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10075         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10076         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10077
10078 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10079
10080         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10081         to __enable_execute_stack with the address of the trampoline
10082         if TRANSFER_FROM_TRAMPOLINE is defined.
10083         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10084         constant if building libgcc2.
10085
10086 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10087
10088         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10089         (ix86_memory_move_cost): Fix for 64bit compilation.
10090
10091 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10092
10093         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10094
10095 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10096
10097         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10098         in CTR/LR/MQ.
10099         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10100         to/from CTR/LR/MQ.
10101         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10102         (movsf_softfloat): Likewise.
10103
10104 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10105
10106         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10107
10108 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10109
10110         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10111         tramp, not addr, to pass the trampoline address to
10112         __enable_execute_stack.
10113
10114 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10115
10116         * mmintrin.h: Guard by __MMX__
10117         * xmmintrin.h: Guard by __SSE__
10118
10119         PR other/8062
10120         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10121         (_mm_load*_?d): New functions.
10122         (_mm_set*_?d): New functions.
10123         (_mm_store*_?d): New functions.
10124
10125 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10126
10127         Really commit patch announced at Oct 14
10128         PR c/7344
10129         * predict.c (can_predict_insn_p): New function.
10130         (estimate_probability): Avoid unnecesary work.
10131         (process_note_prediction): Likewise.
10132         * toplev.c (rest_of_compilation): Account early branch prediction pass
10133         as TV_BRANCH_PROB.
10134
10135         PR other/8048
10136         Found by Ian Ollmann
10137         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10138         (_mm_load?_pd): Likewise.
10139         (_mm_store?_pd): Likewise.
10140
10141         PR target/7386
10142         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10143         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10144         swapped alternative.
10145
10146         PR opt/7630
10147         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10148         (push_reload): Update call.
10149
10150 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10151
10152         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10153         if using mips/elf.h or mips/elf64.h.
10154         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10155         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10156
10157 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10158
10159         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10160         SI.
10161
10162 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10163
10164         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10165         (LPREFIX): Likewise.
10166         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10167         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10168         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10169         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10170         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10171
10172         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10173         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10174         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10175         BSS_SECTION_ASM_OP): Move from linux.h.
10176         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10177         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10178
10179         * config/s390/s390.c (s390_function_profiler): Use
10180         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10181
10182 2002-10-15  Eric Christopher  <echristo@redhat.com>
10183
10184         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10185         * java/parse.y (obtain_incomplete_type): Make pointer
10186         ptr_mode.
10187
10188 2002-10-15  Richard Henderson  <rth@redhat.com>
10189
10190         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10191         as arguments.  Bound DIGITS by the available buffer size.
10192         (real_to_hexadecimal): Likewise.
10193         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10194         (REAL_VALUE_TO_DECIMAL): Remove.
10195         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10196         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10197         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10198         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10199         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10200         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10201         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10202         use real_to_decimal directly, and with the proper arguments.
10203         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10204
10205 2002-10-15  Jim Wilson  <wilson@redhat.com>
10206
10207         * reload1.c (merge_assigned_reloads): After converting overlapping
10208         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10209
10210         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10211
10212 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10213
10214         * expr.c (do_tablejump): Fix typo in my previous commit.
10215
10216 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10217
10218         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10219
10220 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10221
10222         * config/s390/s390.c (s390_split_branches): Add return
10223         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10224
10225         (find_base_register_in_addr): New function.
10226         (find_base_register_ref): New function.
10227         (replace_base_register_ref): New function.
10228
10229         (struct constant_pool): Add members pool_insn, insns, and anchor.
10230         Remove member last_insn.
10231         (s390_start_pool): Initialize them.
10232         (s390_end_pool): Emit pool placeholder insn.
10233         (s390_add_pool_insn): New function.
10234         (s390_find_pool): Use insns bitmap instead of addresses.
10235         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
10236         Replace unspec 104 by local-pool-relative references.
10237         (s390_output_constant_pool): Output anchor label if required.
10238         (s390_output_symbolic_const): Handle unspec 104 and 105.
10239         (s390_add_pool): Remove, replace by ...
10240         (s390_add_constant, s390_find_constant): ... these new functions.
10241         (s390_add_anchor): New function.
10242
10243         (s390_chunkify_pool): Delete, replace by ...
10244         (s390_chunkify_start, s390_chunkify_finish,
10245         s390_chunkify_cancel): ... these new functions.
10246         (s390_optimize_prolog): Add parameter TEMP_REGNO.
10247         Recompute register live data for special registers.
10248         (s390_fixup_clobbered_return_reg): New function.
10249         (s390_machine_dependent_reorg): Rewrite to use new
10250         s390_chunkify_... routines.
10251
10252         config/s390/s390.md ("reload_base"): Rename to ...
10253         ("reload_base_31"): ... this.
10254         ("reload_base_64"): New insn.
10255         ("reload_base2"): Remove.
10256         ("reload_anchor"): New insn.
10257         ("pool"): New insn.
10258
10259         s390.c (s390_pool_overflow): Remove.
10260         s390.h (s390_pool_overflow): Likewise.
10261         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10262
10263 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
10264
10265         * sh.md (movv8qi_i+2): Don't split if source is -1.
10266
10267 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
10268
10269         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10270
10271 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10272
10273         PR opt/7409
10274         * loop.c (loop_regs_scan): Mark registers used for function
10275         argument passing as MAY_NOT_OPTIMIZE.
10276
10277 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10278
10279         * gcov-io.h (gcov_info): Fix type.
10280         * profile.c (create_profiler): Fix type mismatch.
10281
10282 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
10283
10284         * i386.md (movv2di_internal): New pattern.
10285         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10286         (movv2di): New expander.
10287         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10288
10289         * i386.c (ix86_expand_timode_binop_builtin): Delete.
10290         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10291         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10292         (ix86_expand_builtin): Likewise.
10293         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10294         sse_andti3,
10295         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10296         sse_andnti3,
10297         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
10298         sse_orti3,
10299         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
10300         sse_xorti3): Kill.
10301         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10302          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10303         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10304          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10305         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10306          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10307
10308         * xmmintrin.h (__m128i): Define as __v2di.
10309
10310         PR c++/6419
10311         (expand_expr): Use DECL_RTL_SET_P.
10312
10313 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10314
10315         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
10316
10317 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10318             Zack Weinberg <zack@codesourcery.com>
10319
10320         * config/i386/i386.c (k6_cost): Correct typo.
10321
10322 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
10323
10324         PR optimization/6631
10325         * alias.c (objects_must_conflict_p): Check honor_readonly when
10326         examining TYPE_READONLY.
10327         * function.c (assign_stack_temp_for_type): Likewise.
10328
10329 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
10330
10331         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10332         Swap zero extension arguments.
10333         (umaxhi3): Fix instruction class.
10334         PR target/7211
10335         (prefetch): Fix prefetch instructions.
10336         PR target/7238
10337         (pkwb): Fix output constraint.
10338
10339 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
10340
10341         * config/mips/mips.c (print_operand): Increase buffer size for
10342         real numbers.
10343
10344 2002-10-14  Richard Henderson  <rth@redhat.com>
10345
10346         PR opt/8165
10347         * gcse.c (adjust_libcall_notes): Revert last change.
10348         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10349
10350 2002-10-14  Andrew Haley  <aph@redhat.com>
10351
10352         * tree-inline.c (remap_block): All local class initialization
10353         flags go in the outermost scope.
10354         (expand_call_inline): Call java_inlining_map_static_initializers.
10355         (expand_call_inline): Call java_inlining_merge_static_initializers.
10356         * java/lang.c (merge_init_test_initialization): New.
10357         (java_inlining_merge_static_initializers): New.
10358         (inline_init_test_initialization): New.
10359         (java_inlining_map_static_initializers): New.
10360
10361         * tree-inline.c (expand_call_inline): Convert retvar to expected
10362         type.
10363
10364 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
10365
10366         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10367
10368 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
10369
10370         * stmt.c: Fix typo in comment.
10371
10372 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10373
10374         * c-common.c (c_common_type_for_mode): Add V2HImode case.
10375         * tree.c (build_common_tree_nodes_2): Initialize
10376         unsigned_V2HI_type_node and V2HI_type_node.
10377         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10378         (unsigned_V2HI_type_node, V2HI_type_node): Define.
10379
10380 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
10381
10382         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10383         Handle TARGET_64BIT.
10384
10385 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10386
10387         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10388         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10389         (MULTILIB_DIRNAMES): Remove long32.
10390         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10391         (MULTILIB_REDUNDANT_DIRS): Remove.
10392
10393 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10394
10395         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10396         * gcc.c (driver_self_specs): New variable.
10397         (do_self_spec): New function.
10398         (main): Use it to process driver_self_specs.
10399
10400 2002-10-13  Richard Henderson  <rth@redhat.com>
10401
10402         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10403         indirect sibcalls when regparm >= 3.
10404
10405         * config/i386/i386.c (sibcall_insn_operand): New.
10406         * config/i386/i386.h (PREDICATE_CODES): Update.
10407         * config/i386/i386-protos.h: Update.
10408         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10409
10410         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10411
10412 2002-10-12  Roger Sayle  <roger@eyesopen.com>
10413
10414         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10415         arithmetic right shifts of ~0 during RTL simplifications.
10416
10417 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
10418
10419         PR preprocessor/7862
10420         PR preprocessor/8190
10421         * gcc.c (cpp_unique_options): Don't delete .d files.
10422         Remove stray whitespace.
10423
10424 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
10425
10426         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10427         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10428         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10429         (pdp11_output_function_epilogue, output_ascii): Likewise.
10430         (output_addr_const_pdp11): Likewise.
10431         * pdp11.md (movdi): Use offsetable memory for floating store.
10432         (lshrsi3, negsi2): Delete irrelevant comment.
10433
10434 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
10435
10436         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10437         indirect calls to be sibcall optimized.
10438         * config/i386/i386.md (sibcall_1): New.
10439         (call_1): Add no-sibcalls condition.
10440         (sibcall_value_1): New.
10441         (call_value_1): Add no-sibcalls condition.
10442
10443 2002-10-11  Eric Christopher  <echristo@redhat.com>
10444
10445        * output.h (default_valid_pointer_mode): Declare.
10446        * varasm.c (default_valid_pointer_mode): Define.
10447        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10448        * target.h: Ditto.
10449        * tree.c (build_pointer_type_for_mode): New function.
10450        (build_pointer_type): Use.
10451        (build_reference_type_for_mode): New function.
10452        (build_reference_type): Use.
10453        * tree.h: Declare new functions.
10454        * c-common.c (handle_mode_attribute): Use new functions, check
10455        for type.
10456        * stor-layout.c (layout_type): Depend on machine mode for
10457        REFERENCE_TYPE and POINTER_TYPE.
10458        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10459        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10460        and REFERENCE_TYPE.
10461        * config/mips/mips.c (mips_valid_pointer_mode): New function.
10462        (TARGET_VALID_POINTER_MODE): Use and define.
10463        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10464
10465 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
10466
10467         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10468         not the address of the REG.
10469         (struct cse_reg_info): Make subreg_ticked unsigned.
10470
10471 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
10472
10473         * doc/compat.texi: Add info about C++ libraries.
10474
10475 2002-10-11  Richard Henderson  <rth@redhat.com>
10476
10477         PR opt/8165
10478         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10479
10480 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10481
10482         * cfganal.c (dfs_enumerate_from): Use PARAMS.
10483         * genautomata.c (output_insn_code_cases): Likewise.
10484         * real.c (real_format): Likewise.
10485         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10486         ensure value is promoted before doing subtraction.
10487
10488 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
10489
10490         * calls.c (expand_call): Simplify noreturn call.
10491
10492         PR c/7344
10493         * cfgbuild.c (make_edges): Create edge cache when we do have
10494         large jumptable.
10495         * expr.c (do_tablejump): Note size of maximal jumptable.
10496         * function.c (prepare_function_start): Zero out size.
10497         * function.h (function): Add max_jumptable_ents.
10498
10499         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10500
10501 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10502
10503         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10504         register for mperm_w operation.
10505
10506 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
10507
10508         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10509         an integer, use simplify_gen_subreg.
10510
10511 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
10512
10513         * calls.c (flags_from_decl_or_type): Make extern.
10514         (ECF_*): Move ...
10515         * rtl.h (ECF_*): ... here.
10516         (flags_from_decl_or_type): Declare.
10517
10518 2002-10-10  Roger Sayle  <roger@eyesopen.com>
10519             Nathan Sidwell <nathan@codesourcery.com>
10520
10521         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10522         shifts of the form -1 >> x.
10523
10524 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
10525
10526         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10527
10528 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
10529
10530         * extend.texi (Vector Extensions): Remove comment about single
10531         element vectors.
10532
10533 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10534
10535         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10536         * function.c (insns_for_mem_hash): Likewise.
10537         * varasm.c (STRHASH): Likewise.
10538
10539 2002-10-10  Stuart Hastings  <stuart@apple.com>
10540
10541         * cse.c (struct cse_reg_info): Add subreg_ticked.
10542         (SUBREG_TICKED): New.
10543         (get_cse_reg_info): Initialize SUBREG_TICKED.
10544         (mention_regs): Use it.
10545         (invalidate): Set SUBREG_TICKED.
10546         (invalidate_for_call): Likewise.
10547         (addr_affects_sp_p): Likewise.
10548
10549 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
10550
10551         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10552         into proper operand.
10553
10554 2002-10-10  Denis Chertykov  <denisc@overta.ru>
10555
10556         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10557         deallocation.
10558         * config/ip2k/libgcc.S: Combine routines used by function
10559         epilogue.
10560
10561 2002-10-10  Jim Wilson  <wilson@redhat.com>
10562
10563         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
10564         UDIV.
10565
10566 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
10567
10568         * config/rs6000/aix52.h: New file.
10569         * config/rs6000/t-aix52: New File.
10570         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
10571         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
10572
10573 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
10574
10575         PR target/5610
10576         * invoke.texi (-msse-math): Kill
10577         (-msse): Add note to mfpmath=sse.
10578
10579 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
10580
10581         PR target/7723
10582         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
10583
10584 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
10585
10586         PR preprocessor/8179
10587         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
10588         as cc1_options.
10589         (default_compilers): Pass debug options when preprocessing
10590         stdin.
10591
10592 2002-10-06  Richard Henderson  <rth@redhat.com>
10593
10594         * toplev.c (rest_of_compilation): Revert opt/2960 change.
10595
10596 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10597
10598         * i386.c (*_cost): Add branch costs.
10599         (override_options): set ix86_branch_cost.
10600         (ix86_expand_int_movcc): Use BRANCH_COST.
10601         * i386.h (costs): Add branch_cost.
10602
10603 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
10604
10605         PR c/7353
10606         * c-decl.c (start_decl): Unconditionally issue error for
10607         'typedef foo = bar'.
10608         (finish_decl): Remove special case for TYPE_DECL with initializer.
10609
10610         * doc/extend.texi: Delete "Naming Types" section.  Change all
10611         cross-references to that section to refer to "Typeof" instead.
10612         Add the useful safe-max()-macro example from "Naming Types" to
10613         "Typeof", rewritten using that extension.  Add some compatibility
10614         notes to "Typeof."
10615
10616 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10617
10618         * loop.c: Revert 2002-08-15 change.
10619         (LOOP_REGNO_NREGS): Ensure type is int.
10620
10621 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
10622
10623         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
10624         which copies first FPR and clears second.
10625         (extendsftf2): Same.
10626         (floatditf2): Fix typo.
10627         (floatsitf2): Same.
10628         (fix_trunctfdi2): Same.
10629         (fix_trunctfsi2): Same.
10630
10631 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10632
10633         * conflict.c (arc_hash): Change return type to hashval_t.
10634         * cselib.c (get_value_hash): Likewise.
10635         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
10636         state_hash, automata_list_hash): Likewise.
10637         * read-rtl.c (def_hash): Likewise.
10638         * tree.c (type_hash_hash): Likewise.
10639
10640 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
10641
10642         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
10643         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
10644
10645 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10646
10647         * sh.md (ffssi2): Fix emitted code.
10648
10649 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
10650
10651         * cse.c (insn_live_p): Pass insn pattern, not full insn
10652         to may_trap_p.
10653
10654 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
10655
10656         * cppmacro.c (paste_tokens): Only allow / to paste with =.
10657
10658 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
10659
10660         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
10661         64-bit hosts.
10662         (movtf_internal): Reference correct displacement for second value
10663         in memory.
10664         (movtf splitter): Correct generation of constants in 64-bit mode.
10665
10666 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
10667
10668         * libgcc2.c (__floatdisf): Properly cure double rounding.
10669
10670 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10671
10672         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
10673         * doc/cpp.texi (Common Predefined Macros): Document.
10674
10675 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10676
10677         PR doc/7484
10678         * doc/invoke.texi (Option Summary): List
10679         -Wmissing-declarations as a C only option.
10680
10681 2002-10-08  Roger Sayle  <roger@eyesopen.com>
10682
10683         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
10684         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
10685         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
10686
10687 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10688
10689         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10690         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
10691         variables.
10692         (safe_vector_operand): Update sse_clrv4sf call.
10693         (ix86_expand_buildin): Likewise
10694         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10695         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
10696         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
10697         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
10698         macros.
10699         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
10700         movv4si):  Obey the new flags.
10701         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
10702         reformating penalty.
10703         (anddf, cmov patterns): Avoid reformating by first converting.
10704         (sse_cvtsd2ss): Fix predicate.
10705         (sse2_clrti): Fix mode,
10706         (sse_clrv4sf): Avoid unspec.
10707
10708 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
10709
10710         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
10711         mno-app-regs|mcmodel=medany.
10712         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
10713         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
10714         (CRTSTUFF_T_CFLAGS): Define.
10715
10716 2002-10-08  Roger Sayle  <roger@eyesopen.com>
10717
10718         PR target/8087
10719         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
10720         pool references that are constructed using LO_SUM.
10721
10722 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
10723
10724         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
10725         -Wall.
10726         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
10727         message.
10728         * flags.h (warn_strict_aliasing): Declare.
10729         * toplev.c (warn_strict_aliasing): Define.
10730         (lang_independent_options): Add it.
10731         * doc/invoke.texi (-Wstrict-aliasing): Document it.
10732
10733 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
10734
10735         * system.h (GCCBUGURL): Delete.
10736         * version.c (bug_report_url): New.  Add commentary about
10737         modifying both these strings in modified distributions.
10738         * version.h: Declare bug_report_url.
10739
10740         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
10741         bug_report_url.
10742
10743 2002-10-08  Nick Clifton  <nickc@redhat.com>
10744
10745         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
10746         convert uint64_t into __ev64_opaque__.
10747         (__ev_set_acc_s64): Likewise, but using signed types.
10748
10749 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
10750
10751         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
10752         ("*doloop_di_long"): Likewise.
10753
10754 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
10755
10756         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
10757
10758 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
10759
10760         * config/mips/mips.md (define_attr cpu): Add r4111.
10761
10762 2002-10-08  Anthony Green  <green@redhat.com>
10763
10764         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
10765
10766 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10767
10768         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
10769         for REAL_VALUE_TO_DECIMAL output.
10770
10771 2002-10-07  Richard Henderson  <rth@redhat.com>
10772
10773         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
10774         function; cleanup PLUS case by using recursion.  Update all users.
10775         (NONZERO_BASE_PLUS_P): Remove.
10776         (find_comparison_args): Use rtx_addr_can_trap_p instead.
10777         (fold_rtx): Use nonzero_address_p.
10778         * rtl.h (nonzero_address_p): Declare.
10779         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
10780         (rtx_addr_can_trap_p): Likewise.
10781         (nonzero_address_p): New.
10782         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
10783         (simplify_relational_operation): Use nonzero_address_p.
10784
10785 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
10786
10787         * config/rs6000/rs6000.c (rs6000_override_options): Set
10788         real_format_for_mode for IBM extended format, if enabled.
10789         (easy_fp_constant): Add TFmode.
10790         (rs6000_legitimize_address): Add TFmode.
10791         (rs6000_legitimate_address): Same.
10792         (function_arg_advance): TFmode uses two FPRs.
10793         (rs6000_emit_prologue): Fix warning.
10794         (rs6000_output_function_epilogue): Add TFmode.
10795         (output_toc): Add TFmode.
10796         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
10797         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
10798         * rs6000.md (movtf splitter): Load TFmode constant.
10799
10800 2002-10-07  Dale Johannesen  <dalej@apple.com>
10801
10802         * rtl.h:  Add NOTE_PRECONDITIONED.
10803         * unroll.c:  Set it.
10804         * loop.c:  Set loop_info->preconditioned from it.
10805         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
10806
10807 2002-10-07  Richard Henderson  <rth@redhat.com>
10808
10809         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
10810         new rtx for comparing the argument pointer against zero.
10811         (i960_va_start): Similarly.
10812
10813 2002-10-07  Richard Henderson  <rth@redhat.com>
10814
10815         * config/i960/i960.md (*): Use TFmode, not XFmode.
10816         * config/i960/i960.c (*): Likewise.
10817         (i960_arg_size_and_align): Remove XFmode alignment hack.
10818         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
10819         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
10820         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
10821         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
10822
10823 2002-10-07  Richard Henderson  <rth@redhat.com>
10824
10825         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
10826         entry points; use void return value and argument list.
10827
10828 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
10829
10830         * calls.c (expand_call): Fix function-is-volatile check.
10831
10832 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
10833
10834         * t-pdp11: Add MULTILIB support for msoft-float.
10835         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
10836
10837         * t-pdp11: Add LIB2FUNCS_EXTRA.
10838         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
10839         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
10840         'fldd' to 'ldd', rename 'fstd' to 'std'.
10841         (pdp11_output_function_epilogue): Likewise.
10842         (output_move_quad): Make the comment gas compatible.
10843         (output_ascii): Add preceding 0 to the octal constant.
10844         (print_operand_address): Add pre_modify, post_modify.
10845         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
10846         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
10847         with the indication of Paul Koning.
10848         (PRINT_OPERAND): Fix floating constant.
10849         * pdp11.md (movdi): Restrict matching pattern.
10850         (movqi): Generalize the matching pattern.
10851         (movdf): Restrict matching pattern.
10852         (zero_extendqihi2): Change constant representation.
10853         (floatsidf2): Fix wrong operands.
10854         (addqi3): Fix wrong instruction name.
10855         (subqi3): Fix wrong instruction name.
10856         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
10857         (xorsi3): Fix wrong insn.
10858         (one_cmplqi2): Add two operand pattern.
10859         (lsrsi3): New.
10860         (negsi2): New.
10861         (call): Add register indirect case.
10862         (mod): Fix wrong subreg.
10863
10864 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
10865             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10866
10867         PR c/7411
10868         * expr.c (expand_expr) [PLUS]: Simplify after the operands
10869         have been expanded in EXPAND_NORMAL mode.
10870
10871 2002-10-06  Richard Henderson  <rth@redhat.com>
10872
10873         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
10874
10875 2002-10-06  Richard Henderson  <rth@redhat.com>
10876
10877         PR optimization/2960
10878         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
10879         optimize_size.
10880
10881 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
10882
10883         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
10884         previously definitions.
10885
10886 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
10887
10888         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
10889         * c-opts.c (find_opt): Similarly.
10890
10891 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
10892
10893         * athlon.md: rewrite to DFA.
10894         * i386 (ix86_adjust_cost): Drop memory latency code.
10895         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
10896
10897 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
10898
10899         * gcc.c (set_multilib_dir): Don't access *end.
10900         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
10901         (print_multilib_info): Don't show paths starting with ".:".
10902         * genmultilib: Add new option, "yes" if multilibs are enabled.
10903         Update comments.  If multilibs not enabled, print .:${osdirout}
10904         for each directory.  If multilibs are enabled, always print
10905         ${dirout}:${osdirout}, even if the two are the same.
10906         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
10907         Pass all MULTILIB_* variables to genmultilib even if
10908         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
10909
10910 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
10911
10912         * gcc.c (process_command): Set .validated for -pipe.  Correct
10913         grammar in comment.
10914
10915 2002-10-04  Bruce Korb  <bkorb@gnu.org>
10916
10917         * fixinc/inclhack.def(hpux11_abs):  use format fix
10918         * fixinc/fixincl.x: regenerate
10919         * fixinc/tests/base/stdlib.h: accommodate new fix test
10920
10921 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
10922
10923         * c-common.c (cb_register_builtins):  Use really_no_inline.
10924
10925 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
10926
10927         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
10928         copied instruction if the note is not loop invariant.
10929
10930 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
10931
10932         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
10933
10934 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
10935
10936         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
10937         and -mhp-ld options to list of options.  Add -mgnu-ld
10938         and -mhp-ld option descriptions.
10939
10940 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
10941
10942         * fixinc/inclhack.def (hpux11_abs):  New.
10943         (stdio_va_list): change __va_list__ to __gnuc_va_list.
10944         * fixinc/fixincl.x: Rebuild.
10945
10946 2002-10-04  Roger Sayle  <roger@eyesopen.com>
10947
10948         * config/i386/i386.h (processor_costs): Add new fields fadd,
10949         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
10950         (RTX_COSTS): Use these fields to determine the RTX costs
10951         of floating point addition/subtraction, multiplication,
10952         division, fabs, negation and square root respectively.
10953         * config/i386/i386.c (size_cost): Provide instruction sizes
10954         for these new fields.
10955         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
10956         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
10957         counts for these new fields for all x86 processor variants.
10958
10959 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10960
10961         * mips.c (mips_const_double_ok): Delete unused variable.
10962
10963         * gengtype.c (rtx_next): Change type to int.
10964
10965 2002-10-04  Andreas Jaeger  <aj@suse.de>
10966
10967         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10968
10969 2002-10-04  Richard Henderson  <rth@redhat.com>
10970
10971         * real.h (SIGNIFICAND_BITS): Add one more word.
10972         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10973         * real.c (times_pten): New.
10974         (real_to_decimal, real_from_string): Use it.
10975         (sticky_rshift_significand): Use & to find modulus.
10976         (rshift_significand, lshift_significand): Likewise.
10977         (do_divide): Apply sticky bit after normalization.
10978         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10979
10980 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
10981
10982         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10983         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10984
10985 2002-10-03  Andreas Jaeger  <aj@suse.de>
10986
10987         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
10988         to unsigned long, adjust printf format string.
10989         (output_mangled_typename): Likewise.
10990
10991 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
10992
10993         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
10994         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
10995         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
10996         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
10997         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
10998         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
10999         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11000         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11001
11002 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11003
11004         * doc/invoke.texi (-Wabi): Document mangling bug.
11005
11006 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11007
11008         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11009         name for the tbtab label that depends on the function asm name.
11010         Don't output tbtab label unless optional_tbtab.
11011         (output_mi_thunk): Formatting.
11012
11013 2002-10-03  Richard Henderson  <rth@redhat.com>
11014
11015         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11016         * config/m68k/m68k.c (override_options): ... here.
11017         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11018         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11019         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11020         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11021
11022 2002-10-03  Richard Henderson  <rth@redhat.com>
11023
11024         * real.h (struct real_value): Use ENUM_BITFIELD.
11025
11026 2002-10-03  Richard Henderson  <rth@redhat.com>
11027
11028         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11029
11030 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11031
11032         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11033
11034 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11035
11036         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11037         * config/pa/pa.h (MASK_GNU_LD): New.
11038         (TARGET_GNU_LD): New.
11039         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11040         on gnu-ld and MASK_GNU_LD.
11041         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11042
11043 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11044
11045         * i386.c (athlon_cost): Fix the move costs.
11046
11047 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11048
11049         * final.c (final): Use symbol name as function name for profiling.
11050         * profile.c (get_exec_counts): Likewise.
11051         (branch_prob): Likewise.
11052
11053 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11054
11055         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11056
11057 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11058
11059         * gcc.c (print_multi_os_directory): New variable.
11060         (option_map): Support --print-multi-os-directory.
11061         (struct prefix_list): Add os_multilib field.
11062         (multilib_os_dir): New variable.
11063         (static_specs): Add multilib_options.
11064         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11065         subdirs if nonzero.
11066         (read_specs, execute): Update callers.
11067         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11068         pass 1 as multilib option.
11069         (display_help): Include --print-multi-os-directory.
11070         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11071         (process_command): Update callers.  Handle --print-multi-os-directory.
11072         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11073         set.
11074         (main): Update find_a_file and add_prefix callers.
11075         Handle print_multi_os_directory.
11076         (struct mdswitchstr): New.
11077         (mdswitches, n_mdswitches): New variables.
11078         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11079         present on the command line nor their mutually incompatible
11080         switches.
11081         (default_arg): Optimize.
11082         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11083         array.
11084         (print_multilib_info): Only print GCC multilib dir name, not OS
11085         multilib dirname.
11086         * genmultilib: Add osdirnames parameter.  Output multilib_options
11087         variable.  If osdirnames is specified, output dirnames as
11088         dirname:osdirname.
11089         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11090         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11091         to compute libgcc_s soname and install path.
11092         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11093         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11094         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11095         argument.
11096
11097         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11098         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11099         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11100         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11101         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11102         and -m64.
11103         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11104         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11105         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11106         (STARTFILE_ARCH_SPEC): Remove.
11107         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11108         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11109         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11110         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11111         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11112
11113 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11114
11115         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11116
11117 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11118
11119         * i386.md (lea to mul peep2): Fix condition.
11120
11121 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11122
11123         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11124         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11125
11126 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11127
11128         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11129         attribute "unused".
11130
11131         * config/t-libunwind: Mention unwind-sjlj.c.
11132         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11133         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11134
11135         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11136         before inclusion of config.gcc, but after configuring the compiler etc.
11137         Determine default value for --enable-libunwind-exceptions based on
11138         whether the host has a libunwind library (not guaranteed to be correct,
11139         but it's a reasonable first guess and can always be overridden with an
11140         explicit --enable/disable-libunwind-exceptions.
11141         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11142         tmake_file when $use_libunwind_exceptions is enabled.
11143         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11144         ia64 (e.g., config/t-linux also updates it).
11145         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11146         along with the shared version of libgcc since the latter requires
11147         the former.
11148         * unwind-libunwind.c: New file.
11149         * config/t-libunwind: Ditto.
11150
11151 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11152
11153         * config.gcc: Remove support for vax-*-vms*.
11154         * config/vax/vms.h: Remove.
11155         * config/vax/xm-vms.h: Remove.
11156         * config/vax/vax-protos.h: Remove VMS-specific code.
11157         * config/vax/vax.c: Remove VMS-specific code.
11158
11159 2002-10-02  Richard Henderson  <rth@redhat.com>
11160
11161         PR opt/7124
11162         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11163         for secondary_memory_needed pairs.
11164
11165 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11166
11167         * doc/vms.texi: Blow away false include file section.
11168
11169 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11170
11171         PR optimization/6627
11172         * toplev.c (force_align_functions_log): New global variable.
11173         * flags.h (force_align_functions_log): Add extern prototype.
11174         * varasm.c (assemble_start_function): Use it to force minimum
11175         function alignment.
11176         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11177         minimum function alignment to one byte.
11178         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11179         the least significant bit of vtable member function pointers.
11180         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11181         here from cp/cp-tree.h.
11182
11183 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11184
11185         * i386.c (print_operand_address): Use RIP addressing for offsetted
11186         label refs too.
11187
11188 2002-09-30  David S. Miller  <davem@redhat.com>
11189
11190         PR middle-end/7151
11191         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11192         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11193
11194 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11195
11196         * calls.c (expand_call): Remove the `no indirect check'
11197         for sibcall optimization; use function_ok_for_sibcall
11198         target hook; refine check for `function is volatile'.
11199         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11200         * hooks.c (hook_tree_tree_bool_false): New.
11201         * hooks.h (hook_tree_tree_bool_false): Declare.
11202         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11203         (TARGET_INITIALIZER): Add it.
11204         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11205         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11206         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11207         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11208         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11209         Remove function declaration.
11210         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11211         function static and accept another argument of type `tree'.
11212         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11213         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11214         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11215         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11216         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11217         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11218         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11219         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11220         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11221         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11222         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11223         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11224         Remove function declaration.
11225         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11226         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11227         rename first argument to `decl'; accept another argument
11228         of type `tree'; make static.
11229         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11230         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11231         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11232         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11233         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11234         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11235         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11236         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11237         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11238
11239 2002-10-01  Roger Sayle  <roger@eyesopen.com>
11240
11241         * unroll.c (loop_iterations): Revert 2002-09-08 change.
11242
11243 2002-10-01  Richard Henderson  <rth@redhat.com>
11244
11245         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11246         (real_to_hexadecimal): Likewise.
11247         * print-rtl.c (print_rtx): If we are linked with real.c, don't
11248         dump the XWINT fields of a floating point CONST_DOUBLE.
11249
11250 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
11251
11252         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11253
11254 2002-10-01  Richard Henderson  <rth@redhat.com>
11255
11256         * calls.c (precompute_register_parameters): Force non-legitimate
11257         constants into pseudos.
11258
11259 2002-10-01  Nick Clifton  <nickc@redhat.com>
11260
11261         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11262         to assembler template.
11263
11264 2002-10-01  Richard Henderson  <rth@redhat.com>
11265
11266         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11267         for TLS debug info to !DECL_EXTERNAL.
11268
11269 2002-10-01  Matt Thomas  <matt@3am-software.com>
11270             Jason Thorpe  <thorpej@wasabisystems.com>
11271
11272         * config.gcc (vax-*-netbsdelf*): Enable configuration.
11273         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
11274         if not already defined.
11275         * config/vax/elf.h: New file.
11276         * config/vax/netbsd-elf.h: New file.
11277         * config/vax/vax.c: Include "debug.h".
11278         (vax_output_function_prologue): Add dwarf2 support.  Use
11279         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11280         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11281         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11282         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11283         (VAX_ISTREAM_SYNC): Remove.
11284         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11285         (JUMP_TABLES_IN_TEXT_SECTION): Define.
11286         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11287         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11288         and assemble_name.
11289         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11290         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11291         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11292         (INCOMING_RETURN_ADDR_RTX): Define.
11293         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11294         (VUNSPEC_SYNC_ISTREAM): Define.
11295         (blockage): Use VUNSPEC_BLOCKAGE.
11296         (sync_istream): New insn.
11297
11298 2002-10-01  Richard Henderson  <rth@redhat.com>
11299
11300         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11301         (*call_value_pop, call, call_value): Add dwarf2 EH support.
11302         (*call): New insn.
11303
11304 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11305
11306         PR c/8083
11307         * c-typeck.c (build_c_cast): Warn about type punning which breaks
11308         type based aliasing.
11309
11310 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
11311
11312         * stor-layout.c (update_alignment_for_field): New function.
11313         (place_union_field): Use it.
11314         (place_field): Likewise.
11315
11316 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11317
11318         PR other/8077
11319         * gcc.c (cc1_options): Add space on -auxbase-strip.
11320
11321 2002-10-01  Jim Wilson  <wilson@redhat.com>
11322
11323         * config/v850/v850.h (EPILOGUE_USES): Define.
11324
11325 2002-09-30  Andrew Haley  <aph@redhat.com>
11326
11327         * flow.c (insn_dead_p): When using non-call-exceptions, don't
11328         eliminate insns that may trap.
11329         * cse.c (insn_live_p): Likewise.
11330
11331 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11332
11333         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11334         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11335         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11336         * config/mips/mips.md: Apply same renaming here.
11337
11338 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11339
11340         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11341         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11342         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11343         * config/mips/mips.md (define_attr cpu): Remove r4320.
11344         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11345
11346 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11347
11348         * config/mips/mips.c (mips16_strings): New variable.
11349         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11350         symbol in mips16_strings.  Free the list.
11351         (mips_encode_section_info): Keep track of local strings.
11352
11353 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11354
11355         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11356         (sordered_df, sordered_sf): Remove.
11357         * config/mips/mips.c (get_float_compare_codes): New fn.
11358         (gen_int_relational, gen_conditional_move): Use it.
11359
11360 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11361
11362         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11363         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11364         * config/mips/mips.c (fcc_register_operand): New function.
11365         (mips_emit_fcc_reload): New function, extracted from reload_incc.
11366         (override_options): Allow TFmode values in float registers
11367         if ISA_HAS_8CC.
11368         * cnfig/mips/mips.md (reload_incc): Change destination prediate
11369         to fcc_register_operand.  Remove misleading source constraint.
11370         Use mips_emit_fcc_reload.
11371         (reload_outcc): Duplicate reload_incc.
11372
11373 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
11374
11375         * gcc.c (validate_switches): Handle all new forms of spec
11376         syntax introduced recently.  Now returns a char *.
11377         (validate_all_switches): Repetitive logic broken out to...
11378         (validate_switches_from_spec): ...here.
11379         * mklibgcc.in: Don't @-flag commands to generate .oS files.
11380
11381 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
11382
11383         * longlong.h: Partially synchronize with GMP-4.1 version:
11384         Use i370 definitions also for s390.
11385         Add generic definition of umul_ppmm in terms of smul_ppmm.
11386         [s390] (umul_ppmm): Remove.
11387         [s390] (smul_ppmm): Fix incorrect assembler constraints.
11388         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11389
11390 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
11391
11392         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11393         Add new RL_REGS register class.
11394         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
11395         Call xtensa_preferred_reload_class for both input and output reloads.
11396         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11397         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11398         instead of either AR_REGS or GR_REGS classes.
11399         (xtensa_secondary_reload_class): Use new RL_REGS class.
11400         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11401
11402 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11403
11404         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11405         (pa_strip_name_encoding): Strip '@' and '*', in that order.
11406         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11407         there is a '*' prefix in NAME.
11408
11409 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
11410
11411         * reload.c (push_reload): Handle subregs and secondary memory.
11412         * reload1.c (gen_reload): Likewise.
11413
11414         * jump.c (reg_or_subregno): New function.
11415         * rtl.h (reg_or_subregno): Declare
11416         * unroll.c (find_splittable_givs): Handle subregs.
11417
11418 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
11419
11420         * store-layout.c (finish_record_layout): Add free_p parameter.
11421         (layout_type): Pass it.
11422         * tree.h (finish_record_layout): Update prototype.
11423
11424 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
11425
11426         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11427
11428         * gcse.c (cprop_jump): Check that the register has not
11429         been modified
11430         (cprop_jump): Likewise.
11431
11432 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
11433
11434         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11435         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11436         that we have a SImode access, and only then if reload hasn't completed;
11437         for all other cases, use LO_REGS.
11438
11439 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11440
11441         * openbsd.h: Fix typo in last change.
11442
11443 2002-09-29  Richard Henderson  <rth@redhat.com>
11444
11445         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
11446
11447 2002-09-29  Richard Henderson  <rth@redhat.com>
11448
11449         PR c/8002
11450         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11451         for CONST_INT.
11452
11453 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
11454
11455         * real.h (ibm_extended_format): Declare.
11456         * real.c (encode_ibm_extended, decode_ibm_extended): New
11457         functions.
11458
11459 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11460
11461         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11462
11463         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11464
11465 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11466
11467         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11468
11469 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
11470
11471         * builtins.def: Fix comment formatting.
11472         * c-common.def: Likewise.
11473         * cfgcleanup.c: Likewise.
11474         * combine.c: Likewise.
11475         * gengtype.c: Likewise.
11476         * params.def: Likewise.
11477         * predict.def: Likewise.
11478         * rtl.def: Likewise.
11479         * stab.def: Likewise.
11480         * stor-layout.c: Likewise.
11481         * tree.def: Likewise.
11482         * config/darwin.c: Likewise.
11483         * config/darwin.h: Likewise.
11484         * config/dbxcoff.h: Likewise.
11485         * config/elfos.h: Likewise.
11486         * config/fp-bit.c: Likewise.
11487         * config/freebsd-spec.h: Likewise.
11488         * config/interix.h: Likewise.
11489         * config/libgloss.h: Likewise.
11490         * config/linux-aout.h: Likewise.
11491         * config/linux.h: Likewise.
11492         * config/lynx-ng.h: Likewise.
11493         * config/lynx.h: Likewise.
11494         * config/netbsd-aout.h: Likewise.
11495         * config/netbsd.h: Likewise.
11496         * config/netware.h: Likewise.
11497         * config/psos.h: Likewise.
11498         * config/ptx4.h: Likewise.
11499
11500 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
11501
11502         * ChangeLog.4: Fix typos.
11503         * ChangeLog.6: Likewise.
11504         * FSFChangeLog.10: Likewise.
11505         * genattrtab.c: Fix comment typos.
11506         * haifa-sched.c: Likewise.
11507         * real.c: Likewise.
11508         * tree.h: Likewise.
11509         * config/arm/arm.c: Likewise.
11510         * config/arm/crti.asm: Likewise.
11511         * config/arm/crtn.asm: Likewise.
11512         * config/frv/frv.c: Likewise.
11513         * config/frv/frv.md: Likewise.
11514         * config/h8300/h8300.md: Likewise.
11515         * config/i386/rtemself.h: Likewise.
11516         * config/ia64/unwind-ia64.c: Likewise.
11517         * config/ip2k/ip2k.h: Likewise.
11518         * config/m88k/m88k.c: Likewise.
11519         * config/m88k/m88k.md: Likewise.
11520         * config/mips/sr71k.md: Likewise.
11521         * config/mmix/mmix.c: Likewise.
11522         * config/rs6000/rs6000.c: Likewise.
11523         * config/sh/sh.md: Likewise.
11524
11525 2002-09-26  Theodore A. Roth  <troth@verinet.com>
11526
11527         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11528         * config/avr/avr.md: Ditto.
11529
11530 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
11531
11532         PR preprocessor/8055
11533         * cppmacro.c (stringify_arg): Do not overflow the buffer
11534         with the terminating NUL when the argument to be stringified
11535         has no tokens.
11536
11537 2002-09-27  Richard Henderson  <rth@redhat.com>
11538
11539         * unroll.c (simplify_cmp_and_jump_insns): New.
11540         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
11541         instead of expand_simple_foo.
11542
11543 2002-09-27  Richard Henderson  <rth@redhat.com>
11544
11545         PR optimization/7520
11546         * cfganal.c (flow_active_insn_p): New.
11547         (forwarder_block_p): Use it.
11548
11549 2002-09-27  Richard Henderson  <rth@redhat.com>
11550
11551         * emit-rtl.c (active_insn_p): Revert last change.
11552
11553 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
11554
11555         * doc/extend.texi (tls_model): Document.
11556         * varasm.c (decl_tls_model): New.
11557         * c-common.c (handle_tls_model_attribute): New.
11558         (c_common_attribute_table): Add tls_model.
11559         * config/alpha/alpha.c (alpha_encode_section_info): Use
11560         decl_tls_model.
11561         * flags.h (enum tls_model, flag_tls_default): Move...
11562         * tree.h (enum tls_model, flag_tls_default): ...here.
11563         (decl_tls_model): New prototype.
11564         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11565         * config/i386/i386.c (ix86_encode_section_info): Likewise.
11566         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
11567         Allow !flag_pic.
11568
11569 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
11570
11571         * LANGUAGES: Follow spelling conventions.
11572         * rtl.def: Likewise.
11573         * sbitmap.c: Likewise.
11574         * sched-int.h: Likewise.
11575         * sched-rgn.c: Likewise.
11576         * sibcall.c: Likewise.
11577         * simplify-rtx.c: Likewise.
11578         * ssa.c: Likewise.
11579         * stab.def: Likewise.
11580         * stmt.c: Likewise.
11581         * stor-layout.c: Likewise.
11582         * target.h: Likewise.
11583         * timevar.c: Likewise.
11584         * toplev.c: Likewise.
11585         * tree-dump.c: Likewise.
11586         * tree-inline.c: Likewise.
11587         * tree.c: Likewise.
11588         * tree.def: Likewise.
11589         * tree.h: Likewise.
11590         * unroll.c: Likewise.
11591         * varasm.c: Likewise.
11592         * vmsdbgout.c: Likewise.
11593         * treelang/treelang.texi: Likewise.
11594         * treelang/treetree.c: Likewise.
11595
11596 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
11597
11598         * config/h8300/h8300.c (compute_saved_regs): Use a macro
11599         instead of a hard register number.
11600         (get_shift_alg): Use an enumerated type instead of numbers.
11601         (h8300_shift_needs_scratch_p): Likewise.
11602
11603 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11604
11605         * varasm.c (force_data_section): Remove.
11606         (assemble_constant_align): Likewise.
11607         * output.h: Remove corresponding prototypes.
11608
11609 2002-09-26  Roger Sayle  <roger@eyesopen.com>
11610
11611         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
11612         jump, if the loop to exit is the top of the current nesting stack.
11613
11614 2002-09-26  Torbjorn Granlund  <tege@swox.com>
11615
11616         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
11617         arithmetic.
11618
11619 2002-09-26  David S. Miller  <davem@redhat.com>
11620
11621         PR optimization/7335
11622         * calls.c (emit_library_call_value_1): Passing args by reference
11623         converts a CONST function into a PURE one.
11624
11625 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
11626
11627         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
11628         text_section.
11629         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
11630         text section.
11631         * config/rs6000/rs6000.c (rs6000_override_options): Allow
11632         function-sections and data-sections functionality on AIX.
11633
11634 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
11635             Dale Johannesen  <dalej@apple.com>
11636
11637         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
11638         in RTL for sub-word loads from memory.
11639
11640 2002-09-26  Richard Henderson  <rth@redhat.com>
11641
11642         PR c/7160
11643         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
11644         on call insns.
11645
11646 2002-09-26  Richard Henderson  <rth@redhat.com>
11647
11648         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
11649
11650 2002-09-26  Chris Lattner  <sabre@nondot.org>
11651
11652         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
11653         handling undefined values.
11654
11655 2002-09-26  Richard Henderson  <rth@redhat.com>
11656
11657         PR opt/7520
11658         * emit-rtl.c (active_insn_p): Consider a clobber of the
11659         function return value to be active even after reload.
11660
11661 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
11662
11663         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
11664         by absolute loop increment, not loop increment.
11665
11666 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11667
11668         * c-common.h: Follow spelling conventions.
11669         * cpplex.c: Likewise.
11670         * cpplib.h: Likewise.
11671         * gthr-dce.h: Likewise.
11672         * gthr-posix.h: Likewise.
11673         * optabs.c: Likewise.
11674         * output.h: Likewise.
11675         * profile.c: Likewise.
11676         * protoize.c: Likewise.
11677         * ra-rewrite.c: Likewise.
11678         * real.c: Likewise.
11679         * recog.c: Likewise.
11680         * reg-stack.c: Likewise.
11681         * regclass.c: Likewise.
11682         * regmove.c: Likewise.
11683         * reload.c: Likewise.
11684         * reload.h: Likewise.
11685         * reload1.c: Likewise.
11686         * reorg.c: Likewise.
11687         * resource.c: Likewise.
11688         * rtl.h: Likewise.
11689         * rtlanal.c: Likewise.
11690
11691 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11692
11693         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
11694         for symbol address.
11695
11696 2002-09-24  Eric Christopher  <echristo@redhat.com>
11697
11698         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
11699         * config/mips/elf64.h: Ditto.
11700
11701 2002-09-24  Eric Christopher  <echristo@redhat.com>
11702
11703         * except.c (expand_builtin_extract_return_address): Handle case
11704         where Pmode != ptr_mode.
11705
11706 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11707
11708         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
11709
11710 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11711
11712         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
11713
11714 2002-09-26  Igor Shevlyakov <igor@microunity.com>
11715
11716         * combine.c (simplify_set): Don't call to force_to_mode if size
11717         of integer type is larger than HOST_BITS_PER_WIDE_INT.
11718
11719 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
11720
11721         * Makefile.in (qmtest-g++): Fix file path.
11722
11723 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11724
11725         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
11726         A + (-const) on RTX level, even for unsigned types.
11727
11728 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11729
11730         * reload.c (dup_replacements): New function.
11731         (find_reloads): Use it to duplicate replacements at the top level
11732         of match_dup operands.
11733
11734 2002-09-26  Miles Bader  <miles@gnu.org>
11735
11736         * v850.md ("length"): Change default value to 4.
11737
11738 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11739
11740         * ChangeLog.1: Follow spelling conventions.
11741         * ChangeLog.4: Likewise.
11742         * ChangeLog.6: Likewise.
11743         * FSFChangeLog.11: Likewise.
11744         * doc/cpp.texi: Likewise.
11745         * doc/invoke.texi: Likewise.
11746         * doc/tm.texi: Likewise.
11747
11748 2002-09-26  Nick Clifton  <nickc@redhat.com>
11749
11750         * config.gcc: Add x prefix to v850e case for handling
11751         --with-cpu=v850e.
11752
11753 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
11754
11755         * gcc.c (input_suffix_matches, switch_matches,
11756         mark_matching_switches, process_marked_switches,
11757         process_brace_body): New functions - split from handle_braces.
11758         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
11759         and ignore whitespace in more places.
11760         (specs documentation comment): Document %{S:X;T:Y;:D}.
11761         Clarify other %{...} docs.
11762         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
11763         %{...} docs.
11764
11765         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
11766         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
11767
11768 2002-09-25  David S. Miller  <davem@redhat.com>
11769
11770         PR target/7842
11771         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
11772         extend.
11773
11774 2002-09-25  Richard Henderson  <rth@redhat.com>
11775
11776         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
11777         fp CONST_DOUBLE; use real_identical.
11778
11779 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
11780
11781         * doc/invoke.texi: Add more -Wabi examples.
11782
11783 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
11784
11785         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
11786
11787 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
11788
11789         * profile.c (end_branch_prob): Only look for __gcov_init on
11790         weak-enabled native compilers.
11791
11792 2002-09-24  Denis Chertykov  <denisc@overta.ru>
11793
11794         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
11795         cases of optimizing "add sp,w" to "inc sp".
11796
11797 2002-09-24  Adam Nemet  <anemet@lnxw.com>
11798
11799         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
11800         epilogue for naked functions.
11801
11802 2002-09-24  Adam Nemet  <anemet@lnxw.com>
11803             Nick Clifton  <nickc@redhat.com>
11804
11805         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
11806         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
11807         is defined.
11808
11809 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
11810
11811         * config/s390/s390.c (preferred_la_operand_p): New function.
11812         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
11813         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
11814         ("*la_64_cc", "*la_31_cc", splitters): ... these.
11815         ("*la_31"): Deactivate for TARGET_64BIT.
11816         ("*la_31_and", "*la_31_and_cc"): New.
11817
11818 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11819
11820         * real.h (real_value): Make `exp' explicitly signed.
11821
11822 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
11823
11824         * config/elfos.h: Follow spelling conventions.
11825         * config/alpha/alpha.h: Likewise.
11826         * config/arc/arc.h: Likewise.
11827         * config/arm/arm.md: Likewise.
11828         * config/avr/avr.h: Likewise.
11829         * config/cris/cris.md: Likewise.
11830         * config/d30v/d30v.h: Likewise.
11831         * config/frv/frv.c: Likewise.
11832         * config/frv/frv.h: Likewise.
11833         * config/h8300/h8300.c: Likewise.
11834         * config/h8300/h8300.h: Likewise.
11835         * config/h8300/h8300.md: Likewise.
11836         * config/i386/cygwin.h: Likewise.
11837         * config/i386/i386.h: Likewise.
11838         * config/i386/sysv3.h: Likewise.
11839         * config/i960/i960.h: Likewise.
11840         * config/ia64/ia64.h: Likewise.
11841         * config/ia64/ia64.md: Likewise.
11842         * config/ip2k/ip2k.h: Likewise.
11843         * config/m32r/m32r.h: Likewise.
11844         * config/m68k/m68k.h: Likewise.
11845         * config/m88k/m88k.h: Likewise.
11846         * config/mcore/mcore.c: Likewise.
11847         * config/mcore/mcore.h: Likewise.
11848         * config/mcore/mcore.md: Likewise.
11849         * config/mips/mips.h: Likewise.
11850         * config/mmix/mmix.h: Likewise.
11851         * config/mmix/mmix.md: Likewise.
11852         * config/ns32k/netbsd.h: Likewise.
11853         * config/ns32k/ns32k.h: Likewise.
11854         * config/ns32k/ns32k.md: Likewise.
11855         * config/pa/pa.h: Likewise.
11856         * config/romp/romp.h: Likewise.
11857         * config/rs6000/rs6000.h: Likewise.
11858         * config/rs6000/rs6000.md: Likewise.
11859         * config/sparc/sparc.h: Likewise.
11860         * config/stormy16/stormy-abi: Likewise.
11861         * config/stormy16/stormy16.h: Likewise.
11862         * config/vax/vax.h: Likewise.
11863
11864 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11865
11866         * config/alpha/alpha.h: Remove commented-out macro
11867         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
11868         * config/avr/avr.h: Likewise.
11869         * config/d30v/d30v.h: Likewise.
11870         * config/dsp16xx/dsp16xx.h: Likewise.
11871         * config/i370/i370.h: Likewise.
11872         * config/i386/i386.h: Likewise.
11873         * config/i960/i960.h: Likewise.
11874         * config/m68k/m68k.h: Likewise.
11875         * config/m88k/m88k.h: Likewise.
11876         * config/mips/mips.h: Likewise.
11877         * config/ns32k/ns32k.h: Likewise.
11878         * config/pdp11/pdp11.h: Likewise.
11879         * config/romp/romp.h: Likewise.
11880         * config/rs6000/rs6000.h: Likewise.
11881         * config/s390/s390.h: Likewise.
11882         * config/sh/sh.h: Likewise.
11883         * config/sparc/sparc.h: Likewise.
11884         * config/stormy16/stormy16.h: Likewise.
11885         * config/vax/vax.h: Likewise.
11886
11887 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11888
11889         * function.c (push_temp_slots_for_block): Remove.
11890         (push_temp_slots_for_target): Likewise.
11891         (get_target_temp_slot_level): Likewise.
11892         (set_target_temp_slot_level): Likewise.
11893         (get_first_block_beg): Likewise.
11894         * function.h: Remove corresponding prototypes.
11895
11896 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
11897
11898         * version.c (version_string): Now const char[].
11899         * version.h: Update to match.
11900
11901 2002-09-23  Richard Henderson  <rth@redhat.com>
11902
11903         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
11904         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
11905         (TARGET_SWITCHES): Don't reference them.
11906         * config/i386/i386.c (override_options): Use target_flags_explicit
11907         to examine bits set by the user.
11908
11909 2002-09-23  Dale Johannesen  <dalej@apple.com>
11910
11911         * dbxout.c (dbxout_parms):  Set current_sym_code for params
11912         passed on stack by invisible reference.
11913
11914 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
11915
11916         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
11917         at least one byte of space.
11918
11919 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
11920
11921         * c-common.h (flag_abi_version): Fix typo in comment.
11922         * doc/invoke.texi (flag_abi_version): Document default value.
11923
11924 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
11925
11926         * doc/extend.texi (Extended Asm): Clarify that overlap between
11927         asm-declared register variables used in an asm and the asm clobber
11928         list is not allowed.
11929         * stmt.c (decl_conflicts_with_clobbers_p): New function.
11930         (expand_asm_operands): Keep track of clobbered registers.  Call
11931         decl_conflicts_with_clobbers_p for each input and output operand.
11932         If no conflicts found before, also do conflict sanity check when
11933         emitting clobbers.
11934
11935 2002-09-23  Richard Henderson  <rth@redhat.com>
11936
11937         * c-common.c (cpp_define_data_format): Remove.
11938         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
11939         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11940         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11941         * doc/cpp.texi: Don't document them either.
11942         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
11943         __LONG_LONG_MAX__): Document.
11944         (__TARGET_FLOAT_FORMAT__): Remove.
11945
11946 2002-09-23  Richard Henderson  <rth@redhat.com>
11947
11948         * real.c (do_multiply): Normalize U before addition.
11949
11950 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
11951
11952         * c-common.c (flag_abi_version): New variable.
11953         * c-common.h (flag_abi_version): Declare it.
11954         * c-opts.c (missing_arg): Add -fabi-version.
11955         (c_common_decode_option): Process -fabi-version.
11956         * doc/invoke.texi (-fabi-version): Document it.
11957         (-Wabi): Add information about bit-fields in unions.
11958
11959 2002-09-22  Roger Sayle  <roger@eyesopen.com>
11960
11961         * expr.c (STORE_BY_PIECES_P): New target macro.
11962         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11963         instead of MOVE_BY_PIECES_P.
11964         * doc/tm.texi: Document this new macro.
11965
11966 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
11967
11968         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11969         unless -fno-pic or -fno-PIC is specified.
11970
11971 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11972
11973         * c-common.c (preprocessing_trad_p): Define.
11974         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11975         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11976         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11977         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11978         * pa-linux.h (CPP_PREDEFINES): Delete.
11979         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11980         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11981         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11982         (TARGET_OS_CPP_BUILTINS): Define.
11983         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11984         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
11985         (SUBTARGET_SWITCHES): Provide default definition.
11986         (TARGET_OPTIONS): Reformat.  Use N_() macro.
11987         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
11988         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
11989         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
11990         (TARGET_CPU_CPP_BUILTINS): Define.
11991         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
11992         * doc/invoke.texi (msio, mwsio): Document new hppa options.
11993         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
11994         preprocessing_trad_p().
11995
11996 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
11997
11998         * doc/install.texi: Document behavior of --with-headers and
11999         --with-libs when arguments are omitted.
12000
12001 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12002
12003         * dbxout.c: Follow spelling conventions.
12004         * defaults.h: Likewise.
12005         * df.c: Likewise.
12006         * diagnostic.h: Likewise.
12007         * doloop.c: Likewise.
12008         * dwarf2out.c: Likewise.
12009         * dwarfout.c: Likewise.
12010         * emit-rtl.c: Likewise.
12011         * except.c: Likewise.
12012         * explow.c: Likewise.
12013         * expmed.c: Likewise.
12014         * expr.c: Likewise.
12015         * expr.h: Likewise.
12016         * flags.h: Likewise.
12017         * flow.c: Likewise.
12018         * fold-const.c: Likewise.
12019         * function.c: Likewise.
12020         * function.h: Likewise.
12021         * gcc.c: Likewise.
12022         * gcov-io.h: Likewise.
12023         * gcov.c: Likewise.
12024         * gcse.c: Likewise.
12025         * genattrtab.c: Likewise.
12026         * genconfig.c: Likewise.
12027         * genrecog.c: Likewise.
12028         * ggc-page.c: Likewise.
12029         * ggc.h: Likewise.
12030         * global.c: Likewise.
12031         * gthr-win32.h: Likewise.
12032         * integrate.c: Likewise.
12033         * jump.c: Likewise.
12034         * langhooks.c: Likewise.
12035         * langhooks.h: Likewise.
12036         * line-map.h: Likewise.
12037         * local-alloc.c: Likewise.
12038         * longlong.h: Likewise.
12039         * loop.c: Likewise.
12040         * loop.h: Likewise.
12041
12042 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12043
12044         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12045
12046 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12047
12048         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12049         for -Os/TARGET_64BIT too.
12050
12051 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12052
12053         * ChangeLog: Follow spelling conventions.
12054         * ChangeLog.0: Likewise.
12055         * ChangeLog.1: Likewise.
12056         * ChangeLog.2: Likewise.
12057         * ChangeLog.3: Likewise.
12058         * ChangeLog.4: Likewise.
12059         * ChangeLog.5: Likewise.
12060         * ChangeLog.6: Likewise.
12061         * FSFChangeLog.10: Likewise.
12062         * FSFChangeLog.11: Likewise.
12063         * alias.c: Likewise.
12064         * basic-block.h: Likewise.
12065         * c-aux-info.c: Likewise.
12066         * c-common.c: Likewise.
12067         * c-common.h: Likewise.
12068         * c-decl.c: Likewise.
12069         * c-format.c: Likewise.
12070         * c-semantics.c: Likewise.
12071         * c-typeck.c: Likewise.
12072         * calls.c: Likewise.
12073         * cfganal.c: Likewise.
12074         * cfgloop.c: Likewise.
12075         * collect2.c: Likewise.
12076         * combine.c: Likewise.
12077         * conflict.c: Likewise.
12078         * cppexp.c: Likewise.
12079         * cppfiles.c: Likewise.
12080         * cpphash.h: Likewise.
12081         * cppinit.c: Likewise.
12082         * cpplex.c: Likewise.
12083         * cpplib.c: Likewise.
12084         * cpplib.h: Likewise.
12085         * cppmacro.c: Likewise.
12086         * cse.c: Likewise.
12087
12088 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12089
12090         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12091         LINK_SPEC.
12092         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12093         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12094         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12095
12096 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12097
12098         PR opt/7930
12099         * cse.c (fold_rtx): Calculate old_cost before we fold each
12100         operand.
12101
12102 2002-09-21  Richard Henderson  <rth@redhat.com>
12103
12104         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12105         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12106         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12107         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12108         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12109         * doc/cpp.texi: Don't document them.
12110
12111 2002-09-21  Richard Henderson  <rth@redhat.com>
12112
12113         * c-common.c (builtin_define_float_constants): Use real_format
12114         to get the floating-point parameters.
12115
12116 2002-09-21  Richard Henderson  <rth@redhat.com>
12117
12118         * real.c (struct real_format): Move to real.h.
12119         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12120         initialize with ieee defaults.
12121         (real_to_target_fmt, real_from_target_fmt): New.
12122         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12123         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12124         ieee_quad_format, i370_single_format, i370_double_format,
12125         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12126         (ieee_quad_format): Fix emin.
12127         (format_for_size, init_real_once): Remove.
12128         * real.h (struct real_format): Move from real.c.
12129         (real_format_for_mode): Declare.
12130         (real_to_target_fmt, real_from_target_fmt): Declare.
12131         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12132         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12133         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12134         i370_single_format, i370_double_format, c4x_single_format,
12135         c4x_extended_format): Declare.
12136         * toplev.c (do_compile): Don't call init_real_once.
12137
12138         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12139         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12140
12141         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12142         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12143         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12144         for VAX, if enabled.
12145
12146         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12147         for C4X.
12148
12149         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12150         * config/i370/i370.c (override_options): New.
12151         * config/i370/i370-protos.h: Update.
12152
12153         * config/i386/i386.c (override_options): Set real_format_for_mode
12154         for Intel 80-bit extended.
12155         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12156
12157         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12158         (OVERRIDE_OPTIONS): Move code...
12159         * config/i960/i960.c (i960_initialize): ... here.  Set
12160         real_format_for_mode for Intel 80-bit extended.
12161
12162         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12163         for Intel 80-bit extended, if enabled.
12164
12165         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12166         for Motorola 96-bit extended.
12167
12168         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12169         * config/vax/vax.c (override_options): New.
12170         * config/vax/vax-protos.h: Update.
12171
12172 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12173
12174         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12175         #if TARGET_MACHO.
12176
12177         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12178         insns.  Supply missing clobber of scratch reg.
12179
12180 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12181
12182         * config/m32r/m32r.c: Follow spelling conventions.
12183         * config/m32r/m32r.h: Likewise.
12184         * config/m32r/m32r.md: Likewise.
12185         * config/m68k/m68k.c: Likewise.
12186         * config/m88k/m88k.c: Likewise.
12187         * config/mcore/mcore.c: Likewise.
12188         * config/mips/mips.c: Likewise.
12189         * config/mips/mips.h: Likewise.
12190         * config/mmix/mmix.c: Likewise.
12191         * config/mn10200/mn10200.c: Likewise.
12192         * config/ns32k/ns32k.h: Likewise.
12193         * config/pa/pa.c: Likewise.
12194         * config/pa/pa64-linux.h: Likewise.
12195         * config/pdp11/pdp11.h: Likewise.
12196         * config/romp/romp.c: Likewise.
12197         * config/romp/romp.h: Likewise.
12198         * config/rs6000/eabi.asm: Likewise.
12199         * config/rs6000/linux64.h: Likewise.
12200         * config/rs6000/rs6000.c: Likewise.
12201         * config/rs6000/rs6000.h: Likewise.
12202         * config/rs6000/rs6000.md: Likewise.
12203         * config/rs6000/sysv4.h: Likewise.
12204         * config/rs6000/xcoff.h: Likewise.
12205
12206 2002-09-20  Jim Wilson  <wilson@redhat.com>
12207
12208         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12209
12210 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12211
12212         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12213         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12214         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12215         (legitimate_address_p): Likewise.
12216         (legitimize_address): Use @gotntpoff and @indntpoff.
12217         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12218         (output_addr_const_extra): Likewise.
12219
12220 2002-09-20  Jim Wilson  <wilson@redhat.com>
12221
12222         * combine.c (try_combine): When split an instruction pair, where the
12223         first has a sign_extend src, verify that the src and dest modes match.
12224
12225 2002-09-20  Richard Henderson  <rth@redhat.com>
12226
12227         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12228         (override_options): Do not initialize them.
12229         (mips_const_double_ok): Allow no fp constants except zero,
12230         and not even that for mips16.
12231         (const_float_1_operand): Use dconst1.
12232         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12233         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
12234         Don't allow arbitrary constants; fix predicates and C constraint.
12235
12236 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
12237
12238         * cppmacro.c: Don't warn about function-like macros without
12239         '(' during pre-expansion.
12240
12241 2002-09-20  Jim Wilson  <wilson@redhat.com>
12242
12243         * config/v850/v850.c (current_function_anonymous_args): Delete.
12244         (expand_prologue): Use current_function_args_info.anonymous_args.
12245         (expand_epilogue): Delete use of current_function_anonymous_args.
12246         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12247         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12248         (current_function_anonymous_args): Delete extern declaration.
12249         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12250
12251 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
12252
12253         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12254         to load_macho_picbase.
12255         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12256         (load_macho_picbase): Take the symbol to use as a parameter.
12257         (macho_correct_pic): New insn.
12258         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12259
12260         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12261         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12262         (CAN_ELIMINATE): Likewise.
12263         (INITIAL_ELIMINATION_OFFSET): Likewise.
12264         (TOC_REGISTER): Likewise.
12265
12266 2002-09-20  Richard Henderson  <rth@redhat.com>
12267
12268         * real.c (real_hash): New.
12269         * real.h: Declare it.
12270         * cse.c (canon_hash): Use it.
12271         * cselib.c (hash_rtx): Likewise.
12272         * emit-rtl.c (const_double_htab_hash): Likewise.
12273         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12274         * varasm.c (struct rtx_const): Reduce vector size; separate
12275         integer and fp vectors.
12276         (HASHBITS): Remove.
12277         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
12278         take modulus MAX_HASH_TABLE.
12279         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
12280         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12281         (SYMHASH): Don't use HASHBITS.
12282         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12283         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
12284         (simplify_subtraction): Fix kind comparison.
12285         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
12286         Use a union to pun integer array.
12287         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12288         only hash two words of integral CONST_DOUBLE.
12289
12290 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
12291
12292         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12293         (STARTFILE_PREFIX_SPEC): New.
12294         (LINK_SPEC): Modify.
12295         (LIB_SPEC): Modify.
12296         (LIBGCC_SPEC): New.
12297
12298 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12299
12300         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12301         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12302
12303 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12304
12305         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12306         Add clobber of the condition code register.
12307
12308 2002-09-20  Richard Henderson  <rth@redhat.com>
12309
12310         * real.c (do_fix_trunc): Static.
12311         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12312         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12313         encode_i370_single, encode_i370_double, encode_c4x_single,
12314         encode_c4x_extended): Add default abort case.
12315
12316 2002-09-20  Richard Henderson  <rth@redhat.com>
12317
12318         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12319         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12320         (struct realvaluetype): Remove.
12321         (REAL_VALUE_TYPE): Use struct real_value.
12322         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12323         (test_real_width): New.
12324         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12325         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12326         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12327         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12328         real_to_integer, real_to_integer2, real_to_decimal,
12329         real_to_hexadecimal, real_from_string, real_from_integer,
12330         real_inf, real_nan, real_2expN, real_convert, real_to_target,
12331         real_from_target): Likewise.
12332         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12333         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12334
12335 2002-09-20  Richard Henderson  <rth@redhat.com>
12336
12337         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12338         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12339         * defaults.h: ... here.
12340         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12341         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12342         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12343         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12344
12345 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
12346
12347         * config/mmix/mmix.md ("negdf2"): Rewrite.
12348         ("*expanded_negdf2"): New.
12349
12350 2002-09-19  Jim Wilson  <wilson@redhat.com>
12351
12352         * combine.c (simplify_set): When optimizing a subreg src with a
12353         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12354
12355 2002-09-19  Dale Johannesen <dalej@apple.com>
12356         * combine.c (make_extraction): Don't create
12357         invalid subreg.
12358
12359 2002-09-19  Roger Sayle  <roger@eyesopen.com>
12360
12361         * tree.c (integer_nonzerop): New predicate for nonzero integers.
12362         * tree.h (integer_nonzerop): Add function prototype.
12363         * stmt.c (expand_end_loop):  Don't rotate the loop when there
12364         are no instructions in the test, i.e. the loop is unconditional.
12365         (expand_exit_loop_if_false):  Optimize RTL generation of loop
12366         tests when the condition is always true or always false.
12367         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
12368         do-loops when the condition is always true.
12369         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
12370         the for-expression is empty.
12371
12372 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
12373
12374         * gcc.c (use_pipes): New flag.
12375         (process_command): Set it.  Adjust check for -pipe conflicting
12376         with -time or -save-temps.
12377         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
12378         %<SWITCH.  Drop %| (without a SUFFIX).
12379         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12380         (give_switch): Third argument eliminated.
12381         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12382         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12383         (specs documentation comment): Update.
12384
12385         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12386         config/svr4.h, config/i386/freebsd-aout.h,
12387         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12388         config/m68k/openbsd.h, config/mips/openbsd.h,
12389         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12390         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12391         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12392         * config/cris/cris.h: Update comment.
12393
12394         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
12395         error messages.  Don't use %{^SWITCH}.
12396         * ada/misc.c (gnat_decode_option): Handle -I with a
12397         separate argument.
12398
12399         * f/lang-specs.h: Use %| and %m.
12400         * java/jvspec.c: Use %m and %(invoke_as).  Change all
12401         uses of %{<SWITCH} to %<SWITCH.
12402
12403         * doc/invoke.texi: Update documentation of specs.
12404         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12405
12406 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
12407
12408         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
12409         and STRICT_LOW_PART within SET_DEST.
12410         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12411         splitters, replacing pre-reload splitters.
12412         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
12413         "*zero_extendqihi2_31"): New insns.
12414         ("*zero_extendqihi2_64"): Do not clobber CC.
12415
12416 2002-09-18  Devang Patel  <dpatel@apple.com>
12417
12418         * cp/cp-tree.h: New prototype for walk_vtables().
12419         * cp/decl.c (walk_vtables_r): New function.
12420         (struct cp_binding_level): Add new members, namespaces,
12421         names_size and vtables.
12422         (add_decl_to_level): Add decl in namespaces or vtables
12423         chain, if conditions match.
12424         (walk_vtables): New function.
12425         (walk_namespaces_r): Travers separate namespace chain
12426         for namespace decls.
12427         (wrapup_globals_for_namespace): Use names_size instead
12428         of list_length().
12429         * cp/decl2.c (finish_file): Use walk_vtables() instead of
12430         walk_globals() to walk vtable decls.
12431
12432 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
12433
12434         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12435         (DTORS_SECTION_ASM_OP): Ditto.
12436         (READONLY_DATA_SECTION_ASM_OP): Moved.
12437         (DATA_SECTION_ASM_OP): New.
12438         (SDATA_SECTION_ASM_OP): New.
12439         (BSS_SECTION_ASM_OP): New.
12440         (SBSS_SECTION_ASM_OP): New.
12441         (TEXT_SECTION_ASM_OP): New.
12442
12443 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
12444
12445         * config/fp-bit.c: Follow spelling conventions.
12446         * config/d30v/d30v.c: Likewise.
12447         * config/d30v/d30v.h: Likewise.
12448         * config/fr30/fr30.c: Likewise.
12449         * config/fr30/fr30.h: Likewise.
12450         * config/fr30/fr30.md: Likewise.
12451         * config/frv/frv.c: Likewise.
12452         * config/frv/frv.h: Likewise.
12453         * config/h8300/h8300.c: Likewise.
12454         * config/h8300/lib1funcs.asm: Likewise.
12455         * config/i370/i370.c: Likewise.
12456         * config/i386/i386.h: Likewise.
12457         * config/i386/i386.md: Likewise.
12458         * config/i386/pentium.md: Likewise.
12459         * config/i386/winnt.c: Likewise.
12460         * config/i960/i960.c: Likewise.
12461         * config/ia64/ia64.h: Likewise.
12462         * config/ip2k/ip2k.c: Likewise.
12463         * config/ip2k/ip2k.h: Likewise.
12464         * config/ip2k/ip2k.md: Likewise.
12465         * config/ip2k/libgcc.S: Likewise.
12466
12467 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
12468
12469         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12470         (GOTOFF_P): Extend to allow gotoff plus constant.
12471
12472 2002-09-18  Richard Henderson  <rth@redhat.com>
12473
12474         * ifcvt.c (noce_process_if_block): Correctly detect X modified
12475         with INSN_B before COND_EARLIEST.  Don't check A and B for
12476         modification in condition range.  Reorder INSN_B for A==B properly.
12477         (if_convert): Iterate until no matches for a block.
12478
12479 2002-09-18  Richard Henderson  <rth@redhat.com>
12480
12481         * calls.c (store_one_arg): Rename default_align to parm_align;
12482         always adjust parm_align for downward padding.
12483
12484 2002-09-18  Richard Henderson  <rth@redhat.com>
12485
12486         * toplev.c (backend_init): Move init_real_once invocation ...
12487         (do_compile): ... here.
12488
12489 2002-09-18  Richard Henderson  <rth@redhat.com>
12490
12491         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12492         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12493
12494 2002-09-18  Richard Henderson  <rth@redhat.com>
12495
12496         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12497
12498 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
12499
12500         * config/rs6000/rs6000.md: (floatdisf2): Rename to
12501         floatdisf2_internal1.
12502         (floatdisf2): New define_expand.
12503         (floatdisf2_internal2): Likewise.
12504
12505 2002-09-18  Richard Henderson  <rth@redhat.com>
12506
12507         * real.c (sticky_rshift_significand): Collect sticky as
12508         unsigned long, not bool.
12509
12510 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
12511
12512         * config/s390/s390.c (s390_address_cost): New function.
12513         config/s390/s390-protos.h (s390_address_cost): Add prototype.
12514         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12515         (RTX_COST): Use COSTS_N_INSNS.
12516
12517 2002-09-18  Douglas Rupp  <rupp@gnat.com>
12518             Donn Terry  <donnte@microsoft.com>
12519
12520         * stor-layout.c (place_field): Handle alignment of whole
12521         structures when MSVC compatible bitfields are involved.
12522         Change method of computing location of MS bitfields to
12523         be compatible with #pragma pack(n).
12524
12525         * tree.h (record_layout_info): Add new field
12526         remaining_in_alignment.
12527
12528         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
12529         (pragma pack): Add paragraph on MSVC bitfield packing.
12530
12531 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
12532
12533         PR optimization/7967
12534         * arm.md (ne_zeroextractsi): Add clobber of the condition code
12535         register.
12536
12537 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12538
12539         * config/s390/s390.c: Follow spelling conventions.
12540         * config/sh/lib1funcs.asm: Likewise.
12541         * config/sh/sh.c: Likewise.
12542         * config/sh/sh.h: Likewise.
12543         * config/sparc/sparc.c: Likewise.
12544         * config/sparc/sparc.h: Likewise.
12545         * config/sparc/sparc.md: Likewise.
12546         * config/stormy16/stormy16.c: Likewise.
12547         * config/stormy16/stormy16.h: Likewise.
12548         * config/v850/v850.c: Likewise.
12549         * config/v850/v850.h: Likewise.
12550         * config/vax/vax.c: Likewise.
12551         * config/vax/vax.h: Likewise.
12552
12553 2002-09-18  Nick Clifton  <nickc@redhat.com>
12554
12555         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12556         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12557         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12558
12559 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12560
12561         * function.c (max_parm_reg_num): Remove.
12562         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12563         drop_through_at_end_p, move_cleanups_up,
12564         expand_end_case_dummy, case_index_expr_type): Likewise.
12565         * stor-layout.c (pos_from_byte): Likewise.
12566         * tree.c (chain_member_value, chain_member_purpose, listify,
12567         tree_int_cst_msb, index_type_equal): Likewise.
12568         * tree.h: Remove prototypes for unused functions.
12569
12570 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
12571
12572         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
12573         statement that the only translation is to en_UK.
12574
12575 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12576
12577         * config/alpha/alpha.c: Follow spelling conventions.
12578         * config/alpha/alpha.h: Likewise.
12579         * config/alpha/alpha.md: Likewise.
12580         * config/arc/arc.h: Likewise.
12581         * config/arm/arm.c: Likewise.
12582         * config/arm/arm.h: Likewise.
12583         * config/arm/arm.md: Likewise.
12584         * config/arm/pe.c: Likewise.
12585         * config/arm/unknown-elf.h: Likewise.
12586         * config/avr/avr.c: Likewise.
12587         * config/avr/avr.h: Likewise.
12588         * config/c4x/c4x.c: Likewise.
12589         * config/cris/cris.c: Likewise.
12590         * config/cris/cris.h: Likewise.
12591
12592 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
12593
12594         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
12595         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
12596         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
12597
12598 2002-09-17  Dale Johannesen  <dalej@apple.com>
12599
12600         * cfgcleanup.c (try_forward_edges):  Do not forward a
12601         branch to just after a loop exit before loop optimization;
12602         this interfered with doloop detection.
12603
12604 2002-09-17  Nick Clifton  <nickc@redhat.com>
12605
12606         * config/arm/arm.c (output_return_instruction): Do not
12607         writeback the stack pointer when it is being loaded.
12608         (arm_output_epilogue): Likewise.
12609
12610 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12611
12612         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
12613         generate a pseudo reg that receives the result of a libcall.
12614         (prepare_float_lib_cmp): Likewise.
12615
12616 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
12617
12618         * config/ia64/elf.h: Remove CPP_PREDEFINES.
12619
12620 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12621
12622         Fix PR/7014 and related objc bugs:
12623         * c-typeck.c (comp_target_types): Added a reflexive argument.
12624         Pass it to ObjC when/if calling objc_comptypes().  Updated all
12625         callers to provide the appropriate reflexive argument.
12626         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12627         typechecking for all cases of comparisons and assignments,
12628         particularly the obscure and less common ones involving protocols.
12629
12630 2002-09-17  Nick Clifton  <nickc@redhat.com>
12631
12632         * machmode.def (V1DImode): New mode.  A single element vector.
12633         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
12634         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
12635         * tree.c (build_common_tree_nodes_2): Build
12636         unsigned_V1DI_type_node and V1D1_type_node.
12637         * c-common.c (c_common_type_for_mode): Return
12638         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
12639         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
12640
12641 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12642
12643         * doc/objc.texi (Constant string objects): Extended documentation
12644         to make clear that the constant string class ivar layout is
12645         completely fixed.
12646
12647 2002-09-17  Roger Sayle  <roger@eyesopen.com>
12648
12649         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
12650         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
12651
12652 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12653
12654         * config/mips/mips.c (save_restore_insns): Remove unused variable.
12655         * gcc.c (make_relative_prefix): Likewise.
12656         * loop.c (check_final_value): Likewise.
12657         * jump.c (init_label_info): Remove return value.
12658         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
12659
12660 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12661
12662         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
12663         (ASM_PN_FORMAT): Define.
12664
12665 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12666
12667         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
12668         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
12669         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
12670         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
12671         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12672         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
12673         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
12674         Delete.
12675         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
12676         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
12677         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
12678
12679         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
12680         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
12681
12682 2002-09-16  Richard Henderson  <rth@redhat.com>
12683
12684         * expr.c (emit_block_move): Set memory block size as appropriate
12685         for the copy.
12686
12687 2002-09-16  Richard Henderson  <rth@redhat.com>
12688
12689         PR fortran/3924
12690         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
12691
12692 2002-09-16  Richard Henderson  <rth@redhat.com>
12693
12694         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
12695         as well as OFFSET for BITPOS.
12696
12697 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
12698
12699         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
12700         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
12701         winchip2 and c3.
12702         * doc/invoke.texi: Mention new aliases.
12703
12704 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12705
12706         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
12707         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
12708         downward.
12709         * function.c (pad_below):  Always compile.
12710         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
12711         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
12712         Pad below when the argument is not in a register and the padding
12713         direction is downward.
12714
12715         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
12716         (PAD_VARARGS_DOWN): Define.
12717         * pa.c (function_arg_padding): Revise padding directions to make them
12718         compatible with the 32 and 64-bit runtime architecture documentation.
12719         (hppa_va_arg):  Add code to handle variable and size zero arguments
12720         passed by reference on TARGET_64BIT.  Reformat.
12721         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
12722         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
12723         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
12724         Add comments.
12725         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
12726         (RETURN_IN_MEMORY): Return size zero types in memory.
12727         (FUNCTION_VALUE): Return TFmode in general registers.
12728         (MUST_PASS_IN_STACK): Define.
12729         (FUNCTION_ARG_BOUNDARY): Simplify.
12730         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
12731         by reference.
12732         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
12733
12734 2002-09-16  Richard Henderson  <rth@redhat.com>
12735
12736         * real.c (do_fix_trunc): New.
12737         (real_arithmetic): Call it.
12738         * simplify-rtx.c (simplify_unary_operation): Handle FIX
12739         with a floating-point result mode.
12740
12741 2002-09-16  Richard Henderson  <rth@redhat.com>
12742
12743         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
12744         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
12745         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
12746         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
12747         * builtins.c (fold_builtin_nan): New.
12748         (fold_builtin): Call it.
12749         * real.c (real_nan): Parse a non-empty string.
12750         (round_for_format): Fix NaN significand truncation.
12751         * real.h (real_nan): Return bool.
12752         * doc/extend.texi: Document new builtins.
12753
12754 2002-09-16  Jason Merrill  <jason@redhat.com>
12755             Danny Smith  <dannysmith@users.sourceforge.net>
12756
12757         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
12758         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
12759         (i386_pe_mark_dllimport): Not here.
12760
12761 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
12762
12763         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
12764
12765 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
12766
12767         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
12768         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
12769         < 64.
12770         (rs6000_emit_cmove): Use real_isinf not target_isinf.
12771
12772 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
12773
12774         * calls.c (emit_library_call_value_1): Don't refer to
12775         hard_libcall_value.
12776         * optabs.c (prepare_float_lib_cmp): Likewise.
12777
12778 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
12779
12780         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
12781         mangling.
12782
12783         The following changes are merged from pch-branch:
12784
12785         * doc/gty.texi (GTY Options): Document %a.
12786         * gengtype.c (do_scalar_typedef): New function.
12787         (process_gc_options): Handle `length' option.
12788         (set_gc_used_type): A pointer to an array of structures doesn't
12789         qualify as a pointer to a structure.
12790         (output_escaped_param): Add `%a' escape.
12791         (write_gc_structure_fields): Allow 'desc' on array of unions.
12792         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
12793         do_scalar_typedef.
12794
12795         * gengtype.c (enum rtx_code): Make global.
12796         (rtx_format): Make global.
12797         (rtx_next): New.
12798         (gen_rtx_next): New.
12799         (write_rtx_next): New.
12800         (adjust_field_rtx_def): Skip fields marked by chain_next.
12801         (open_base_files): Delete redundant prototype.
12802         (write_enum_defn): New.
12803         (output_mangled_typename): Correct abort call.
12804         (write_gc_marker_routine_for_structure): Handle chain_next and
12805         chain_prev options.
12806         (finish_root_table): Don't output redundant \n.
12807         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
12808         * c-tree.h (union lang_tree_node): Add chain_next option.
12809
12810         * gengtype.h (NUM_PARAM): New definition.
12811         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
12812         * gengtype.c (find_param_structure): New.
12813         (adjust_field_type): Handle param<n>_is option.
12814         (process_gc_options): Detect use_params option.  Update callers.
12815         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
12816         'use_params' option.
12817         (open_base_files): Add splay-tree.h to list of files included.
12818         (output_mangled_typename): New.
12819         (write_gc_structure_fields): Update 'param' parameter to support
12820         multiple parameters.  Change name mangling.  Allow parameterized
12821         fields to have an apparent scalar type.  Handle param<n>_is options,
12822         use_param option.
12823         (write_gc_marker_routine_for_structure): Update for change to name
12824         mangling.  Better guess the output file for parameterized types.
12825         (write_gc_types): Update for change to name mangling.
12826         (write_gc_root): Update for change to name mangling.  Handle (ignore)
12827         param<n>_is options.
12828         * doc/gty.texi (GTY Options): Add description of param<n>_is
12829         options, use_params option.
12830         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12831         * gengtype-lex.l: Produce token for param<n>_is.
12832         * gengtype-yacc.y: Parse param<n>_is.
12833
12834         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
12835
12836         * rtl.c: Update comment describing rtx_format.
12837         * rtl.h (union rtunion): Separate definition and typedef.
12838         (struct rtx_def): Use gengtype to mark.
12839         * Makefile.in (gengtype.o): Also depend on rtl.def.
12840         * ggc.h (ggc_mark_rtx_children): Delete prototype.
12841         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
12842         * ggc-common.c (ggc_mark_rtx_children): Delete.
12843         (ggc_mark_rtx_children_1): Delete.
12844         (gt_ggc_m_rtx_def): Delete.
12845         * gengtype.c (adjust_field_rtx_def): New.
12846         (adjust_field_type): Call adjust_field_rtx_def.
12847         (write_gc_structure_fields): Add 'default' case to switch if none
12848         is specified; remove unused code.
12849
12850         * tree.h (struct tree_exp): Update for change to meaning
12851         of special.
12852         * gengtype.c (adjust_field_tree_exp): New function.
12853         (adjust_field_type): Handle `tree_exp' special here.
12854         (write_gc_structure_fields): Don't handle `tree_exp' special here.
12855         Handle new `dot' option.
12856
12857         * gengtype.h: Make `info' a pointer-to-const.
12858         * gengtype-yacc.y (yacc_ids): Use xasprintf.
12859
12860         * gengtype.c (write_gc_structure_fields): Remove implementation
12861         of `always' option, add `default' option.
12862         * doc/gty.texi (GTY Options): Remove documentation of `always',
12863         add `default'.
12864
12865 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
12866
12867         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
12868
12869 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12870
12871         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
12872
12873         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
12874         instead of the *-protos.h file directly.
12875         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
12876         * darwin.c (machopic_output_stub): Move prototype ...
12877         * darwin-protos.h (machopic_output_stub): ... here.
12878         * rs6000-protos.h (machopic_output_stub): Don't declare.
12879
12880 2002-09-16  Richard Henderson  <rth@redhat.com>
12881
12882         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
12883
12884 2002-09-16  Richard Henderson  <rth@redhat.com>
12885
12886         * real.c, real.h: Rewrite from scratch.
12887
12888         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
12889         (paranoia): New target.
12890         * builtins.c (fold_builtin_inf): Use new real.h interface.
12891         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
12892         * c-lex.c (interpret_float): Likewise.
12893         * emit-rtl.c (gen_lowpart_common): Likewise.
12894         * optabs.c (expand_float): Use real_2expN.
12895         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
12896         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
12897         (FLOAT_WORDS_BIG_ENDIAN): New.
12898         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
12899         directly to REAL_VALUE_NEGATIVE.
12900         * loop.c (canonicalize_condition): Likewise.
12901         * simplify-rtx.c: Include tree.h.
12902         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
12903         with floating-point result modes.
12904         * toplev.c (backend_init): Call init_real_once.
12905
12906         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
12907         * tree.c (build_real): Likewise.
12908         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
12909         float_values, inited_float_values, check_float_value): Remove.
12910         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
12911         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
12912         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
12913         (VAX_HALFWORD_ORDER): Remove.
12914
12915 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
12916
12917         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
12918         (s390_load_address): ... this new function.
12919         (s390_decompose_address): Allow the argument pointer and all
12920         virtual registers as 'pointer' registers.
12921         (s390_expand_plus_operand): Use s390_load_address.
12922         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
12923         ("force_la_31"): New insn pattern.
12924         config/s390/s390-protos.h (legitimize_la_operand): Remove.
12925         (s390_load_address): Add prototype.
12926
12927         * config/s390/s390.c: Include "optabs.h".
12928         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
12929         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
12930         s390_expand_cmpstr): Add prototypes.
12931         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
12932         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
12933         for operands 0 and 1 to "memory_operand".  Add type attribute.
12934         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
12935         for operands 0 and 1 to "memory_operand".  Add type attribute.
12936         ("movstrdi_long", "movstrsi_long"): Remove.
12937         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
12938         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
12939         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
12940         ("clrstrsico"): Remove, replace by ...
12941         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
12942         ("clrstrsi_64"): Rename to "clrstr_long_64".
12943         ("clrstrsi_31"): Rename to "clrstr_long_31".
12944         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
12945         ("cmpstr_const"): Remove, replace by ...
12946         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
12947         ("cmpstr_64"): Rename to "cmpstr_long_64".
12948         ("cmpstr_31"): Rename to "cmpstr_long_31".
12949
12950 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
12951
12952         * ABOUT-NLS: Follow spelling conventions.
12953         * ChangeLog: Likewise.
12954         * ChangeLog.1: Likewise.
12955         * ChangeLog.2: Likewise.
12956         * ChangeLog.3: Likewise.
12957         * ChangeLog.4: Likewise.
12958         * ChangeLog.5: Likewise.
12959         * ChangeLog.6: Likewise.
12960         * FSFChangeLog.10: Likewise.
12961         * FSFChangeLog.11: Likewise.
12962         * c-common.c: Likewise.
12963         * c-lex.c: Likewise.
12964         * c-objc-common.c: Likewise.
12965         * cppexp.c: Likewise.
12966         * cppinit.c: Likewise.
12967         * cpplex.c: Likewise.
12968         * doloop.c: Likewise.
12969         * flow.c: Likewise.
12970         * function.c: Likewise.
12971         * integrate.c: Likewise.
12972         * loop.c: Likewise.
12973         * reg-stack.c: Likewise.
12974         * reload.h: Likewise.
12975         * ssa.c: Likewise.
12976
12977 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12978
12979         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12980         * vmsdbgout.c: Include "target.h".
12981
12982 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12983
12984         * ChangeLog: Follow spelling conventions.
12985         * ChangeLog.0: Likewise.
12986         * ChangeLog.1: Likewise.
12987         * ChangeLog.2: Likewise.
12988         * ChangeLog.4: Likewise.
12989         * ChangeLog.6: Likewise.
12990         * config.gcc: Likewise.
12991         * dwarfout.c: Likewise.
12992         * reload1.c: Likewise.
12993         * simplify-rtx.c: Likewise.
12994         * unwind-sjlj.c: Likewise.
12995         * config/avr/avr.h: Likewise.
12996         * config/d30v/d30v.h: Likewise.
12997         * config/frv/frv.c: Likewise.
12998         * config/frv/frv.h: Likewise.
12999         * config/ip2k/ip2k.h: Likewise.
13000         * config/m88k/m88k-move.sh: Likewise.
13001         * config/stormy16/stormy16.c: Likewise.
13002         * config/stormy16/stormy16.h: Likewise.
13003         * doc/extend.texi: Likewise.
13004         * doc/interface.texi: Likewise.
13005         * doc/invoke.texi: Likewise.
13006         * doc/md.texi: Likewise.
13007         * doc/rtl.texi: Likewise.
13008         * doc/tm.texi: Likewise.
13009         * doc/trouble.texi: Likewise.
13010         * ginclude/float.h: Likewise.
13011         * treelang/treelang.texi: Likewise.
13012
13013 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13014
13015         * i386-protos.h (i386_pe_dllexport_name_p,
13016         i386_pe_dllimport_name_p, i386_pe_unique_section,
13017         i386_pe_declare_function_type, i386_pe_record_external_function,
13018         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13019         prototype.
13020         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13021         * i386/t-interix (winnt.o): Likewise.
13022
13023         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13024
13025 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13026
13027         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13028         MIPS ABI CPP macros.
13029         (TARGET_CPU_CPP_BUILTINS): Redefine.
13030         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13031         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13032
13033 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13034
13035         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13036
13037 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13038
13039         * ChangeLog: Follow spelling conventions.
13040         * ChangeLog.0: Likewise.
13041         * ChangeLog.1: Likewise.
13042         * ChangeLog.2: Likewise.
13043         * ChangeLog.3: Likewise.
13044         * ChangeLog.4: Likewise.
13045         * ChangeLog.5: Likewise.
13046         * ChangeLog.6: Likewise.
13047         * FSFChangeLog.10: Likewise.
13048         * FSFChangeLog.11: Likewise.
13049         * c-common.c: Likewise.
13050         * c-common.h: Likewise.
13051         * c-format.c: Likewise.
13052         * c-opts.c: Likewise.
13053         * cpplib.c: Likewise.
13054         * langhooks.h: Likewise.
13055         * real.c: Likewise.
13056         * reg-stack.c: Likewise.
13057         * toplev.c: Likewise.
13058         * config/arm/arm.c: Likewise.
13059         * config/arm/arm.md: Likewise.
13060         * config/arm/linux-gas.h: Likewise.
13061         * config/arm/netbsd.h: Likewise.
13062         * config/c4x/c4x.c: Likewise.
13063         * config/c4x/c4x.h: Likewise.
13064         * config/c4x/c4x.md: Likewise.
13065         * config/c4x/libgcc.S: Likewise.
13066         * config/fr30/fr30.md: Likewise.
13067         * config/frv/frv.md: Likewise.
13068         * config/ia64/ia64.md: Likewise.
13069         * config/mips/mips.h: Likewise.
13070         * config/mn10300/mn10300.c: Likewise.
13071         * config/stormy16/stormy16.c: Likewise.
13072         * config/v850/v850.md: Likewise.
13073         * doc/extend.texi: Likewise.
13074         * doc/invoke.texi: Likewise.
13075         * doc/md.texi: Likewise.
13076
13077 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13078
13079         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13080         library if -pthread is specified.
13081
13082 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13083
13084         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13085         for --enable-threads=yes and --enable-threads=posix.
13086
13087 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13088
13089         * config/sparc/cypress.md: Replace Sparc with SPARC.
13090         * config/sparc/freebsd.h: Likewise.
13091         * config/sparc/gmon-sol2.c: Likewise.
13092         * config/sparc/hypersparc.md: Likewise.
13093         * config/sparc/lb1spc.asm: Likewise.
13094         * config/sparc/lb1spl.asm: Likewise.
13095         * config/sparc/linux.h: Likewise.
13096         * config/sparc/linux64.h: Likewise.
13097         * config/sparc/lynx.h: Likewise.
13098         * config/sparc/sol2.h: Likewise.
13099         * config/sparc/sparc-modes.def: Likewise.
13100         * config/sparc/sparc.c: Likewise.
13101         * config/sparc/sparc.h: Likewise.
13102         * config/sparc/sparc.md: Likewise.
13103         * config/sparc/sparclet.md: Likewise.
13104         * config/sparc/supersparc.md: Likewise.
13105         * config/sparc/sysv4.h: Likewise.
13106         * config/sparc/vxsim.h: Likewise.
13107         * config/sparc/vxsparc64.h: Likewise.
13108
13109 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13110
13111         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13112         * collect2.c (ignore_library, aix_std_libs): Move into the context
13113         where it is used.
13114         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13115         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13116         * m88k.c (output_call): Wrap variables with macro controlling use.
13117         * rs6000.md: Likewise.  Const-ify variable.
13118         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13119         * final.c (only_leaf_regs_used): Likewise.
13120         * regrename.c (maybe_mode_change): Mark parameter with
13121         ATTRIBUTE_UNUSED.
13122         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13123         (find_reloads_address_1): Likewise.
13124         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13125
13126 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13127
13128         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13129
13130 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13131
13132         * ChangeLog: Follow spelling conventions.
13133         * ChangeLog.0: Likewise.
13134         * ChangeLog.2: Likewise.
13135         * ChangeLog.3: Likewise.
13136         * ChangeLog.4: Likewise.
13137         * ChangeLog.5: Likewise.
13138         * ChangeLog.6: Likewise.
13139         * cppfiles.c: Likewise.
13140         * cppinit.c: Likewise.
13141         * cpplib.h: Likewise.
13142         * cse.c: Likewise.
13143         * debug.h: Likewise.
13144         * df.c: Likewise.
13145         * dominance.c: Likewise.
13146         * hashtable.c: Likewise.
13147         * hashtable.h: Likewise.
13148         * loop.c: Likewise.
13149         * config/arm/README-interworking: Likewise.
13150         * config/arm/arm.c: Likewise.
13151         * config/arm/arm.h: Likewise.
13152         * config/arm/arm.md: Likewise.
13153         * config/dsp16xx/dsp16xx.h: Likewise.
13154         * config/frv/frv.c: Likewise.
13155         * config/frv/frv.h: Likewise.
13156         * config/ip2k/ip2k.h: Likewise.
13157         * config/rs6000/rs6000.c: Likewise.
13158         * config/stormy16/stormy-abi: Likewise.
13159         * config/stormy16/stormy16.h: Likewise.
13160         * config/v850/v850.c: Likewise.
13161
13162 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13163
13164         * loop.c: Fix a comment typo.
13165
13166 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13167
13168         * config/fr30/fr30.h: Fix comment typos.
13169         * config/frv/frv.c: Likewise.
13170         * config/i386/xmmintrin.h: Likewise.
13171         * config/mips/mips.c: Likewise.
13172         * config/sh/sh.c: Likewise.
13173
13174 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13175
13176         * haifa-sched.c: Follow spelling conventions.
13177         * regclass.c: Likewise.
13178         * regrename.c: Likewise.
13179         * config/fp-bit.c: Likewise.
13180         * config/frv/frv.h: Likewise.
13181         * config/m88k/m88k.c: Likewise.
13182         * config/mcore/mcore.c: Likewise.
13183         * config/rs6000/darwin.h: Likewise.
13184         * config/rs6000/gnu.h: Likewise.
13185         * config/rs6000/linux.h: Likewise.
13186         * config/rs6000/linux64.h: Likewise.
13187         * config/rs6000/rs6000.c: Likewise.
13188         * config/rs6000/rs6000.h: Likewise.
13189         * config/sh/sh.c: Likewise.
13190         * config/sparc/sparc.c: Likewise.
13191         * config/sparc/ultra1_2.md: Likewise.
13192
13193 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13194
13195         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13196         memory operand when source is 0 (K constraint).
13197         ("movsi_internal"): Likewise.
13198         ("movdf_internal"): Likewise.
13199         ("movsf_internal"): Likewise.
13200
13201 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13202
13203         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13204         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13205         (rs6000_xcoff_encode_section_info): Likewise.
13206         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13207
13208 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13209
13210         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13211
13212 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13213
13214         * stmt.c (struct nexting): Remove unused alt_end_label field.
13215         (expand_start_loop): Delete initialization of alt_end_label.
13216         (expand_start_null_loop): Likewise.
13217         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13218
13219 2002-09-13  Richard Henderson  <rth@redhat.com>
13220
13221         * Makefile.in (toplev.o): Depend on real.h.
13222         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13223
13224 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13225
13226         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13227         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13228         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13229
13230 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13231
13232         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13233
13234 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13235
13236         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13237         ia64*-*-linux*): Set extra_parts.
13238         * config/ia64/t-aix (EXTRA_PARTS): Remove.
13239         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13240
13241 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13242
13243         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13244         * config/h8300/h8300.c: Likewise.
13245         * config/h8300/h8300.h: Likewise.
13246         * config/h8300/h8300.md: Likewise.
13247         * doc/invoke.texi: Likewise.
13248
13249 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13250
13251         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13252
13253 2002-09-13  Richard Henderson  <rth@redhat.com>
13254
13255         * config/alpha/alpha.md (attr type): Add callpal.
13256         (imb, trap, load_tp, set_tp): Use it.
13257         * config/alpha/ev4.md (ev4_callpal): New.
13258         * config/alpha/ev5.md (ev5_callpal): New.
13259         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13260         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13261         (alphaev5_insn_pipe): Likewise.
13262
13263 2002-09-13  Andreas Jaeger  <aj@suse.de>
13264
13265         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13266
13267 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13268
13269         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13270         LIB2ADDEH): New, set to NULL.
13271         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13272
13273 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13274
13275         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13276         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13277         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13278         Add declarations.
13279         (_U_Qfneg): Remove.
13280
13281 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
13282
13283         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
13284         for H8/300, H8S aa:8 mode.
13285         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
13286         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13287         for H8/300 aa:8 mode.
13288
13289 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
13290
13291         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13292         insns.
13293
13294 2002-09-12  Richard Henderson  <rth@redhat.com>
13295
13296         * Makefile.in (HOST_PRINT): Use print-rtl1.o
13297         (print-rtl.o): Don't define GENERATOR_FILE.
13298         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13299         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13300         unless GENERATOR_FILE.
13301
13302 2002-09-12  Stan Shebs  <shebs@apple.com>
13303
13304         * config/darwin.h (USER_LABEL_PREFIX): Define here...
13305         * config/i386/darwin.h: ... instead of here.
13306
13307         * target.h (struct gcc_target): New field
13308         terminate_dw2_eh_frame_info.
13309         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13310         (TARGET_INITIALIZER): Add it.
13311         * dwarf2out.c (output_call_frame_info): Use target hook.
13312         * dwarf2asm.c (dw2_asm_output_delta): Use macro
13313         ASM_OUTPUT_DWARF_DELTA if defined.
13314         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13315         (ASM_OUTPUT_DWARF_DELTA): Ditto.
13316         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13317         (ASM_OUTPUT_DWARF_PCREL): Ditto.
13318         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13319         (powerpc-*-darwin*): Ditto.
13320         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13321         to work correctly for Darwin.
13322         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13323         (STARTFILE_SPEC): Add crtbegin.o.
13324         (ENDFILE_SPEC): Define.
13325         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13326         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13327         (ASM_OUTPUT_DWARF_DELTA): Define.
13328         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13329         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13330
13331 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
13332
13333         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13334         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
13335         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13336
13337 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
13338
13339         * toplev.c: Move default definition of USER_LABEL_PREFIX...
13340         * defaults.h: ... here.
13341
13342 2002-09-12  Richard Henderson  <rth@redhat.com>
13343
13344         * vax.c: Include tree.h earlier.
13345
13346 2002-09-12  Stan Shebs  <shebs@apple.com>
13347
13348         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13349         (machopic_operand_p): Ditto.
13350
13351 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13352
13353         * config/arm/arm.c (arm_compute_initial_elimination_offset):
13354         Fix a comment typo.
13355
13356 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13357
13358         * toplev.c (do_abort): Fix a comment typo.
13359
13360 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13361
13362         * cselib.c: Fix comment formatting.
13363         * gengtype.c: Likewise.
13364
13365 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13366
13367         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13368         (udivmodhi4): Likewise.
13369
13370 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
13371             Roger Sayle  <roger@eyesopen.com>
13372
13373         * i386.c (any_fp_register_operand, fp_register_operand,
13374         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13375         New predicate functions.
13376         * i386-protos.h:  Add their prototypes.
13377         * i386.h: Add them to PREDICATE_CODES.
13378         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13379         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13380         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13381         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13382         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13383         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13384         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13385         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13386         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13387         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13388         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13389         Use these new predicates to simplify and correct the use of
13390         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13391
13392 2002-09-12  Jason Merrill  <jason@redhat.com>
13393
13394         * diagnostic.c (output_add_identifier): New fn.
13395         * diagnostic.h: Declare it.
13396
13397         * calls.c (store_one_arg): Use size_in_bytes to determine the
13398         amount of space to push.
13399
13400 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
13401
13402         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13403
13404 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
13405
13406         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13407         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13408         (s390_select_ccmode): Likewise.
13409         (s390_branch_condition_mask): Likewise.
13410         (optimization_options): Do not set flag_branch_on_count.
13411         (s390_split_branches): Handle doloop branches.
13412         (s390_chunkify_pool): Likewise.
13413         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13414         ("doloop_end"): New expander.
13415         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13416         associated splitters): New.
13417
13418 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13419
13420         * genattrtab.c (simplify_cond): Remove unused variable(s).
13421         * global.c (record_conflicts): Likewise.
13422         * jump.c (rebuild_jump_labels): Likewise.
13423         * loop.c (scan_loop, check_final_value): Likewise.
13424         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13425         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13426         * rtlanal.c (reg_set_p): Likewise.
13427         * stmt.c (expand_asm_operands, expand_decl): Likewise.
13428         * genautomata.c (empty_reserv): Remove.
13429         * loop.c (max_luid): Likewise.
13430         * sched-rgn.c (bitlst_table_size): Likewise.
13431
13432 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
13433
13434         Reimplement gcov format.
13435         * gcov-io.h: Replace.
13436         * gcov.c: Reimplement.
13437         * gcov-iov.c: New file.
13438         * gcov-dump.c: New file.
13439         * libgcc2.c (L_bb): Replace with ...
13440         (L_gcov): ... this.
13441         (struct bb_function_info, struct bb): Remove.
13442         (inhibit_libc): Never inhibit.
13443         (gcov_list, gcov_crc): New static variables.
13444         (gcov_version_mismatch): New static function.
13445         (__bb_exit_func): Renamed to ...
13446         (__gcov_exit): ... here. Made static. Reimplement.
13447         (__gcov_init_func): Rename to ...
13448         (__gcov_init): ... here. Check version, update crc.
13449         (__bb_fork_func): Rename to ...
13450         (__gcov_flush): ... here.
13451         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13452         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13453         * calls.c (expand_call): Call __gcov_flush.
13454         * profile.c (bb_file, last_bb_file_name): Remove.
13455         (bbg_file_name): New global variable.
13456         (output_gcov_string): Remove.
13457         (get_exec_counts): Reimplement.
13458         (branch_prob): Reimplement gcov file writing.
13459         (init_branch_prob): Create bbg_file_name, don't create
13460         bb_file_name.
13461         (end_branch_prob): Adjust. Don't remove counter file when
13462         instrumenting ourselves.
13463         (create_profiler): Adjust.
13464         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13465         point to gcov-io.h.
13466         * Makefile.in (LANGUAGES): Add gcov-dump.
13467         (coverageexts): Remove .bb.
13468         (STAGESTUFF): Add gcov-dump.
13469         (LIB2FUNCS_ST): Replace _bb with _gcov.
13470         (profile.o): Depend on gcov-iov.h.
13471         (final.o): Don't depend on profile.h, gcov.h.
13472         (gcov.o): Depend on gcov-iov.h.
13473         (gcov-iov.o): New target.
13474         (gcov-iov): New target.
13475         (gcov-iov.h): New target.
13476         (gcov-dump.o): New target.
13477         (GCOV_DUMP_OBJS): New variable.
13478         (gcov-dump): New target.
13479         (distclean): Remove coverageexts.
13480         (stage1): Remove coverageexts.
13481
13482 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
13483
13484         * fold-const.c (make_range): Only narrow to signed range if
13485         the signed range is smaller than the unsigned range.
13486
13487 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
13488
13489         * emit-rtl.c (set_mem_size): New function.
13490         * expr.h (set_mem_size): Declare.
13491         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13492         (expand_block_move): Instead, use adjust_address and
13493         replace_equiv_address to generate proper aliasing info.
13494         Move common code out of conditionals.  Localize vars.
13495
13496 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
13497
13498         * optabs.c (expand_binop): Minor cleanup.
13499         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13500
13501 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
13502
13503         * print-tree.c (print_node): Print the restrict qualifier.
13504
13505 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
13506
13507         * doc/install.texi: Fix typos.
13508
13509 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
13510
13511         * Makefile.in: Remove all references to s-under and underscore.c.
13512         * collect2.c, tlink.c: Change all uses of prepends_underscore
13513         to look directly at USER_LABEL_PREFIX.
13514
13515 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
13516
13517         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13518         alignment to csect.
13519         (rs6000_xcoff_unique_section): Only set section name for public
13520         data.
13521         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13522         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13523         duplicate definition.
13524
13525 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13526
13527         * pa.md (extzv): Check predicates before emitting extzv_32.
13528         (insv): Likewise.
13529
13530 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
13531
13532         * config/s390/s390.h (MOVE_MAX): Define to correct value.
13533         (MAX_MOVE_MAX): Define.
13534         (MOVE_BY_PIECES_P): Define.
13535         (CLEAR_BY_PIECES_P): Define.
13536
13537 2002-09-10  Denis Chertykov  <denisc@overta.ru>
13538
13539         * config/avr/avr.md (movstrhi): Use right operands for conversion.
13540
13541 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
13542
13543         PR c/7873
13544         * arm.md (insv): Use reg_or_int_operand for operand[3].
13545
13546 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
13547
13548         * rs6000.c (rs6000_assemble_visibility): Protect declaration
13549         inside macro.  Correct function definition typo.
13550         (rs6000_xcoff_section_type_flags): New function.
13551         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13552         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13553         with appropriate PIC test.
13554         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13555         determine readonly.
13556         (rs6000_binds_local_p): Combine PIC flags.
13557         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13558         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13559
13560 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13561
13562         * h8300.md: Fix signed/unsigned warnings.
13563         * mcore.md: Likewise.
13564         * mn10300.c (mask_ok_for_mem_btst): Likewise.
13565
13566 2002-09-09  Per Bothner  <per@bothner.com>
13567
13568         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
13569         characters, and only print TREE_STRING_LENGTH chars.
13570
13571 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
13572
13573         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
13574         (ASM_FILE_END) New.
13575         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
13576         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
13577         * config/ia64/ia64.c (ia64_asm_output_external): Create list
13578         of external functions if TARGET_HPUX_LD is true.
13579         (ia64_hpux_add_extern_decl): New, routine to put names on
13580         list of external functions.
13581         (ia64_hpux_asm_file_end): Put out declarations for external
13582         functions if and only if they are used.
13583
13584 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13585
13586         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
13587         on TARGET_64BIT before pic register restore.
13588
13589 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
13590
13591         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
13592         (TARGET_HAVE_TLS): New description.
13593
13594 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
13595
13596         * doc/extend.texi (Statement Exprs): Fix broken link.
13597
13598 2002-09-09  Denis Chertykov  <denisc@overta.ru>
13599
13600         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
13601         right conversion of operands[1].
13602
13603 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
13604
13605         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
13606         commutative.  Use "nonimmediate_operand" instead of "register_operand"
13607         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
13608
13609         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
13610         as commutative.
13611
13612         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
13613         mark as commutative.  Use "nonimmediate_operand" instead of
13614         "register_operand" as predicate for operand 1.
13615
13616         ("movstrictsi"): Fix typo in insn name.
13617
13618 2002-09-09  Jan Hubicka  <jh@suse.cz>
13619
13620         * i386.c (index_register_operand): New.
13621         * i386.h (predicate_codes): Add new predicate.
13622         * i386.md (lea_general_*): Use index_register_operand
13623         (ashift to lea splitter): Do not produce invalid leas
13624         (ashift to mov+ashift split): New.
13625
13626 2002-09-09  Nick Clifton  <nickc@redhat.com>
13627
13628         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
13629         Fix folding marks.
13630
13631 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13632             J"orn Rennecke <joern.rennecke@superh.com>
13633
13634         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
13635
13636 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
13637
13638         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
13639         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
13640         attributes.
13641
13642 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
13643
13644         * basic_block.h (gcov_type): Explain why it is signed.
13645         * final.c: Don't include profile.h.
13646         (struct function_list, functions_head, functions_tail,
13647         end_final): Moved to profile.c
13648         (final): Move arc chaining code to profile.c.
13649         * function.c (prepare_function_start): Remove duplicate line.
13650         * output.h (end_final): Remove prototype.
13651         * predict.c (estimate_loops_at_level): Use gcov_type.
13652         * profile.c (struct function_list, functions_head,
13653         functions_tail): Moved from final.c
13654         (need_func_profiler): Remove.
13655         (instrument_edges): Don't set need_func_profiler.
13656         (get_exec_counts): Avoid signed/unsigned warning.
13657         (compute_checksum): Use crc32.
13658         (branch_prob): Adjust. Chain onto functions_head.
13659         (init_branch_prob): Absorb init_edge_profiler.
13660         (init_edge_profiler): Remove.
13661         (create_profiler): Moved and renamed from final.c:end_final.
13662         Emit data and constructor.
13663         (output_func_start_profiler): Remove.
13664         * profile.h (struct profile_info): checksum is unsigned.
13665         * rtl.h (output_func_start_profiler): Remove prototype.
13666         (create_profiler): Declare.
13667         * toplev.c (compile_file): Call create_profiler, if instrumenting
13668         arcs. Don't call end_final.
13669
13670 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13671
13672         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
13673
13674 2002-09-08  Richard Henderson  <rth@redhat.com>
13675
13676         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
13677         (DW_OP_GNU_push_tls_address): New.
13678         (DW_OP_lo_user): Fix.
13679         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
13680         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
13681         (size_of_loc_descr): Likewise.
13682         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
13683         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
13684         (loc_descriptor_from_tree): Handle TLS variables.
13685         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
13686         (add_location_or_const_value_attribute): ... not here.  Defer
13687         to loc_descriptor_from_tree for TLS variables.
13688
13689         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
13690         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
13691         * config/i386/i386-protos.h: Update.
13692
13693 2002-09-08  Roger Sayle  <roger@eyesopen.com>
13694
13695         PR optimization/6405
13696         * unroll.c (loop_iterations): last_loop_insn should be the previous
13697         non-note instruction before loop->end.
13698         * loop.c (strength_reduce): The conditional jump is the last
13699         non-note instruction before loop->end (as above).
13700
13701 2002-09-08  Roger Sayle  <roger@eyesopen.com>
13702
13703         * combine.c (try_combine): Handle the case that undobuf.other_insn
13704         has been turned into a return or unconditional jump, by inserting
13705         a BARRIER if necessary.
13706         (simplify_set):  Test if a condition code setter has a constant
13707         comparison at compile time, if so convert this insn to a no-op move
13708         and update/simplify the condition code user (undobuf.other_insn).
13709
13710 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
13711
13712         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
13713         (CLEAR_INSN_CACHE): Define.
13714
13715 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
13716
13717         * basic-block.h: Fix comment formatting.
13718         * c-common.c: Likewise.
13719         * c-common.h: Likewise.
13720         * c-lex.c: Likewise.
13721         * c-pretty-print.c: Likewise.
13722         * cfglayout.c: Likewise.
13723         * cfgloop.c: Likewise.
13724         * defaults.h: Likewise.
13725         * et-forest.c: Likewise.
13726         * explow.c: Likewise.
13727         * function.h: Likewise.
13728         * gcov.c: Likewise.
13729         * genattrtab.c: Likewise.
13730         * gengtype.c: Likewise.
13731         * ifcvt.c: Likewise.
13732         * libgcc2.c: Likewise.
13733         * loop.c: Likewise.
13734         * profile.c: Likewise.
13735         * ra-build.c: Likewise.
13736         * real.c: Likewise.
13737         * rtl.h: Likewise.
13738         * tracer.c: Likewise.
13739         * tree-inline.c: Likewise.
13740         * varasm.c: Likewise.
13741
13742 2002-09-08  Jan Hubicka  <jh@suse.cz>
13743
13744         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
13745         handling.
13746
13747         * loop.c (loop_givs_reduce):  Emit addition after.
13748
13749 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
13750
13751         * varasm.c (default_assemble_visibility): Rename from
13752         assemble_visibility.
13753         * output.h: Here too.
13754         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
13755         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
13756
13757 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
13758
13759         * reload.c (find_reloads <p constraint>): Pass operand_mode to
13760         find_reloads_address.
13761
13762 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
13763
13764         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
13765         (anonymous pattern): Likewise.
13766
13767 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13768
13769         * machmode.def: Add modes for half-float vectors.
13770
13771 2002-09-07  Scott Snyder  <snyder@fnal.gov>
13772
13773         PR target/7374
13774         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
13775
13776 2002-09-07  Roger Sayle  <roger@eyesopen.com>
13777
13778         * basic-block.h (struct loop): Remove unused cont_dominator field.
13779
13780 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13781
13782         * varasm.c (decode_rtx_const): Don't check undefined field for
13783         CONST_VECTOR.
13784
13785 2002-09-07  Glen Nakamura  <glen@imodulo.com>
13786
13787         PR opt/7814
13788         * sched-deps.c (sched_analyze_insn): Make sure to add insn
13789         to reg_last->sets after flushing the dependency lists to guarantee
13790         that subsequent clobbers will be dependent on it.
13791
13792 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13793
13794         * combine.c (simplify_shift_const): Calculate rotate count
13795         correctly for vector operands.
13796
13797 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
13798
13799         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
13800         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
13801         tree_expr_nonnegative_p.
13802         (build_conditional_expr): Likewise.
13803         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
13804
13805 2002-09-07  Richard Henderson  <rth@redhat.com>
13806
13807         * builtins.def (inf, inff, infl): Mark const.
13808         (huge_val, huge_valf, huge_vall): Likewise.
13809         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
13810
13811         * real.c (ereal_inf): Clear E before use.
13812
13813 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
13814
13815         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
13816         an expander and an anonymous pattern.  Zero out the upper half
13817         of the dividend in the expander.
13818         (udivmodqi4): Likewise.
13819
13820 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
13821
13822         * config/h8300/h8300.c: Fix formatting.
13823         * config/h8300/h8300.h: Likewise.
13824         * config/h8300/h8300.md: Likewise.
13825
13826 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13827
13828         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
13829         information.
13830
13831 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
13832
13833        * rtlanal.c (dead_or_set_regno_p): Fix typo.
13834
13835 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
13836
13837         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13838
13839         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
13840         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13841         (TARGET_ASM_OUT): Add the above here.
13842         * target.h (struct gcc_target): Add "visibility" field.
13843         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
13844         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
13845         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13846         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
13847
13848 2002-09-06  Ziemowit Laski <zlaski@apple.com>
13849
13850         * c-lang.c (objc_is_id): New stub.
13851         * c-tree.h (objc_is_id): New forward declaration.
13852         * c-typeck.c (build_c_cast): Do not strip protocol
13853         qualifiers from 'id' type.
13854         * objc/objc-act.c (objc_comptypes): Correct handling
13855         of protocol qualifiers.
13856         (objc_is_id): New.
13857
13858 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
13859
13860         * pentium.md (pentium-firstvboth): Fix typo.
13861
13862 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
13863
13864         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
13865         (enum shift_type, enum h8_cpu): Likewise.
13866         (INL, ROT, LOP, SPC macros): Likewise.
13867         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
13868         const designator.
13869         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
13870         space efficient algorithms when optimize for codesize.
13871
13872 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13873
13874         Fix PR/1727 and long-standing failing testcase
13875         objc/formal-protocol-6.m.
13876         * objc-act.c (build_protocol_expr): If compiling for the GNU
13877         runtime, create a list of Protocol statically allocated instances
13878         if it doesn't exist, then add the Protocol object to this same
13879         list.
13880         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
13881         instead of TREE_CHAIN.
13882
13883 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13884
13885         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
13886         10k.  Fixed category dumping - print out category names with the
13887         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
13888         interface.
13889         (finish_objc): Fixed the -gen-decls option.  It was printing out
13890         only the last class.  Dump an interface declaration of all classes
13891         being compiled instead.
13892
13893 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
13894
13895         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
13896         prototype.
13897         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
13898         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
13899         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
13900         rather than GEN_INT.
13901         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
13902         (return_addr_mask, *check_arch2): New.
13903
13904 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
13905
13906         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
13907         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
13908         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
13909         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
13910         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
13911         "adddf3", "*adddf3", "*adddf3_ibm",
13912         "addsf3", "*addsf3", "*addsf3_ibm",
13913         "muldi3", "mulsi3", "mulsidi3",
13914         "muldf3", "*muldf3", "*muldf3_ibm",
13915         "mulsf3", "*mulsf3", "*mulsf3_ibm",
13916         "*anddi3_cc", "*anddi3_cconly", "anddi3",
13917         "*andsi3_cc", "*andsi3_cconly", "andsi3",
13918         "*iordi3_cc", "*iordi3_cconly", "iordi3",
13919         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
13920         "*xordi3_cc", "*xordi3_cconly", "xordi3",
13921         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
13922         instead of "register_operand" as predicate for "%0" operand.
13923
13924 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
13925
13926         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
13927         unconditionally when gcc_cv_as_flags64 checks are gone.
13928         * configure: Rebuilt.
13929
13930 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
13931
13932         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
13933         2002-07-26 change.  Comment.
13934
13935 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13936
13937         * frv.c (frv_unique_section, frv_select_section,
13938         frv_select_rtx_section): Delete.
13939         (frv_in_small_data_p): New.
13940         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
13941         TARGET_ASM_SELECT_RTX_SECTION): Delete.
13942         (TARGET_IN_SMALL_DATA_P): Define.
13943
13944 2002-09-05  Dale Johannesen  <dalej@apple.com>
13945
13946         * reload1.c (reload):  Retain only those memory clobbers
13947         added for variable-array handling.
13948
13949 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
13950
13951         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
13952         return-in-memory rules.
13953         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
13954
13955 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
13956
13957         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
13958         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
13959
13960 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
13961
13962         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13963         not a compile-time constant for the non-IBM case.
13964         * config/arm/arm-protos.h (arm_float_words_big_endian): New
13965         prototype.
13966         * config/arm/arm.c (arm_float_words_big_endian): New function.
13967         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
13968         if TARGET_VFP  and not TARGET_HARD_FLOAT.
13969         (ARM_FLAG_VFP, TARGET_VFP): Define.
13970         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13971
13972 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
13973
13974         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13975         URLs.  Fix AIX wording.
13976
13977 2002-09-05  Stan Shebs  <shebs@apple.com>
13978
13979         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13980         -fPIC equivalent on Darwin.
13981
13982 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13983
13984         * sh.c (sh_expand_builtin): Return early if encountering an
13985         error_mark for a type.
13986
13987 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
13988
13989         * config/s390/s390.c (s390_expand_plus_operand): Do not require
13990         double-word scratch register.
13991         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
13992
13993         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
13994         "*cli"): Replace s_operand by memory_operand.
13995         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
13996
13997 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
13998
13999         * config/h8300/h8300.c (asm_file_start): Add a missing
14000         semicolon.
14001
14002 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14003
14004         * c-typeck.c (build_function_call): Remove unused variable(s).
14005         (build_c_cast): Likewise.
14006         * calls.c (rtx_for_function_call): Likewise.
14007         * cfglayout.c (duplicate_insn_chain): Likewise.
14008         * cfgloop.c (flow_loop_nodes_find): Likewise.
14009         * cfgrtl.c (split_edge): Likewise.
14010         * df.c (df_ref_create): Likewise.
14011         * except.c (expand_end_catch): Likewise.
14012         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14013         * function.c (emit_return_into_block): Likewise.
14014         (reposition_prologue_and_epilogue_notes): Likewise.
14015         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14016         * combine.c (subst_prev_insn, need_refresh): Remove.
14017         * dwarf2out.c (primary_filename): Remove.
14018         * final.c (new_block): Remove.
14019         * gcse.c (orig_bb_count): Remove.
14020
14021 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14022
14023         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14024         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14025         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14026         directly instead of using a function pointer.
14027
14028 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14029
14030         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14031         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14032         (ix86_output_addr_diff_elt) Likewise.
14033         (x86_output_mi_thunk) Likewise.
14034         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14035
14036 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14037
14038         * frv.c (frv_encode_section_info): Fix error in last change.
14039
14040 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14041
14042         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14043         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14044         (TARGET_BINDS_LOCAL_P): Define.
14045         (rs6000_override_options): Save original flag_pic value.
14046         (rs6000_elf_select_section): Call default_elf_select_section_1.
14047         (rs6000_elf_unique_section): Call default_unique_section_1.
14048         (rs6000_elf_in_small_data_p): New function.
14049         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14050         (rs6000_xcoff_select_section): Update based on defaults.
14051         (rs6000_xcoff_unique_section): Set to basic name if not common.
14052         (rs6000_binds_local_p): New function.
14053         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14054         targetm.have_srodata_section if SDATA_EABI.
14055         (TARGET_IN_SMALL_DATA_P): Define.
14056
14057 2002-09-04  Dale Johannesen  <dalej@apple.com>
14058
14059         * varasm.c (struct rtx_const, decode_rtx_const):
14060         Make veclo and vechi fields not share storage.
14061
14062 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14063
14064         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14065         for moving.
14066         (move_movables): Abort if we see the first insn of a libcall.
14067
14068 2002-09-04  Richard Henderson  <rth@redhat.com>
14069
14070         * builtin-types.def (BT_FN_FLOAT): New.
14071         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14072         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14073         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14074         * builtins.c (fold_builtin_inf): New.
14075         (fold_builtin): Call it.
14076         * real.c (ereal_inf): New.
14077         * real.h: Declare it.
14078         * doc/extend.texi: Document new builtins.
14079
14080 2002-09-04  Richard Henderson  <rth@redhat.com>
14081
14082         * cse.c (cse_insn): Avoid subreg games if the equivalence
14083         is already in the proper mode.
14084
14085 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14086
14087         PR c/7102
14088         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14089
14090 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14091
14092         * pa.md (setccfp0, setccfp1): New patterns.
14093
14094 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14095
14096         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14097         frv_select_section, frv_select_rtx_section,
14098         frv_encode_section_info, frv_unique_section): Delete.
14099         * frv.c: Update for target hooks.
14100         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14101         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14102         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14103
14104 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14105
14106         * ip2k-protos.h (function_prologue, function_epilogue,
14107         encode_section_info): Update to match target hook specification.
14108         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14109         (function_prologue, function_epilogue, encode_section_info):
14110         Update to match target hook specification.
14111         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14112         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14113         (NOTICE_UPDATE_CC): Cast to void.
14114         * ip2k.md: Add defaults in switch statements.
14115
14116 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14117
14118         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14119         issues.
14120
14121 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14122
14123         * config/sparc/t-netbsd64: Disable multilib for now.
14124
14125 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14126
14127         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14128         * target.h (gcc_target): Add have_srodata_section member.
14129         * varasm.c (section_category): Add SECCAT_SRODATA.
14130         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14131         READONLY_SDATA_SECTION defined.
14132         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14133         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14134         (default_unique_section_1): Likewise.
14135
14136 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14137
14138         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14139         into DImode pieces.
14140
14141         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14142         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14143         for floating-point register class.
14144         * pa.c (function_arg): Fix handling of modes wider than one word for
14145         TARGET_64BIT.
14146
14147 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14148
14149         * combine.c (make_compound_operation): Don't generate zero / sign
14150         extensions in floating point modes.
14151
14152 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14153
14154         * doc/c-tree.texi: Fix overfull hboxes.
14155         * doc/cppopts.texi: Ditto.
14156         * doc/extend.texi: Ditto.
14157         * doc/gty.texi: Ditto.
14158         * doc/invoke.texi: Ditto.
14159         * doc/makefile.texi: Ditto.
14160         * doc/rtl.texi: Ditto.
14161         * doc/standards.texi: Ditto.
14162         * doc/tm.texi: Ditto.
14163
14164 2002-09-04  Richard Henderson  <rth@redhat.com>
14165
14166         * c-common.c (builtin_define_with_hex_fp_value): New.
14167         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14168
14169 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14170
14171         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14172         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14173         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14174         Warn that these options can break ABI compatibility.
14175
14176 2002-09-04  Richard Henderson  <rth@redhat.com>
14177
14178         * real.c (ereal_to_decimal): Add digits parameter.
14179         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14180         * c-pretty-print.c (pp_c_real_literal): Update call.
14181         * print-rtl.c (print_rtx): Likewise.
14182         * print-tree.c (print_node_brief, print_node): Likewise.
14183         * sched-vis.c (print_value): Likewise.
14184         * config/arc/arc.c (arc_print_operand): Likewise.
14185         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14186         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14187         * config/i386/i386.c (print_operand): Likewise.
14188         * config/i960/i960.c (i960_print_operand): Likewise.
14189         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14190         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14191         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14192         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14193         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14194         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14195         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14196         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14197         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14198         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14199         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14200         * config/mips/mips.c (print_operand): Likewise.
14201         * config/ns32k/ns32k.c (print_operand): Likewise.
14202         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14203         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14204         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14205
14206 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14207
14208         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14209         xtensa_multibss_section_type_flags.
14210         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14211
14212 2002-09-04  Richard Henderson  <rth@redhat.com>
14213
14214         * doc/install-old.texi: Don't mention enquire.
14215         * doc/sourcebuild.texi: Update float.h description.
14216
14217 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14218
14219         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14220
14221 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14222
14223         * builtins.c (build_function_call_expr): Remove prototype, export
14224         as non-static and add a comment above function definition.
14225         (builtin_mathfn_code): New function to check for math builtins.
14226         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14227         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14228         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14229         log(sqrt(x)) as log(x)/2.0.
14230
14231         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14232         in new "builtins.c" section.  Place the build_range_type prototype
14233         with the other prototypes from "tree.c".
14234
14235         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14236         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14237         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14238         x/exp(y) as x*exp(-y).
14239
14240 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
14241
14242         * varasm.c (default_section_type_flags): Append _1 to name with
14243         shlib parameter.  Use original name to call new function with
14244         implicit flag_pic.
14245         (decl_readonly_section): Likewise.
14246         (default_elf_select_section): Likewise.
14247         (default_unique_section): Likewise.
14248         (default_bind_local_p): Likewise.
14249         (categorize_decl_for_section): Add shlib parameter to use in place
14250         of implicit flag_pic.
14251         * output.h: Declare new functions with _1 and shlib argument.
14252
14253 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
14254
14255         * doc/install.texi: Fix typos, formatting problems, and obvious
14256         overfull/underfull boxes.
14257
14258         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14259         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14260         include its file, compat.texi.
14261         * doc/compat.texi: New file with new chapter, Binary Compatibility.
14262
14263 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
14264
14265         Debian BTS Bug #157416
14266         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14267         * cpplib.c (destringize_and_run): Kludge around getting
14268         tokens from in-progress macros.
14269         (_cpp_do__Pragma): Simplify.
14270
14271 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14272
14273         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14274         (CPP_CPU_SPEC): Remove.
14275         (TARGET_CPU_CPP_BUILTINS): New.
14276         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14277         (CPP_SPEC): Remove.
14278         (TARGET_OS_CPP_BUILTINS): New.
14279         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14280         (TARGET_OS_CPP_BUILTINS): New.
14281         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14282         TARGET_OS_CPP_BUILTINS.
14283         (CPP_PREDEFINES): Remove.
14284         (CPLUSPLUS_CPP_SPEC): Remove.
14285         (TARGET_OS_CPP_BUILTINS): New.
14286
14287 2002-09-03  Richard Henderson  <rth@redhat.com>
14288
14289         * Makefile.in (USER_H): Add ginclude/float.h.
14290         (FLOAT_H): Remove.
14291         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14292         (mostlyclean): Don't remove float.h intermediate files.
14293         (distclean): Don't remove float.h.
14294         * config.gcc: Remove all float_format references.
14295         * configure.in (float_format, float_h_file): Remove.
14296
14297         * c-common.c: Include tree-inline.h.
14298         (builtin_define_with_int_value): New.
14299         (builtin_define_type_precision): Use it.
14300         (builtin_define_float_constants): New.
14301         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
14302         __FLT_EVAL_METHOD__.
14303         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14304         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14305         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14306         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14307         (TARGET_FLT_EVAL_METHOD): New.
14308
14309         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14310         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14311         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14312         * ginclude/float.h: New.
14313
14314 2002-09-03  Stan Shebs  <shebs@apple.com>
14315
14316         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14317         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14318         (PREFERRED_DEBUGGING_TYPE): Ditto.
14319         (ASM_OUTPUT_IDENT): Remove empty definition.
14320
14321 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14322
14323         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14324         cxx_target.
14325         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14326         handling routine for builtin pragma.
14327         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14328         Registered pragma handling routine.
14329         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14330         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14331         If builtin pragma seen for math routine and C89 conformance is
14332         requested use different math function in order to set errno.
14333         * t-ia64 (ia64-c.o): Add new rule for new file.
14334
14335 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14336
14337         * config/s390/s390.md ("movti"): Add Q->Q alternative.
14338         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14339         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
14340
14341         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
14342         "*movsf_ss"): Remove.
14343
14344 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14345
14346         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14347         Delete macros.
14348
14349 2002-09-03   Arati Dikey  <aratid@kpit.com>
14350
14351         * h8300.c (asm_file_start): Corrected optimization comment.
14352
14353 2002-09-03  Stan Shebs  <shebs@apple.com>
14354
14355         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14356         * c-tree.h (recognize_objc_keyword): Remove decl.
14357         * c-typeck.c (comp_target_types): Update a comment.
14358
14359 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14360
14361         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14362         and register validity checks.
14363         (general_s_operand): Adapt to s390_decompose_address interface change.
14364         (q_constraint): Likewise.
14365         (s390_expand_plus_operand): Likewise.
14366         (legitimiate_address_p): Likewise.
14367         (legitimate_la_operand_p): Likewise.
14368         (legitimize_la_operand): Likewise.
14369         (print_operand_address): Likewise.
14370         (print_operand): Likewise.
14371
14372 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14373
14374         PR objc/5956:
14375         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
14376         was causing the new selector never to match the existing ones
14377         (Patch by Alexander Malmberg <alexander@malmberg.org>).
14378
14379 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14380
14381         * config/i386/i386.md ("femms"): Add "memory" attr "none".
14382
14383 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14384
14385         * expr.c (expand_expr): Remove extraneous comment and code.
14386
14387 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
14388
14389         * stor-layout (finish_builtin_struct): Renamed and moved from c++
14390         frontend. Take chain of fields. Allow NULL alignment type.
14391         * tree.h (finish_builtin_struct): Declare.
14392
14393 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14394
14395         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14396         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14397         config/arc/arc.c config/arc/arc.h config/arm/aout.h
14398         config/arm/arm.c config/arm/arm.h config/arm/arm.md
14399         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14400         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14401         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14402         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14403         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14404         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14405         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14406         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14407         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14408         config/pa/pa.h config/pa/pa.md config/romp/romp.h
14409         config/rs6000/linux64.h config/rs6000/lynx.h
14410         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14411         config/s390/s390.c config/s390/s390.md config/sh/sh.c
14412         config/sparc/sparc.c config/sparc/sysv4.h
14413         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14414         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14415         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14416
14417         * doc/tm.texi: Update docs.
14418         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14419         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14420
14421 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14422
14423         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14424         * arc.c (arc_internal_label): New function.
14425         (TARGET_ASM_INTERNAL_LABEL): Set.
14426         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14427         * arm.c (arm_internal_label): New function.
14428         (TARGET_ASM_INTERNAL_LABEL): Set.
14429         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14430         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14431         * i370.c (i370_internal_label): New function.
14432         (TARGET_ASM_INTERNAL_LABEL): Set.
14433         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14434         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14435         * m68k.c (m68k_hp320_internal_label): New function.
14436         (TARGET_ASM_INTERNAL_LABEL): Set.
14437         * m88k.c (m88k_internal_label): New function.
14438         (TARGET_ASM_INTERNAL_LABEL): Set.
14439         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14440         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14441         * genoutput.c (output_prologue): Include target.h in output file.
14442         * output.h (default_internal_label): Declare.
14443         * sdbout.c: Include target.h.
14444         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14445         TARGET_ASM_OUT.
14446         * target.h (internal_label): Add to struct gcc_target.
14447         * varasm.c (default_internal_label): New function.
14448
14449 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14450
14451         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14452         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14453         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14454         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14455         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14456         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14457         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14458         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14459         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14460         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14461         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14462         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14463         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14464         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14465         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14466         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14467         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14468         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14469         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14470         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14471         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14472         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14473         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14474         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14475         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14476         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14477         * mmix.c (mmix_asm_output_internal_label): Likewise.
14478         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14479         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14480         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14481         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14482         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14483         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14484         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14485         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14486         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14487         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14488         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14489         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14490         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14491         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14492         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14493         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14494         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14495         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14496         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14497
14498         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14499
14500 2002-08-31  Richard Henderson  <rth@redhat.com>
14501
14502         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14503
14504 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14505
14506         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14507
14508 2002-08-30  Richard Henderson  <rth@redhat.com>
14509
14510         PR opt/7515
14511         * c-objc-common.c: Include target.h.
14512         (c_cannot_inline_tree_fn): Don't auto-inline functions that
14513         don't bind locally.  Factor setting DECL_UNINLINABLE.
14514         * Makefile.in (c-objc-common.o): Update.
14515
14516 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
14517
14518         * doc/install.texi (Configuration, Building): Fix a typo and
14519         some formatting directives.
14520
14521 2002-08-30  Paul Koning <pkoning@equallogic.com>
14522
14523         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14524         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14525         implemented" note.
14526         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14527         for alphabetic order.
14528         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14529         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
14530         (VAX_HALFWORD_ORDER): Document.
14531         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14532         IEEE float format.
14533         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14534         (ASM_OUTPUT_LABEL_REF): Fix font.
14535         (CASE_VECTOR_SHORTEN_MODE): Ditto.
14536
14537 2002-08-30  Denis Chertykov  <denisc@overta.ru>
14538
14539         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14540         stuff.
14541         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14542         CONST_DOUBLE constants.
14543
14544 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
14545
14546         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14547         related defines to...
14548         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14549         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14550         as a no-op.
14551
14552 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
14553
14554         * config/arm/arm.c (arm_asm_output_labelref): New function.
14555         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14556         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14557
14558 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
14559
14560         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14561         memory exhausted" workarounds.
14562
14563 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14564
14565         * diagnostic.c (fancy_abort): Don't repeat "internal error".
14566         * toplev.c (crash_signal): Likewise.
14567
14568 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14569
14570         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
14571         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
14572         Extended, updated documentation.
14573         (-Wundeclared-selector): Documented.
14574
14575 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
14576
14577         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
14578         the value 1.  Do not undef before defining.
14579         * config/darwin.h: Likewise.
14580         * config/dbx.h: Likewise.
14581         * config/dbxcoff.h: Likewise.
14582         * config/dbxelf.h: Likewise.
14583         * config/elfos.h: Likewise.
14584         * config/interix.h: Likewise.
14585         * config/lynx-ng.h: Likewise.
14586         * config/lynx.h: Likewise.
14587         * config/netware.h: Likewise.
14588         * config/psos.h: Likewise.
14589         * config/svr3.h: Likewise.
14590         * config/alpha/alpha.h: Likewise.
14591         * config/alpha/elf.h: Likewise.
14592         * config/alpha/vms.h: Likewise.
14593         * config/arc/arc.h: Likewise.
14594         * config/arm/aout.h: Likewise.
14595         * config/arm/coff.h: Likewise.
14596         * config/c4x/c4x.h: Likewise.
14597         * config/h8300/h8300.h: Likewise.
14598         * config/i386/cygwin.h: Likewise.
14599         * config/i386/djgpp.h: Likewise.
14600         * config/i386/gas.h: Likewise.
14601         * config/i386/gstabs.h: Likewise.
14602         * config/i386/i386-coff.h: Likewise.
14603         * config/i386/i386-interix.h: Likewise.
14604         * config/i386/sco5.h: Likewise.
14605         * config/i386/svr3dbx.h: Likewise.
14606         * config/i386/sysv3.h: Likewise.
14607         * config/i386/win32.h: Likewise.
14608         * config/i386/x86-64.h: Likewise.
14609         * config/i960/i960.h: Likewise.
14610         * config/ia64/ia64.h: Likewise.
14611         * config/ip2k/ip2k.h: Likewise.
14612         * config/m32r/m32r.h: Likewise.
14613         * config/m68k/3b1.h: Likewise.
14614         * config/m68k/3b1g.h: Likewise.
14615         * config/m68k/ccur-GAS.h: Likewise.
14616         * config/m68k/coff.h: Likewise.
14617         * config/m68k/hp2bsd.h: Likewise.
14618         * config/m68k/hp310g.h: Likewise.
14619         * config/m68k/hp320g.h: Likewise.
14620         * config/m68k/hp3bsd.h: Likewise.
14621         * config/m68k/hp3bsd44.h: Likewise.
14622         * config/m68k/linux-aout.h: Likewise.
14623         * config/m68k/m68k-aout.h: Likewise.
14624         * config/m68k/mot3300.h: Likewise.
14625         * config/m68k/netbsd.h: Likewise.
14626         * config/m68k/openbsd.h: Likewise.
14627         * config/m68k/pbb.h: Likewise.
14628         * config/m68k/plexus.h: Likewise.
14629         * config/m68k/sun2.h: Likewise.
14630         * config/m68k/sun3.h: Likewise.
14631         * config/m68k/tower-as.h: Likewise.
14632         * config/m68k/vxm68k.h: Likewise.
14633         * config/m88k/aout-dbx.h: Likewise.
14634         * config/m88k/m88k-aout.h: Likewise.
14635         * config/mcore/mcore-elf.h: Likewise.
14636         * config/mcore/mcore-pe.h: Likewise.
14637         * config/mips/elf.h: Likewise.
14638         * config/mips/elf64.h: Likewise.
14639         * config/mips/iris5gas.h: Likewise.
14640         * config/mips/iris6.h: Likewise.
14641         * config/mips/mips.h: Likewise.
14642         * config/mips/sni-gas.h: Likewise.
14643         * config/mmix/mmix.h: Likewise.
14644         * config/ns32k/netbsd.h: Likewise.
14645         * config/pa/pa64-hpux.h: Likewise.
14646         * config/romp/romp.h: Likewise.
14647         * config/rs6000/sysv4.h: Likewise.
14648         * config/rs6000/xcoff.h: Likewise.
14649         * config/sh/coff.h: Likewise.
14650         * config/sh/elf.h: Likewise.
14651         * config/sparc/linux64.h: Likewise.
14652         * config/sparc/liteelf.h: Likewise.
14653         * config/sparc/netbsd.h: Likewise.
14654         * config/sparc/openbsd.h: Likewise.
14655         * config/sparc/pbd.h: Likewise.
14656         * config/sparc/sp64-elf.h: Likewise.
14657         * config/sparc/sp86x-elf.h: Likewise.
14658         * config/sparc/sparc.h: Likewise.
14659         * config/vax/vax.h: Likewise.
14660         * config/vax/vaxv.h: Likewise.
14661
14662 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
14663
14664         * h8300.c (shift_alg_hi): Various tweaks to improve performance
14665         of HImode shifts.
14666         (get_shift_alg): Corresponding changes.
14667
14668 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14669
14670         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
14671
14672 2002-08-29  Richard Henderson  <rth@redhat.com>
14673
14674         * expr.h (enum block_op_methods): New.
14675         (emit_block_move): Update prototype.
14676         * expr.c (block_move_libcall_safe_for_call_parm): New.
14677         (emit_block_move_via_loop): New.
14678         (emit_block_move): Use them.  New argument METHOD.
14679         (emit_push_insn): Always respect the given alignment.
14680         (expand_assignment): Update call to emit_block_move.
14681         (store_expr, store_field, expand_expr): Likewise.
14682         * builtins.c (expand_builtin_apply): Likewise.
14683         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
14684         * function.c (expand_function_end): Likewise.
14685         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
14686         * config/sparc/sparc.c (sparc_va_arg): Likewise.
14687         * calls.c (expand_call, emit_library_call_value_1): Likewise.
14688         (save_fixed_argument_area): Use emit_block_move with
14689         BLOCK_OP_CALL_PARM instead of move_by_pieces.
14690         (restore_fixed_argument_area): Likewise.
14691         (store_one_arg): Fix alignment parameter to emit_push_insn.
14692
14693 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14694
14695         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
14696
14697 2002-08-29  Catherine Moore  <clm@redhat.com>
14698
14699         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
14700         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
14701         (PREDICATE_CODES): Include new predicates.
14702         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
14703         (TARGET_SWITCHES):  Add strict-align.
14704         (TARGET_STRICT_ALIGN): New.
14705         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
14706         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14707         Define.
14708         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
14709         v850_muldi3.
14710         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
14711         L_callt_save_r2_r31, L_return_r2_r31,
14712         L_save_all_interrupt): Change addi to add.
14713         (L_save_interrupt, L_return_interrupt): Rework.
14714         (__return_r31):  Correct .size directive.
14715         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
14716         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
14717         New routines.
14718         * config/v850/v850.c (expand_prologue): Call
14719         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
14720         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
14721         (reg_or_int9_operand): New predicate.
14722         (reg_or_const_operand): New routine.
14723         * config/v850/v850.md (return_interrupt): Changed from
14724         restore_interrupt.
14725         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
14726         (callt_save_interrupt): Change save sequence.
14727         (callt_return_interrupt): New.
14728         (save_interrupt): Don't use runtime function for LONG_CALLS
14729         and TARGET_PROLOG_FUNCTION.
14730         (save_all_interrupt): Likewise.
14731         (mulsi3): Use new predicate.
14732         (moviscc): Disallow some combination of constants.
14733         Fix define_split for sasf insns, so that it will not generate bad
14734         code if operand0 and operand5 are the same.
14735         * config/v850/v850-protos.h: Prototype new predicates.
14736
14737 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
14738
14739         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
14740         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
14741
14742 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14743
14744         * c-common.c (builtin_define_type_precision): New function.
14745         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
14746         wchar_t is unsigned in C++.
14747         * doc/cpp.texi (Common Predefined Macros): Document
14748         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
14749         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14750         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14751
14752 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
14753
14754         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
14755         section.  Mention that it is enabled by -Wall.
14756         (-Wall): Mention that there can be language-specific warnings as well.
14757         (-Wctor-dtor-privacy): Mention that it is enabled by default.
14758         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
14759
14760 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14761
14762         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
14763         if it is ever live.
14764
14765         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
14766         attribute for SHCOMPACT.
14767
14768         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
14769         appropriately.
14770         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
14771         by the ABI.
14772
14773         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
14774
14775 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
14776
14777         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
14778         "MASK_GAS|MASK_ABICALLS".
14779         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
14780         (TARGET_DEFAULT): Remove.
14781         (MACHINE_TYPE): Undefine before defining.
14782         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
14783
14784 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
14785
14786         * c-common.c (warn_abi): New variable.
14787         * c-common.h (warn_abi): Likewise.
14788         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
14789         (c_common_decode_option): Handle it.
14790         * doc/invoke.texi: Document -Wabi.
14791
14792 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14793
14794         * c-common.c (warn_undeclared_selector): New variable.
14795         * c-common.h (warn_undeclared_selector): Idem.
14796         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
14797         to on when -Wundeclared-selector is found.
14798         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
14799         * objc/objc-act.c (build_selector_expr): If
14800         warn_undeclared_selector is set, check that the selector has
14801         already been defined, and emit a warning if not.
14802
14803 2002-08-27  Nick Clifton  <nickc@redhat.com>
14804             Catherine Moore  <clm@redhat.com>
14805             Jim Wilson  <wilson@cygnus.com>
14806
14807         * config.gcc: Add v850e-*-* target.
14808         Add --with-cpu= support for v850.
14809         * config/v850/lib1funcs.asm: Add v850e callt functions.
14810         * config/v850/v850.h: Add support for v850e target.
14811         * config/v850/v850.c: Add functions to support v850e target.
14812         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
14813         * config/v850/v850.md: Add patterns for v850e instructions.
14814         * doc/invoke.texi: Document new v850e command line switches.
14815
14816 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14817                           Aldy Hernandez <aldyh at redhat dot com>
14818
14819         * doc/tm.texi: Applied numerous fixes to the automaton based
14820         scheduler descrition.
14821
14822 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
14823
14824         * i386.c (classify_argument): Handle variable sized objects.
14825
14826 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14827
14828         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
14829
14830 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
14831
14832         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
14833
14834 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
14835
14836         * i386.c (classify_argument): Properly compute word size of the analyzed object.
14837
14838 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
14839
14840         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
14841         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
14842         accordingly.
14843         (attribute insn_class): Provide default definitions based on type.
14844         Remove all insn-specific settings.
14845         (various function units): Remove old SH4 scheduling.
14846         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
14847         New attributes.  Set them where appropriate.
14848         (cpu unit FS): Don't define / use.
14849         (F3, load_store): New cpu units.
14850         (F01): New reservation.
14851         (all insn_reservations): Make dependent on sh4 pipeline model.
14852         Fix latencies.
14853         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
14854         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
14855         (mt insn_reservation): Use type mt_group.
14856         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
14857         sh4_fload and sh4_store.
14858         (insn_reservation branch_zero and branch): Replace with sh4_branch.
14859         (insn_reservation branch_far): Replace with sh4_return.
14860         (insn_reservation return_from_exp): Rename to:
14861         (sh4_return_from_exp).  Change to be just d_lock*5.
14862         (insn_reservation lds_to_pr): Rename to:
14863         (sh4_lds_to_pr).  Change to be just d_lock*2.
14864         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
14865         d_lock*2.
14866         (insn_reservation prload_mem): Rename to:
14867         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
14868         (insn_reservation fpscr_store): Rename to:
14869         (fpscr_load).  Change to d_lock,nothing,F1*3.
14870         (insn_reservation fpscr_store_mem): Rename to:
14871         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
14872         (insn_reservation multi): Change to
14873         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
14874         (insn_reservation fp_arith): Change to issue,F01,F2.
14875         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
14876         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
14877         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
14878         (insn_reservation fp_double_cmp): Change to
14879         d_lock,(d_lock+F01),F1+F2,F2.
14880         (insn_reservation dp_div): Change to
14881         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
14882         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
14883         (sh_adjust_cost, SHcompact): Differentiate between different
14884         kinds of dependencies.  Drop factor of ten for superscalar.
14885         Use new instruction types.  Add new exception rules.
14886
14887         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
14888
14889         * sh.md (mperm_w): Add DONE.
14890
14891 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
14892
14893         * longlong.h: Import current PowerPC defintion from GMP-4.1.
14894
14895         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
14896
14897         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
14898
14899 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
14900
14901         * sh.h (MAX_FIXED_MODE_SIZE): Define.
14902
14903 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
14904
14905         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
14906         delimiter.
14907
14908 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14909
14910         * c-common.c (cpp_define_data_format): New function.
14911         (cb_register_builtins): Call it.
14912
14913         * doc/cpp.texi (Common Predefined Macros): Document
14914         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14915         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14916         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
14917         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
14918         __TARGET_USES_VAX_H_FLOAT__.
14919
14920 2002-08-26  Ziemowit Laski <zlaski@apple.com>
14921
14922         * objc/objc-act.c (get_super_receiver): If inside a class method
14923         of a category, cast the receiver to 'id' before accessing the 'isa'
14924         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
14925
14926 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
14927
14928         * config/s390/s390-protos.h (s390_function_prologue,
14929         s390_function_epilogue): Remove.
14930         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
14931         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
14932
14933         config/s390/s390.c (s390_machine_dependent_recorg): New function.
14934         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
14935         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
14936         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
14937         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
14938
14939         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
14940         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
14941         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
14942         function is not a leaf function.  Use save_gprs and restore_gprs.
14943         (s390_emit_epilogue): Likewise.
14944         (save_gprs, restore_gprs): New functions.
14945         (struct s390_frame): Remove return_reg_saved_p member.
14946         (save_fprs_p): Remove.
14947         (s390_optimize_prolog): New function.
14948         (s390_legitimate_reload_constant): Remove now unnecessary check.
14949
14950         (s390_function_count): Remove.
14951         (s390_output_symbolic_const): Replace s390_function_count by
14952         current_function_funcdef_no.
14953         (s390_output_constant_pool): Likewise.
14954
14955         (legitimize_pic_address): Use regs_ever_live to track PIC register
14956         instead of current_function_uses_pic_offset_table.
14957         (s390_emit_prologue): Likewise.
14958         config/s390/s390.md ("call", "call_value"): Likewise.
14959
14960 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
14961
14962         * c-opts.c (find_opt): Don't complain about wrong languages
14963         here.  Return exact matches even for wrong language.
14964         (c_common_decode_option): Complain about wrong languages
14965         here.
14966
14967 2002-08-24  Stuart Hastings  <stuart@apple.com>
14968
14969         * function.h (struct function): Add flag
14970         all_throwers_are_sibcalls.
14971         * except.c (set_nothrow_function_flags): Replaces
14972         nothrow_function_p. Set new flag.
14973         * except.h (set_nothrow_function_flags): Replaces
14974         nothrow_function_p.
14975         * dwarf2out.c (struct dw_fde_struct): Add flag
14976         all_throwers_are_sibcalls.
14977         (output_call_frame_info): Test it.
14978         (dwarf2out_begin_prologue) Propagate it from cfun to
14979         dw_fde_struct.
14980         * toplev.c (rest_of_compilation): Update calls to
14981         nothrow_function_p.
14982
14983 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
14984
14985         * ggc-page.c (compute_inverse): Short circuit calculation for
14986         object sizes larger than half a page.
14987
14988 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
14989
14990         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
14991         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
14992         default.
14993         (rs6000_elf_unique_section): Likewise.
14994
14995 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14996
14997         * ns32k.c (ns32k_globalize_label): Delete.
14998         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
14999
15000 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15001
15002         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15003         for loading delta with num_insns_constant_wide.  Calculate
15004         delta_low, delta_high without using a conditional.
15005
15006 2002-08-22  Jason Merrill  <jason@redhat.com>
15007
15008         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15009         * c-common.def: Adjust.
15010         * c-dump.c (c_dump_tree): Adjust.
15011         * c-semantics.c (genrtl_return_stmt): Adjust.
15012         * c-pretty-print.c (pp_c_statement): Adjust.
15013         * tree-inline.c (copy_body_r): Adjust.
15014
15015 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15016
15017         * ggc-page.c: Avoid division in ggc_set_mark.
15018         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15019         compute_inverse): New.
15020         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15021         (init_ggc): Initialize inverse_table.
15022
15023 2002-08-22  Tom Tromey  <tromey@redhat.com>
15024
15025         * doc/install.texi (Configuration): Document --datadir.
15026
15027 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15028
15029         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15030
15031 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15032
15033         * gengtype-lex.l (ID): Allow underscore as first character.
15034
15035 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15036
15037         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15038         function.
15039         (rs6000_xcoff_asm_named_section): Rename.
15040         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15041
15042 2002-08-21  Tom Tromey  <tromey@redhat.com>
15043
15044         For PR java/6005 and PR java/7611:
15045         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15046         (fold): Likewise.
15047         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15048         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15049         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15050         (LANG_HOOKS_INITIALIZER): Use it.
15051         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15052         field.
15053
15054 2002-08-21  Stan Shebs  <shebs@apple.com>
15055
15056         * tree.c (finish_vector_type): Fix a typo in a comment.
15057         * Makefile.in: Fix "the the" stutters in comments.
15058         * genautomata.c: Ditto.
15059         * ifcvt.c: Ditto.
15060         * regrename.c: Ditto.
15061         * config/alpha/alpha.c: Ditto.
15062         * config/alpha/vms-crt0-64.c: Ditto.
15063         * config/alpha/vms-crt0.c: Ditto.
15064         * config/alpha/vms-psxcrt0-64.c: Ditto.
15065         * config/alpha/vms-psxcrt0.c: Ditto.
15066         * config/d30v/d30v.h: Ditto.
15067         * config/fr30/fr30.h: Ditto.
15068         * config/rs6000/rs6000.c: Ditto.
15069         * config/stormy16/stormy16.h: Ditto.
15070         * doc/md.texi: Ditto.
15071
15072 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15073
15074         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15075
15076 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15077
15078         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15079         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15080         Also make duplicate modifiers such as "short short" into hard
15081         errors.
15082
15083 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15084             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15085
15086         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15087         to the actual end.  Add '@end table' and '@table @code'.
15088
15089 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15090
15091         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15092
15093         * unroll.c (biv_total_increment): Don't try to compute the total
15094         increment for FP BIVs.
15095
15096 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15097
15098         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15099         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15100         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15101         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15102         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15103         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15104         (GLOBAL_ASM_OP): Define.
15105         * arm.c (aof_globalize_label): New function.
15106         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15107         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15108         * c4x.c (c4x_globalize_label): New function.
15109         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15110         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15111         (GLOBAL_ASM_OP): Define.
15112         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15113         * darwin-protos.h (darwin_globalize_label): Declare.
15114         * darwin.c (darwin_globalize_label): New function.
15115         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15116         (ASM_GLOBALIZE_LABEL): Delete.
15117         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15118         * dsp16xx.c (asm_output_common): Use target hook.
15119         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15120         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15121         (GLOBAL_ASM_OP): Define.
15122         * i370.c (i370_globalize_label): New function.
15123         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15124         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15125         * i386.c (ix86_asm_file_end): Use target hook.
15126         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15127         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15128         * ia64.c (ia64_asm_output_external): Likewise.
15129         * ia64/sysv4.h: Update comment.
15130         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15131         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15132         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15133         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15134         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15135         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15136         * mmix.c (mmix_asm_globalize_label): Likewise.
15137         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15138         (GLOBAL_ASM_OP): Define.
15139         * ns32k.c (ns32k_globalize_label): New function.
15140         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15141         (ASM_GLOBALIZE_LABEL): Delete.
15142         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15143         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15144         * pa.c (pa_globalize_label): New function.
15145         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15146         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15147         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15148         (GLOBAL_ASM_OP): Define.
15149         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15150         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15151         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15152         (GLOBAL_ASM_OP): Define.
15153         * v850.c (v850_output_aligned_bss): Use target hook.
15154         * vax.c (vms_globalize_label): New function.
15155         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15156         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15157         (GLOBAL_ASM_OP): Define.
15158         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15159         * doc/tm.texi: Update docs.
15160         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15161         target hook.
15162         * final.c (output_alternate_entry_point): Likewise.
15163         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15164         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15165         * output.h (assemble_global): Delete.
15166         (default_globalize_label): Declare.
15167         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15168         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15169         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15170         * target.h (gcc_target): Add globalize_label member.
15171         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15172         globalize_decl): Use target hook.
15173         (assemble_global): Delete.
15174         (default_globalize_label): New function.
15175
15176 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15177
15178         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15179
15180 2002-08-20  Devang Patel  <dpatel@apple.com>
15181         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15182
15183 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15184
15185         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15186         * arm.c (thumb_output_function_prologue): Likewise.
15187         * avr.c (print_operand): Likewise.
15188         * c4x.c (c4x_print_operand): Likewise.
15189         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15190         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15191         * cris.c (cris_target_asm_function_prologue,
15192         cris_asm_output_mi_thunk): Likewise.
15193         * h8300.c (print_operand): Likewise.
15194         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15195         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15196         * m68hc11.c (asm_print_register, print_operand,
15197         print_operand_address): Use stdio instead of asm_fprintf.
15198         (print_operand_address): Fix format specifier.
15199         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15200         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15201         asm_fprintf.
15202         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15203         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15204         * m68k.c (m68k_output_function_prologue,
15205         m68k_output_function_epilogue, print_operand): Likewise.
15206         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15207         Likewise.  Fix format specifier.
15208         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15209         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15210         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15211
15212 2002-08-15  Eric Christopher  <echristo@redhat.com>
15213             Jeff Knaggs  <jknaggs@redhat.com>
15214
15215         * config.gcc (mipsisa64sr71k-elf): New target.
15216         * config/mips/sr71k.md: New file.
15217         * config/mips/mips.md: Use it.
15218         (rot*): Add sr71k specifics.
15219         * config/mips/t-sr71k: New file.
15220         * config/mips/mips.h (sr71k): New cpu.
15221         (TARGET_SR71K): Use it.
15222         (TUNE_SR71K): Ditto.
15223         (GENERATE_BRANCHLIKELY): Ditto.
15224         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15225         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15226         * config/mips/mips.c (sr71k): New cpu.
15227         (mips_use_dfa_pipeline_interface): Use.
15228
15229 2002-08-15  Eric Christopher  <echristo@redhat.com>
15230             Richard Sandiford <rsandifo@redhat.com>
15231             Aldy Hernandez  <aldyh@redhat.com>
15232             Graham Stott    <grahams@redhat.com>
15233             Michael Meissner  <meissner@redhat.com>
15234             Gavin Romig-Koch  <gavin@redhat.com>
15235             Ken Raeburn  <raeburn@cygnus.com>
15236             Alexandre Oliva <aoliva@redhat.com>
15237
15238         * config.gcc (mips64vr-elf): New target.
15239         * config/mips/5400.md: New file.
15240         * config/mips/5500.md: Ditto.
15241         * config/mips/mips.md: Use them.
15242         (frsqrt): New.
15243         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15244         cpus.
15245         (mips_issue_rate): Use them.
15246         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15247         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15248         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15249         cpus.
15250         (TARGET_MIPSx): Use them.
15251         (TUNE_MIPSx): Ditto.
15252         (GETNATE_MULT3_SI): Ditto.
15253         (ISA_HAS_BRANCHLIKELY): Ditto.
15254         (ISA_HAS_CONDMOVE): Ditto.
15255         (ISA_HAS_NMADD_NMSUB): Ditto.
15256         (ISA_HAS_MULHI): New. Ditto.
15257         (ISA_HAS_MULS): Ditto.
15258         (ISA_HAS_MSAC): Ditto.
15259         (ISA_HAS_MACC): Ditto.
15260         (ISA_HAS_ROTR_SI): Ditto.
15261         (ISA_HAS_ROTR_DI): Ditto.
15262         (RTX_COSTS): Use.
15263
15264 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15265
15266         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15267         at head.
15268         (remove_dup_nonsys_dirs): New function.
15269         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
15270         (merge_include_chains): Remove non-system include directories from
15271         quote and bracket include chains when they duplicate equivalent system
15272         directories.
15273         * doc/cpp.texi (-I): Update.
15274         * doc/cppopts.texi (-I): Update.
15275         * doc/install.texi (--with-local-prefix): Further document usage of
15276         this option.
15277         * doc/invoke.texi (-I): Update.
15278
15279 2002-08-20  Richard Henderson  <rth@redhat.com>
15280
15281         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15282         (emit_block_move): Split out subroutines.
15283         (emit_block_move_via_movstr): New.
15284         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
15285         (emit_block_move_libcall_fn): New.  Construct function prototype for
15286         bcopy as well.
15287         (clear_storage): Split out subroutines.
15288         (clear_storage_via_clrstr): New.
15289         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15290         (clear_storage_libcall_fn): New.  Construct function prototype for
15291         bzero as well.
15292         (emit_push_insn): Use emit_block_move.
15293         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15294         (store_constructor): Likewise.
15295
15296 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15297
15298         * objc/objc-act.c (building_objc_message_expr): Rename to
15299         current_objc_message_selector.
15300
15301 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15302
15303         * objc/objc-act.c (build_ivar_chain): Remove.
15304         (objc_copy_list): Likewise.
15305         (get_class_ivars): Inline call to removed build_ivar_chain
15306         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
15307         slot; use that slot (rather than CLASS_IVARS) when accessing
15308         ivars for base classes.  Call copy_list and chainon instead of
15309         objc_copy_list.
15310         (build_private_template): Call get_class_ivars instead of
15311         build_ivar_chain.
15312         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
15313         (continue_class): Call get_class_ivars instead of
15314         build_ivar_chain.
15315         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15316         of DECL_BIT_FIELD (which may have been cleared).
15317         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15318
15319 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15320
15321         * genautomata.c (output_translate_vect, output_state_ainsn_table,
15322         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15323         in output file.
15324         (output_internal_min_issue_delay_func): Initialize variable in
15325         output file.
15326
15327 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
15328
15329         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15330         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15331
15332 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
15333             Steve Ellcey  <sje@cup.hp.com>
15334
15335         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15336         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15337         * explow.c (trunc_int_for_mode): Abort when the mode is not
15338         a scaler integer mode.
15339         * combine.c (expand_compound_operation): Don't expand Vector
15340         or Complex modes into shifts.
15341         (expand_field_assignment): Don't do bitwise arithmatic and
15342         shifts on Vector or Complex modes.
15343         (simplify_comparison): Don't call trunc_int_for_mode
15344         for VOIDmode.
15345         * recog.c (general_operand): Likewise.
15346         (immediate_operand): Likewise.
15347         (nonmemory_operand): Likewise.
15348
15349 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
15350
15351         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15352         multi-instruction SImode constant.  Add REG_EQUAL note.
15353         * config/rs6000/rs6000.md (movsi splitter): Use
15354         rs6000_emit_set_const.
15355
15356 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15357
15358         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15359         the macro test controlling its use.
15360
15361 2002-08-18  H.J. Lu  (hjl@gnu.org)
15362
15363         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15364         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15365         gnu_ld=yes.
15366         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15367         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15368         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15369         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15370         here.
15371         (cris-*-linux*): Remove setting thread_file here.
15372
15373 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
15374
15375         PR preprocessor/7602
15376         * cppinit.c (path_include): Treat the system environment
15377         variables as being cxx_aware.
15378
15379 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
15380
15381         * c-decl.c (flexible_array_type_p): New function.
15382         (grokdeclarator, finish_struct): Use it.
15383         * doc/extend.texi: Document constraints on use of structures with
15384         flexible array members.
15385
15386 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
15387
15388         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15389         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15390         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15391
15392 2002-08-16  Stan Shebs  <shebs@apple.com>
15393
15394         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15395         for ObjC with -fnext-runtime.
15396         * doc/cpp.texi: Document it.
15397
15398 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
15399
15400         * doc/install.texi (Final installation): Replace links to individual
15401         build status pages with a link to a common page that lists them all.
15402
15403 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
15404
15405         * doc/invoke.texi: Fix typo.
15406
15407 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
15408
15409         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15410
15411 2002-08-16  Andrew Haley  <aph@redhat.com>
15412
15413         * tree-inline.c: Add includes for Java inliner.
15414         (remap_decl): Don't handle anonymous types for Java.
15415         (remap_block): Add handling for Java trees.
15416         (copy_scope_stmt): Conditionalize for non-Java use only.
15417         (copy_body_r): Handle Java trees.  Add handling for
15418         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15419         (initialize_inlined_parameters):  Handle Java trees.
15420         (declare_return_variable): Likewise.
15421         (expand_call_inline): Handle Java trees.
15422         (walk_tree): Likewise.
15423         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15424         (add_stmt_to_compound): New function.
15425
15426 2002-08-15  Richard Henderson  <rth@redhat.com>
15427
15428         * Makefile.in (LOOSE_WARN): Remove -fno-common.
15429         (NOCOMMON_FLAG): New substitution point.
15430         (GCC_WARN_CFLAGS): Include it.
15431         * configure.in (ac_checking): Set nocommon_flag.
15432         (nocommon_flag): New substitution point.
15433
15434 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
15435
15436         * c-tree.h (skip_evaluation): Move declaration...
15437         * c-common.h: ... here.
15438         * c-typeck.c (build_external_ref): Don't assemble_external nor
15439         mark a tree as used if skip_evaluation is set.
15440         * c-parse.in (typeof): New non-terminal to set skip_evaluation
15441         around TYPEOF.
15442         (typespec_nonreserved_nonattr): Use it.
15443
15444 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
15445
15446         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15447         (xcoff_debug_hooks): Update end_prologue.
15448         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15449         * debug.h (end_prologue): Add file arg.
15450         (end_epilogue): Add line and file args.
15451         (dwarf2out_end_epilogue): Add line and file args.
15452         (vmsdbgout_after_prologue): Remove.
15453         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15454         (dwarf2_debug_hooks): Update end_prologue.
15455         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15456         (dwarfout_end_prologue): Add file arg.
15457         * final.c (vmsdbgout_after_prologue): Remove
15458         (final_end_function): Update end_epilogue call.
15459         (final_scan_insn): Update end_prologue call.
15460         * sdbout.c (sdbout_end_epilogue): Add line and file args.
15461         (sdbout_end_prologue): Add file arg.
15462         (sdb_debug_hooks): Update end_prologue.
15463         (sdb_begin_prologue): Update sdbout_end_prologue call.
15464         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15465         vmsdbgout_end_function.
15466         (vmsdbgout_end_prologue): New function renamed from
15467         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15468         (vmsdbgout_end_function): New function.
15469         (vmsdbgout_end_epilogue): Add line and file args. Call
15470         vmsdbgout_source_line.
15471         (write_pclines): Write only valid line numbers.
15472         (write_srccorr): Don't write source correlation records if 0 lines.
15473         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15474
15475 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
15476
15477         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15478         (_Unwind_Internal_Ptr): 32 bit version for use in
15479         read_encoded_value_with_base.
15480         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15481         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15482         right size.
15483
15484 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15485
15486         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15487         signed/unsigned warnings.
15488
15489         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15490         record_reg_classes): Likewise.
15491
15492         * reload.c (reload_inner_reg_of_subreg, push_reload,
15493         find_reloads_address_1): Likewise.
15494
15495 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
15496
15497         * rs6000.c (output_mi_thunk): Return to function section on
15498         TARGET_ELF.
15499
15500         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15501
15502 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
15503
15504         * config/s390/s390.c (legitimize_address): Optimize loading
15505         of large displacements.
15506
15507 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
15508
15509         * config/alpha/alpha-protos.h: Update.
15510
15511         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15512         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15513         (alpha_linkage_symbol_p): New static function.
15514         (print_operand_address): Print linkage operand.
15515
15516         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15517         variables.
15518         (reloc_kind): New enum.
15519         (struct alpha_funcs): New struct.
15520         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15521
15522         (alpha_need_linkage): Rewrite.
15523         (alpha_use_linkage): New global function.
15524         (alpha_write_linkage): Rewrite and make static.
15525         (alpha_write_one_linkage): Rewrite
15526
15527         (alpha_start_function): Remove procedure descriptor output.
15528         (alpha_end_function): Write linkages at end of each function.
15529
15530         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15531         (call_vms_1, call_value_vms_1): Rewrite.
15532
15533         * config/alpha/vms.h (ASM_FILE_END): Remove.
15534
15535 2002-08-14  Richard Henderson  <rth@redhat.com>
15536
15537         * ggc-page.c (RTL_SIZE): New.
15538         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15539         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15540
15541 2002-08-14  Richard Henderson  <rth@redhat.com>
15542
15543         * calls.c: Include target.h.
15544         * Makefile.in (calls.o): Update.
15545
15546         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15547         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15548
15549 2002-08-14  Richard Henderson  <rth@redhat.com>
15550
15551         * Makefile.in (LOOSE_WARN): Add -fno-common.
15552         * c-common.h (constant_string_class_name): Add missing extern.
15553
15554 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
15555
15556         PR preprocessor/7358
15557         * c-opts.c (check_deps_environment_vars): Ignore main file
15558         for SUNPRO_DEPENDENCIES.
15559         * cppfiles.c (stack_include_file): Ignore main file if
15560         appropriate.
15561         * cpplib.h (struct cpp_options): New member in deps.
15562         * doc/cppenv.texi: Update.
15563
15564 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15565
15566         PR preprocessor/7526
15567         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
15568
15569 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
15570
15571         * doc/invoke.texi (-a): Remove documentation.
15572         (-fprofile-arcs): Remove reference to -a, -ax options.
15573         * doc/gcov.texi (Gcov Data Files): Data might be merged.
15574
15575 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15576
15577         Fix PR/7566
15578         * c-semantics.c (genrtl_case_label): Don't (mis)use
15579         warning_with_decl.
15580
15581 2002-08-14  Dale Johannesen  <dalej@apple.com>
15582
15583         * explow.c (emit_stack_restore):  Emit memory clobbers
15584         preceding the stack pop, to prevent the scheduler from
15585         moving refs to variable arrays below this pop.
15586         * reload1.c (reload):  Preserve these clobbers for sched2.
15587         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
15588
15589 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15590
15591         * c-opts.c (c_common_post_options): Correct test.
15592
15593 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15594
15595         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
15596         order in call to fprintf.
15597
15598 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15599
15600         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
15601
15602 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
15603
15604         * reload.c (find_reloads): Handle constraint letters marked by
15605         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
15606         (alternative_allows_memconst): Likewise.
15607         * reload1.c (maybe_fix_stack_asms): Likewise.
15608         * recog.c (asm_operand_ok, preprocess_constraints,
15609         constrain_operands): Likewise.
15610         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
15611         * local-alloc.c (block_alloc, requires_inout): Likewise.
15612         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
15613
15614         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
15615         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
15616         * doc/tm.texi: Document these two new target macros.
15617
15618         * config/s390/s390.c (s390_expand_plus_operand): Accept already
15619         valid operands.
15620         (q_constraint): New function.
15621         config/s390/s390-protos.h (q_constraint): Declare it.
15622         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
15623         (EXTRA_MEMORY_CONSTRAINT): New macro.
15624
15625         * config/s390/s390.md: Throughout the machine description,
15626         replace all instances of the constraint combinations 'Qo'
15627         or 'oQ' with simply 'Q'.
15628
15629 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15630
15631         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
15632         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
15633         (LIBGCC2_CFLAGS): Compile with -mrelax.
15634
15635 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15636
15637         * doc/invoke.texi: Document -minmax for 68HC12.
15638
15639         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
15640         ("uminqi3"): Likewise.
15641         ("uminhi3", "umaxhi3"): Likewise.
15642
15643         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
15644         (TARGET_MIN_MAX): Define.
15645         (TARGET_SWITCHES): New option -minmax/-mnominmax.
15646
15647 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15648
15649         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
15650         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
15651
15652         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
15653         (ret, declare, farsym): New gas macros.
15654         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
15655         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
15656         and declare the symbol far when compiled with -mlong-calls.
15657         (__far_trampoline): New for 68HC12 trampoline code to invoke a
15658         far handler using jsr/bsr.
15659
15660         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
15661         (jsr): New macro to transform a 'jsr' into a 'call'.
15662
15663 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15664
15665         * doc/invoke.texi: Document -mlong-calls for 68HC12.
15666
15667         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
15668         -mlong-calls is specified.
15669         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
15670         assembler directives.
15671         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
15672         (TARGET_SWITCHES): Add -mlong-calls options.
15673         (current_function_far): Declare.
15674
15675         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
15676         into account the page register saved on the stack.
15677         (m68hc11_override_options): Take into account -mlong-calls option.
15678         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
15679
15680         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
15681         if the function is going to be in 68HC12 banked memory (-mlong-calls).
15682         ("*return_16bit"): Likewise.
15683         ("*return_void"): Likewise.
15684         ("call", "call_value"): Use call for a far function call.
15685
15686 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15687
15688         * toplev.c (parse_options_and_default_flags): Don't call
15689         post_options here.
15690         (general_init): Initialize GC, pools and tree hash here,
15691         instead of lang_independent_init.
15692         (lang_independent_init): Rename backend_init.
15693         (do_compile): Call post_options hook; exit early if there
15694         have been errors after switch processing.
15695         (toplev_main): Update.
15696
15697 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15698
15699         * c-pretty-print.h: Guard against multiple inclusion.
15700         Robustify macros.
15701         (pp_c_attributes): Declare.
15702         * c-pretty-print.c (pp_c_attributes): New function.
15703
15704 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15705
15706         * m68k.c (m68k_output_function_prologue,
15707         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
15708         and NEWS/MOTOROLA.
15709         * genattrtab.c: Remove dpx2 comment.
15710         * libgcc2.c (__enable_execute_stack): Delete versions for
15711         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
15712         sony_news/SYSTYPE_BSD.
15713         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
15714         __gmicro__, __i860__, __NeXT__ and __pyr__.
15715         * rtl.h: Remove convex comment.
15716         * varasm.c: Likewise.
15717
15718 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15719
15720         * c-opts.c (lang_flags): Const-ify.
15721         * ra-build.c (undef_table): Likewise.
15722         * ra.c (eliminables): Likewise.
15723
15724 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15725
15726         * tree.h: Guard against multiple inclusion.
15727
15728 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
15729
15730         * reload1.c (reload_cse_simplify): Before checking
15731         REG_FUNCTION_VALUE_P, check REG_P.
15732
15733 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
15734
15735         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
15736
15737 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15738
15739         * c-opts.c (c_common_init_options): Extra braces needed.
15740
15741 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15742
15743         * sh.c (sh_init_builtins): Add PARAMS to declaration.
15744         (sh_media_init_builtins, sh_expand_builtin): Likewise.
15745         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
15746         (sh_expand_binop_v2sf): Likewise.
15747         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
15748         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
15749         (sh_initialize_trampoline): Likewise.
15750
15751 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
15752
15753         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
15754         new condition code modes.
15755         s390.c (s390_match_ccmode_set): Handle those new CC modes.
15756         (s390_select_ccmode): Likewise.
15757         (s390_branch_condition_mask): Likewise.
15758
15759         * s390-protos.h (s390_tm_ccmode): Declare.
15760         s390.c (s390_tm_ccmode): New function.
15761         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
15762
15763         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
15764         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
15765         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
15766
15767         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
15768         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
15769         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
15770         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
15771         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
15772
15773         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
15774         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
15775         "*cmpqi_ccs_0"): Remove, replace by ...
15776         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
15777         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
15778         "*tstqi", "*tstqi_cconly"): ... these new patterns.
15779
15780         ("*cmpsidi_ccs"): Remove, replace by ...
15781         ("*cmpsi_ccs_sign"): ... this new pattern.
15782         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
15783
15784         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
15785         ("*cli"): ... this new pattern.
15786
15787         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
15788         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
15789         New patterns.
15790         ("adddi3_64"): Rename to "*adddi3_64".
15791         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
15792         ("adddi3"): Adapt expander.
15793
15794         ("*addsi3_cc"): Allow "general_operand" for operand 2.
15795         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
15796         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
15797
15798         ("addhi3", "addqi3"): Remove, replace by ...
15799         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
15800
15801         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
15802         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
15803         ("subdi3"): Replace by insn and splitter "*subdi3_31".
15804         ("subdi3"): New expander.
15805
15806         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
15807
15808         ("subhi3", "subqi3"): Remove, replace by ...
15809         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
15810
15811         ("*muldi3_sign"): New pattern.
15812         ("muldi3"): Do not clobber CC.
15813         ("mulsi3"): Likewise.
15814         ("mulsi_6432"): Likewise.
15815
15816 2002-08-13  Denis Chertykov  <denisc@overta.ru>
15817
15818         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
15819         which can change CC0.
15820
15821 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
15822
15823         * gcse.c (adjust_libcall_notes): New function.
15824         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
15825
15826 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
15827
15828         * libgcc2.c (L_bb): Remove unneeded #includes.
15829         (__global_counters, __gthreads_active): Remove unused globals.
15830         (__bb_exit_func): Merge counts into files rather than appending.
15831         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
15832         (ALL_CFLAGS): ... to here.
15833
15834 2002-08-13  Denis Chertykov  <denisc@overta.ru>
15835
15836         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
15837         (function_epilogue): Don't calculate function size.
15838         (ip2k_set_compare): Don't use lookup_const_double.
15839         (asm_file_start): Initialization of commands_in_file removed.
15840         (asm_file_end): Output of commands_in_file removed.
15841
15842         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
15843         __INT_MAX__.
15844
15845 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15846
15847         * c-opts.c (c_common_init_options): Check option array is
15848         sorted if checking enabled.
15849
15850 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
15851
15852         * c-pretty-print.c: #include "c-tree.h".
15853         (pp_c_simple_type_specifier): Tweak.
15854         (pp_c_storage_class_specifier): New.
15855         (pp_c_function_specifier): Likewise.
15856         (pp_c_declaration_specifiers): Likewise.
15857         (pp_c_init_declarator): Likewise.
15858         (pp_c_declaration): Likewise.
15859         (pp_c_direct_declarator): Stub.
15860         (pp_c_declarator): Likewise.
15861         (pp_c_parameter_declaration): Likewise.
15862
15863 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15864
15865         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
15866         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
15867         struct deferred_opt): New.
15868         (COMMAND_LINE_OPTIONS): Add -M*.
15869         (missing_arg): Update.
15870         (c_common_decode_option): Handle -M*.
15871         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
15872         don't call cpp_post_options.
15873         (c_common_finish, check_deps_environment_vars): Update.
15874         * cppfiles.c (stack_include_file, handle_missing_header): Update.
15875         * cpphash.h (CPP_PRINT_DEPS): Remove.
15876         * cppinit.c: Don't include version.h.
15877         (cpp_create_reader): Don't call deps_init.  Initialize
15878         warn_long_long.
15879         (cpp_read_main_file): Init deps if necessary.
15880         (cpp_destroy): Conditionally free deps.
15881         (cpp_finish): Update.
15882         (no_tgt): Remove.
15883         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
15884         (cpp_post_options): Rename post_options.
15885         * cpplib.h (struct cpp_options): Remove some dependency options;
15886         move others to a new structure.
15887         (cpp_post_options): Remove.
15888         (cpp_finish): Comment.
15889         * fix-header.c (read_scan_file): Don't call cpp_post_options.
15890
15891 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
15892
15893         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
15894         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
15895         MMIX_rR_REGNUM as clobbered.
15896         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
15897
15898 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
15899
15900         * diagnostic.h (output_formatted_scalar): Rename from
15901         output_formatted_integer.
15902         * diagnostic.def: Add DK_DEBUG.
15903         * diagnostic.c (output_decimal): Adjust.
15904         (output_long_decimal): Likewise.
15905         (output_unsigned_decimal): Likewise.
15906         (output_octal): Likewise.
15907         (output_long_octal): Likewise.
15908         (output_hexadecimal): Likewise.
15909         (output_long_hexadecimal): Likewise.
15910         * c-pretty-print.c (pp_c_type_specifier): New function.
15911         (pp_c_specifier_qualifier_list): Likewise.
15912         (pp_c_abstract_declarator): Likewise.
15913         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
15914
15915 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
15916
15917         * doc/trouble.texi (Disappointments): Add static constructor and
15918         destructor dependency information for AIX.
15919
15920 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
15921
15922         * cpphash.h (struct printer): New from cppmain.c.
15923         (cpp_reader): New member.
15924         * cppmain.c (struct printer): Move to cpphash.h.
15925         (options, print): Remove.
15926         (account_for_newlines, print_line, maybe_print_line,
15927         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
15928         scan_translation_unit_trad, cb_line_change, cb_ident,
15929         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
15930         cb_def_pragma): Make reentrant.
15931
15932 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15933
15934         * real.c (ieee_64): Always define.
15935         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15936         (dec_h): Not used yet, hide it.
15937         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
15938         macro controlling use.
15939         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15940
15941 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15942
15943         * i386.md (tablejump): Sign extend the operand.
15944         * i386.c (classify_argument): Fix missed case from previous patch.
15945
15946 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
15947
15948         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
15949         to c-copts.c.
15950         (warn_multichar): Die.
15951         (cb_register_builtins): Export.
15952         * c-common.h (warn_multichar, preprocess_file): Remove.
15953         (cb_register_builtins): New.
15954         * c-lang.c (c_init): Remove.
15955         (LANG_HOOKS_INIT): Use c_objc_common_init.
15956         * c-lex.c (init_c_lex): Don't canonicalize filename.
15957         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
15958         (preprocess_file): Make static.  Update for cpplib.
15959         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
15960         (c_common_post_options): Set some cpp options here.
15961         (c_common_init): Move from c-common.c.
15962         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15963         * cpplib.h (struct cpp_options): Remove in_fname.
15964         (cpp_preprocess_file): Update.
15965         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15966
15967 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15968
15969         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15970
15971 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15972
15973         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15974         backslash in comment preceeding macro definition.
15975         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15976         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15977         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15978
15979 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
15980
15981         * expr.c (store_expr): In condition for checking if value is
15982         generated in TARGET, move call to expr_size last.
15983
15984 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
15985
15986         * c-common.c (c_common_init): Call preprocess_file instead.
15987         (c_common_finish): Move to c-opts.c.
15988         * c-common.h (preprocess_file): new.
15989         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
15990         check_deps_environment_vars, c_common_finish): New.
15991         (c_common_decode_option): Update for out_fname and dependencies.
15992         * cppinit.c (init_dependency_output, output_deps): Remove.
15993         (cpp_destroy): Update prototype.
15994         (cpp_add_dependency_target): New.
15995         (cpp_read_main_file): Don't overlay a buffer.
15996         (cpp_finish): Take a deps output stream and write deps to it.
15997         Return the error count.
15998         (cpp_post_options): Don't canonicalize out_fname, or do anything
15999         with dependencies.
16000         * cpplib.h (struct cpp_options): Remove out_fname and
16001         preprocess_only.
16002         (cpp_add_dependency_target): New.
16003         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16004         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16005         set preprocess_only.  Don't handle the output stream directly.
16006
16007 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16008
16009         * dsp16xx.c (print_operand): Fix format specifier.
16010         * dsp16xx.md: Avoid automatic aggregate initialization.
16011         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16012         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16013         integer constant modifier.
16014         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16015         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16016         guards.
16017         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16018         * v850.c (v850_select_section): Mark parameter with
16019         ATTRIBUTE_UNUSED.
16020         * global.c (global_alloc): Const-ify.
16021         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16022
16023 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16024
16025         * darwin-c.c (darwin_pragma_options): Const-ify.
16026         * darwin.c (machopic_non_lazy_ptr_name,
16027         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16028         (machopic_indirect_data_reference): Wrap variables in macros
16029         controlling their use.
16030         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16031         (machopic_select_section): Use parentheses around && within ||.
16032         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16033
16034 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16035
16036         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16037         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16038         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16039         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16040         mdr_try_remove_redundant_insns, track_w_reload,
16041         mdr_try_wreg_elim): Make function static to match prototype.
16042         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16043         parameter with ATTRIBUTE_UNUSED.
16044
16045 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16046
16047         * arc.c (arc_init): Don't use ISO C style function definitions.
16048         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16049         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16050         * avr.h (progmem_section): Likewise.
16051         * h8300.c h8300_asm_insn_count): Likewise.
16052         * m32r.c (init_idents): Likewise.
16053         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16054         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16055         * xtensa.c (xtensa_build_va_list): Likewise.
16056
16057 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16058
16059         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16060         * c-opts.c (parse_option): Rename find_opt.
16061         (set_std_c99): New function.
16062         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16063         (missing_arg): Remove OPT_std_bad.  Handle -o.
16064         (c_common_decode_option): Handle input and output file names,
16065         -o and -remap.  Clean up -std= handling.
16066         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16067         (cpp_handle_option): Similarly.  Don't handle filenames.
16068
16069 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16070
16071         * i386.c (classify_argument): Fix computing of field's offsets.
16072
16073 2002-08-11  Andreas Jaeger  <aj@suse.de>
16074
16075         PR target/7531:
16076         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16077
16078 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16079
16080         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16081         reference to clk_objective_c with flag_objc.
16082         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16083         Likewise.
16084         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16085
16086 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16087
16088         * c-opts.c (set_std_cxx98, set_std_c89): New.
16089         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16090         (c_common_decode_option): Handle new switches from cppinit.c.
16091         Add -std=gnu++98.
16092         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16093         (no_arg, no_num): Remove.
16094         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16095         switches apart from -lang-objc and lang-asm.
16096         (cpp_handle_option): Similarly.
16097         * cpplib.h (cpp_set_lang): New.
16098         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16099         -std=gnu++98.
16100         * objc/lang-specs.h: Remove -ansi.
16101
16102 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16103                                Graham Stott
16104
16105         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16106         errors.
16107
16108 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16109
16110         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16111         emit_jump_insn): Fix uninitialized variable.
16112         * gcov.c (init_line_info): Likewise.
16113         * genautomata.c (transform_3): Add braces around ambiguous
16114         else.
16115         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16116         ATTRIBUTE_UNUSED.
16117         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16118         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16119         variable.
16120
16121         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16122         warnings in output files.
16123
16124 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16125
16126         * c-common.c (flag_objc): New.
16127         * c-common.h (c_language_kind): Get rid of clk_objective_c
16128         enum value.
16129         (flag_objc): New extern declaration.
16130         * c-decl.c (implicitly_declare): Call objc_check_decl
16131         instead of maybe_objc_check_decl.
16132         (finish_decl): Likewise.
16133         (grokfield): Likewise.
16134         (finish_struct): Likewise.
16135         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16136         (maybe_objc_comptypes): Rename to objc_comptypes.
16137         (maybe_building_objc_message_expr): Rename to
16138         objc_message_selector.
16139         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16140         replace with flag_objc as needed.
16141         * c-opts.c (c_common_init_options): Likewise.
16142         (c_common_decode_option): Likewise.
16143         * c-parse.in (init_reswords): Likewise.
16144         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16145         (maybe_objc_comptypes): Rename to objc_comptypes.
16146         (maybe_building_objc_message_expr): Rename to
16147         objc_message_selector.
16148         * c-typeck.c (comptypes): Call objc_comptypes instead of
16149         maybe_objc_comptypes, and/or objc_message_selector instead of
16150         maybe_building_objc_message_expr.
16151         (comp_target_types): Likewise.
16152         (convert_for_assignment): Likewise.
16153         (warn_for_assignment): Likewise.
16154         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16155         independently of those for other languages.
16156         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16157         (maybe_objc_check_decl): Delete.
16158         (maybe_building_objc_message_expr): Rename to
16159         objc_message_selector.
16160         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16161         clk_objective_c; set flag_objc flag.
16162
16163 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16164
16165         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16166
16167 2002-08-09  Dale Johannesen  <dalej@apple.com>
16168
16169         * config/rs6000/rs6000.md: Add sibcall patterns.
16170         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16171         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16172         Rewritten to handle sibcalls.
16173         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16174         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16175
16176 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16177
16178         * profile.c (da_file_name): New static var.
16179         (init_branch_prob): Initialize it.
16180         (end_branch_prob): Remove da file.
16181
16182         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16183         * configure.in (coverage_flags): Default to nothing.
16184         * configure: Rebuilt.
16185
16186 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16187
16188         * Makefile.in (c-opts.o): Update
16189         * c-opts.c: Include intl.h.
16190         (print_help): Move from cppinit.c.  Remove unused options.
16191         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16192         (missing_arg): Complain for switches without an argument.
16193         (c_common_decode_option): Reject missing joined arguments.
16194         Handle new switches from cppinit.c.
16195         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16196         (cpp_handle_option): Similarly.
16197         (print_help): Moved to c-opts.c.
16198         * cpplib.h (struct cpp_options): Remove help_only.
16199         * gcc.c (cpp_unique_options): Remove -$.
16200         * doc/cppopts.texi: Undocument -h.
16201
16202 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16203
16204         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16205         legitimate constant.
16206         (legitimate_pic_operand_p): Neither pic operand.
16207         (legitimate_address_p): But legitimate address.
16208         (get_thread_pointer): Generate MEM/u instead of CONST around
16209         UNSPEC_TP.
16210         (print_operand): Remove printing of UNSPEC_TP.
16211         (print_operand_address): And print it here.
16212
16213 2002-08-08  Devang Patel  <dpatel@apple.com>
16214
16215         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16216         when  -Wselector is used,if method for which selector is being
16217         created does not exist.
16218
16219 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16220
16221         * config/sh/sh.c (prepare_move_operands): Only call
16222         target_reg_operand if TARGET_SHMEDIA.
16223
16224 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16225
16226         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16227         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16228         two patches.
16229         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16230
16231 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
16232             Richard Henderson  <rth@redhat.com>
16233
16234         * emit-rtl.c (gen_rtx_REG): After reload, only return
16235         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16236
16237 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16238
16239         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16240         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16241         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16242         macro.
16243
16244 2002-08-08  Adam Nemet  <anemet@lnxw.com>
16245
16246         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16247         register.
16248         (thumb_expand_prologue): Likewise.
16249         (thumb_output_function_prologue): Likewise.
16250         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16251         the additional push of the PIC register.
16252
16253 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16254
16255         * configure.in (enable_coverage): New enable switch.
16256         * configure: Rebuilt.
16257         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16258         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16259         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16260         (mostlyclean): Remove coverage files.
16261         * doc/install.texi: Document enable_coverage.
16262
16263         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16264         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16265         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16266         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16267         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16268         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16269         files.
16270
16271 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
16272
16273         * c-opts.c (cpp_opts): New.
16274         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16275         (c_common_decode_options): Handle cpplib switches.
16276         (c_common_init_options): Set cpp_opts.
16277         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16278         (cpp_handle_option): Similarly.
16279
16280 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
16281
16282         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16283         (TARGET_ALTIVEC_ABI): Same.
16284         (TARGET_ALTIVEC_VRSAVE): Same.
16285
16286         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16287         icode not CODE_FOR_nothing.  Change switch to if.
16288
16289 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
16290
16291         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16292
16293 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16294
16295         * stor-layout.c (place_union_field): For bitfields if
16296         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16297         TYPE_USER_ALIGN.
16298
16299 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16300
16301         * pa.c (struct deferred_plabel): Constify name field.
16302
16303 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16304
16305         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16306
16307 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16308
16309         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16310         local_prefix are the same.
16311         * configure: Rebuilt.
16312
16313 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
16314             Richard Henderson  <rth@redhat.com>
16315
16316         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16317         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
16318         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16319         (place_field): Likewise.
16320         * config/i386/i386.c (x86_field_alignment): Don't check
16321         DECL_USER_ALIGN here.
16322         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16323         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16324         prototype.
16325         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16326         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16327         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16328         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16329         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16330         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16331
16332 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16333
16334         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16335         * c-common.c: Don't include tree-inline.h.
16336         (c_common_init_options, c_common_post_options): Move to c-opts.c.
16337         * c-common.h (c_common_decode_option): New.
16338         * c-decl.c (c_decode_option): Remove.
16339         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16340         * c-opts.c: New file.
16341         * c-tree.h (c_decode_option): Remove.
16342         * doc/passes.texi: Update.
16343         * objc/objc-act.c (objc_decode_option): Remove.
16344         * objc/objc-act.h (objc_decode_option): Remove.
16345         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16346         c_common_decode_option.
16347
16348 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
16349
16350         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16351         dependency on TARGET_DOUBLE_FLOAT.
16352
16353 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
16354
16355         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16356         overwrite callee-save registers.  Fix comment.
16357
16358 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
16359
16360         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16361         in target_flags based on ISA, if it was not set on the command
16362         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16363         support Branch Likely instructions.
16364         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16365         (TARGET_BRANCHLIKELY): Likewise.
16366         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16367         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16368         ISA_HAS_BRANCHLIKELY.
16369         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16370         * doc/invoke.texi: Document new MIPS -mbranch-likely and
16371         -mno-branch-likely options.
16372
16373 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16374
16375         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16376
16377         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16378         $(GCONFIG_H).
16379
16380 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
16381
16382         * c-decl.c (duplicate_decls): Error out for incompatible TLS
16383         declarations.
16384
16385         * testsuite/gcc.dg/tls/diag-3.c: New.
16386
16387 2002-08-06  Dale Johannesen  <dalej@apple.com>
16388
16389         * c-common.c (fname_decl): Use line number 0 for
16390         __func__, to avoid confusing debuggers.
16391
16392 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
16393
16394         * gcov.c: Tidy.
16395         (struct line_info, struct coverage): New structures.
16396         (gcov_file_name, gcov_file): Remove globals.
16397         (output_data): Take source file parameter. Fix memory leak. Break
16398         up into ...
16399         (init_line_info, output_line_info, make_gcov_file_name,
16400         accumulate_branch_counts): ... here.
16401         (calculate_branch_probs, function_summary): Adjust.
16402         (main): Adjust.
16403         (function_*): Remove global variables.
16404
16405 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16406
16407         * dwarf2out.c: Remove unused macros.
16408
16409 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16410
16411         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16412
16413 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16414
16415         * cppinit.c (struct lang_flags): Rename trigraphs std.
16416         (set_lang): Update.
16417         * cpplib.h (struct cpp_options): New member std.
16418         * cppmacro.c (_cpp_builtin_macro_text): Use std.
16419         (collect_args): Flag whether to swallow a possible future
16420         comma pasted with varargs.
16421         (replace_args): Use this flag.
16422         * doc/cpp.texi: Update varargs extension documentation.
16423
16424 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16425
16426         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16427
16428 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16429
16430         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16431         and MODE_CLASS_INT modes.
16432
16433 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16434
16435         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16436         --{enable,disable}-threads is given to configure.
16437         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16438         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16439         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16440         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16441         Remove thread_file setting here.
16442
16443 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
16444
16445         * doc/install.texi (Binaries): Update Bull Freeware URL.
16446
16447 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16448
16449         * doc/gcc.texi (Top): Rename Index to Keyword Index.
16450
16451 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
16452
16453         * gcov.c (output_data): Round to % to nearest, tweak formatting.
16454
16455 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
16456
16457         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16458         of the operands into MINUS_EXPR if code is PLUS_EXPR.
16459
16460 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
16461
16462         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16463         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16464         drectve_section): Define.
16465         * config/i386/t-interix: Replace interix.o rule with winnt.o.
16466         * config/i386/interix.c: Remove.
16467
16468 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
16469
16470         * attribs.c: Don't include obstack.h.
16471         * builtins.c: Likewise.
16472         * cfganal.c: Likewise.
16473         * cfgbuild.c: Likewise.
16474         * cfgcleanup.c: Likewise.
16475         * emit-rtl.c: Likewise.
16476         * loop.c: Likewise.
16477         * stmt.c: Likewise.
16478
16479         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16480
16481 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
16482
16483         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16484
16485 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
16486
16487         * doc/invoke.texi: Remove duplicated paragraph describing
16488         TARGET_SWITCHES.
16489
16490 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
16491
16492         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16493         * collect2.h (permanent_obstack): Delete declaration.
16494         * collect2.c (permanent_obstack): Delete definition.
16495         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
16496         * expr.c: Don't include obstack.h.
16497         (permanent_obstack): Delete declaration.
16498         * function.c: Don't include obstack.h.
16499         (permanent_obstack): Delete declaration.
16500         * integrate.c: Don't include obstack.h.
16501         (function_maybepermanent_obstack): Delete declaration.
16502         * print-tree.c (debug_tree): Use x*alloc not permalloc.
16503         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16504         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16505         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16506         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
16507         of permalloc, expralloc, perm_calloc.
16508         * tree.c (permanent_obstack): Delete definition.
16509         (init_ttree): Rename from init_obstacks.
16510         (permalloc): Delete.
16511         (perm_calloc): Delete.
16512         (dump_tree_statistics): Don't print information about
16513         permanent_obstack.
16514         * varasm.c (assemble_start_function): Use xstrdup instead of
16515         permalloc/strcpy.
16516         (assemble_variable): Likewise.
16517         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16518         permalloc.
16519         (unicosmk_add_extern): Likewise.
16520         * config/c4x/c4x.c (c4x_external_ref): Likewise.
16521         (c4x_global_label): Likewise.
16522         * config/frv/frv.c (frv_encode_section_info): Likewise.
16523         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16524         (i386_pe_record_exported_symbol): Likewise.
16525         * config/mips/mips.c (mips_output_external): Likewise.
16526         (mips_output_external_libcall): Likewise.
16527         * config/pa/pa.c: (permanent_obstack): Delete declaration.
16528         (output_call): Use ggc_strdup instead of allocating on
16529         permanent_obstack.
16530         * config/romp/romp.c: Include ggc.h.
16531         (get_symref): Don't declare permanent_obstack, use ggc_strdup
16532         intead of permanent_obstack.
16533         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16534         instead of permalloc.
16535         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16536         instead of permalloc
16537         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16538         instead of permalloc.
16539         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16540         permalloc.
16541
16542 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
16543
16544         Contribute a port developed primarily by Michael Meissner,
16545         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16546         * config.gcc: Add frv-elf target.
16547         * config/frv/cmovd.c: New file.
16548         * config/frv/cmovh.c: New file.
16549         * config/frv/cmovw.c: New file.
16550         * config/frv/frv-abi.h: New file.
16551         * config/frv/frv-asm.h: New file.
16552         * config/frv/frv-modes.def: New file.
16553         * config/frv/frv-protos.h: New file.
16554         * config/frv/frv.c: New file.
16555         * config/frv/frv.h: New file.
16556         * config/frv/frv.md: New file.
16557         * config/frv/frvbegin.c: New file.
16558         * config/frv/frvend.c: New file.
16559         * config/frv/lib1funcs.asm: New file.
16560         * config/frv/media.h: New file.
16561         * config/frv/modi.c: New file.
16562         * config/frv/t-frv: New file.
16563         * config/frv/uitod.c: New file.
16564         * config/frv/uitof.c: New file.
16565         * config/frv/ulltod.c: New file.
16566         * config/frv/ulltof.c: New file.
16567         * config/frv/umodi.c: New file.
16568         * config/frv/xm-frv.h: New file.
16569
16570         * config/frv/media.h: Removed again.
16571
16572 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16573
16574         * gcov.c (bb_file_time): New static variable.
16575         (object_directory): May also be object file.
16576         (preserve_paths): New static variable.
16577         (print_usage): Adjust.
16578         (options): Adjust.
16579         (process_args): Adjust.
16580         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
16581         file. Find modification date on bb file.
16582         (read_profile): Don't rewind a NULL file.
16583         (format_hwint): New static function.
16584         (function_summary): Use format_hwint.
16585         (output_data): SOURCE_FILE_NAME is never relative to
16586         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
16587         mangling. Adjust output format to make it more machine readable.
16588         * doc/gcov.texi: Document & clarify semantics.
16589
16590 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
16591
16592         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
16593
16594 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16595
16596         * gcc.c (cc1_options): Pass output file as auxbase when
16597         appropriate.
16598         * profile.c (init_branch_prob): FILENAME has already had ending
16599         stripped.
16600         * final.c (end_final): Likewise.
16601         * toplev.c (aux_base_name): New global.
16602         (compile_file): Pass aux_base_name to init init_branch_prob and
16603         end_final.
16604         (independent_decode_option, case 'a'): New auxinfo options.
16605         (case 'd'): Protect against mising basename.
16606         (do_compile): Initialize aux_base_name.
16607         * toplev.h (aux_base_name): New global.
16608         * doc/invoke.texi: Adjust documentation.
16609
16610 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16611
16612         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
16613         of TARGET_ALIGN_DOUBLE.
16614
16615 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
16616
16617         * diagnostic.c (inform): New function.
16618         * diagnostic.h (inform): Declare.
16619
16620 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
16621
16622         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
16623         (movhi_internal): Same.
16624         (movqi_internal): Same.
16625         (movdi_internal64): Same.
16626
16627         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
16628
16629         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
16630         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
16631         (COMMON_ASM_OP): Define.
16632         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
16633         Use ALIGN parameter.
16634         (LOCAL_COMMON_ASM_OP): Define.
16635         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
16636
16637 2002-08-03  Roger Sayle  <roger@eyesopen.com>
16638
16639         * builtins.def: Define new builtin functions exp, expf, expl,
16640         log, logf and logl (and their __builtin_* variants).
16641         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
16642         Define exp_optab and log_optab.
16643         * optabs.c (init_optans): Initialize exp_optab and log_optab.
16644         * genopinit.c (optabs): Implement exp_optab and log_optab
16645         using exp?f2 and log?f2 patterns.
16646         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
16647         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
16648         (expand_builtin): Ignore the new builtins (and all cos and
16649         sin variants) when not optimizing.  Expand new builtins via
16650         expand_builtin_mathfn when flag_unsafe_math_optimizations.
16651
16652         * doc/extend.texi: Document new exp and log builtins.
16653         * doc/md.texi: Document new exp?f2 and log?f2 patterns
16654         (and previously undocumented cos?f2 and sin?f2 patterns).
16655
16656 2002-08-03  Jason Merrill  <jason@redhat.com>
16657
16658         * explow.c (int_expr_size): New fn.
16659         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
16660         * expr.h: Declare it.
16661
16662 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
16663
16664         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
16665         gengtype-* dependencies.
16666
16667 2002-08-02  Eric Christopher  <echristo@redhat.com>
16668
16669         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
16670         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
16671         #ifndef to #undef.
16672         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
16673
16674 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
16675
16676         PR optimize/7067
16677         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
16678         small if optimizing for size.
16679
16680 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
16681
16682         * configure.in (FORBUILD): Use $build_alias.
16683         * configure: Regenerated.
16684
16685 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
16686
16687         * config.gcc: Don't include mips/abi64.h in $tm_file.
16688         * hard-reg-set.h (call_really_used_regs): Declare.
16689         * config/mips/abi64.h: Remove file.
16690         * config/mips/linux.h,
16691         * config/mips/iris6.h: Don't include it.
16692         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
16693         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
16694         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
16695         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
16696         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
16697         Bring across definitions from abi64.h.
16698         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
16699         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
16700         (struct mips_args): Use it.
16701         * config/mips/mips.c (mips_conditional_register_usage): Define.
16702
16703 2002-08-02  Jason Merrill  <jason@redhat.com>
16704
16705         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
16706         * langhooks.c (lhd_expr_size): Define default.
16707         * langhooks.h (struct lang_hooks): Add expr_size.
16708         * explow.c (expr_size): Call it.
16709         * expr.c (store_expr): Don't copy an expression of size zero.
16710         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
16711         to store.
16712         * Makefile.in (builtins.o): Depend on langhooks.h.
16713
16714 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16715
16716         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
16717         * ra-debug.c: Include "tm_p.h".
16718         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
16719
16720 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
16721
16722         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
16723         when not honoring signalling NaNs.
16724         (simplify_ternary_operation): a == b has a definite value
16725         when not honoring NaNs.
16726
16727 2002-08-02  Jason Merrill  <jason@redhat.com>
16728
16729         * gdbinit.in (pct): New macro.
16730
16731 2002-08-01  Stan Shebs  <shebs@apple.com>
16732             Andreas Tobler  <toa@pop.agri.ch>
16733
16734         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
16735         plays nice with Darwin headers.
16736         (_BSD_RUNE_T_DEFINED_): Likewise.
16737
16738 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
16739
16740         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
16741         * cppinit.c (cpp_post_options): Likewise.
16742
16743         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
16744         warning about 'LL' suffix (but not 'ULL' etc) when
16745         -Wno-long-long is in effect.
16746
16747         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
16748         Check for failing time()/localtime(), issue a warning, and
16749         make __TIME__ and __DATE__ expand to fallback strings.
16750
16751         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
16752         and __TIME__ when the date and time cannot be determined.
16753
16754 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
16755
16756         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
16757
16758 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
16759
16760         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
16761
16762 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
16763
16764         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
16765         (mipsisa64sb1el-*-elf*): Likewise.
16766         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
16767         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
16768         (TARGET_SB1, TUNE_SB1): New macros.
16769         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
16770         -mtune flags.
16771
16772 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
16773
16774         * varasm.c (asm_emit_uninitialized): Return false if global BSS
16775         and ASM_EMIT_BSS not supported by target.
16776         (assemble_variable): Do not duplicate uninitialized logic.
16777         Fall through if asm_emit_uninitialized failed.
16778
16779 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
16780
16781         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
16782
16783 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
16784
16785         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
16786         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
16787
16788         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
16789         HOST_BITS_PER_WIDE_INT == 64.
16790
16791 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16792
16793         * df.c (df_insn_table_realloc): Change parameter to unsigned.
16794         * optabs.c (expand_binop): Make variable unsigned.
16795         * simplify-rtx.c (simplify_subreg): Likewise.
16796         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
16797
16798 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
16799
16800         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
16801
16802 2002-08-01  Richard Henderson  <rth@redhat.com>
16803
16804         * toplev.c (parse_options_and_default_flags): Don't set
16805         flag_reorder_blocks for -Os.
16806
16807         * config/avr/avr.c (avr_optimization_options): Remove.
16808         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
16809         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
16810         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
16811
16812 2002-08-01  H.J. Lu <hjl@gnu.org>
16813             Richard Henderson  <rth@redhat.com>
16814
16815         * output.h (DECL_READONLY_SECTION): Remove.
16816         (decl_readonly_section): Declare.
16817         * varasm.c (decl_readonly_section): New.
16818         (default_section_type_flags, default_select_section): Use it.
16819         * config/arm/pe.c (arm_pe_unique_section): Likewise.
16820         * config/i386/interix.c (i386_pe_unique_section): Likewise.
16821         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
16822         * config/mcore/mcore.c (mcore_unique_section): Likewise.
16823         * config/mips/mips.c (mips_unique_section): Likewise.
16824
16825 2002-08-01  Richard Henderson  <rth@redhat.com>
16826
16827         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
16828         refers to a subroutine parameter.
16829
16830 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
16831
16832         * varasm.c (assemble_visibility): Strip name encoding.
16833
16834 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
16835
16836         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
16837         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
16838         when there is no frame pointer.
16839         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
16840         registers properly.
16841         * config/ns32k/__unorddf2.c: New file.
16842         * config/ns32k/__unordsf2.c: New file.
16843         * config/ns32k/t-ns32k: New file.
16844         * config.gcc (ns32k-*-netbsd*): Use it.
16845
16846 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
16847
16848         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
16849
16850 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16851
16852         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
16853
16854 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
16855
16856         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
16857
16858 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
16859
16860         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
16861
16862 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
16863
16864         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
16865         n_sets): Removed.
16866         (expr_hash_table, set_hash_table): Type changed to ...
16867         (struct hash_table): New type.
16868         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
16869         insert_expr_in_table, insert_set_in_table, compute_hash_table,
16870         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
16871         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
16872         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
16873         (alloc_hash_table): New.
16874         (free_set_hash_table, free_expr_hash_table): Merged to ...
16875         (free_hash_table): New.
16876         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
16877         (compute_hash_table_work): New.
16878         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
16879         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
16880         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
16881         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
16882         hoist_code, one_code_hoisting_pass,
16883         trim_ld_motion_mems): Altered due to changed type of hash tables.
16884
16885 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
16886
16887         * final.c (output_alternate_entry_point):
16888         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
16889
16890 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16891
16892         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
16893         avoid ISO C style function definition.
16894
16895         * expr.c (expand_assignment): Delete unused variable.
16896
16897 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
16898
16899         * c-common.c (cb_register_builtins): Set
16900         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
16901         is given, and to 0 otherwise.
16902         * combine.c (simplify_if_then_else): HONOR_NANS
16903         implies FLOAT_MODE_P.
16904
16905 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16906
16907         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
16908         (cpp_handle_option): Don't handle it.
16909         (print_help): Update.
16910         * doc/cppopts.texi: Update.
16911
16912 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16913
16914         * c-common.c (cb_register_builtins): If C++, define
16915         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
16916         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
16917 cp:
16918         * lang-specs.h: Simplify in accordance with new code in
16919         c-common.c.
16920
16921 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16922
16923         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
16924         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
16925         * c-decl.c: Move all warning and flag variables to c-common.c.
16926         * c-format.c: Move all warning variables to c-common.c.
16927         * c-tree.h: Move all warning and flag declarations to c-common.h.
16928         * objc/objc-act.c: Move all warning variables to c-common.c.
16929         (flag_warn_protocol): Rename warn_protocol.
16930
16931 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16932
16933         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
16934
16935 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
16936
16937         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
16938         .section prefix.
16939
16940 2002-07-31  Stan Shebs  <shebs@apple.com>
16941
16942         * config.gcc (i[34567]86-*-darwin*): New configuration.
16943         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
16944         defining.
16945         (TARGET_ENCODE_SECTION_INFO): Ditto.
16946         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
16947         * config/darwin.c (machopic_indirect_data_reference): Remove
16948         setting of RTX_UNCHANGING_P.
16949         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
16950         not to be applied to sums.
16951         * config/i386/t-darwin: New file.
16952         * config/i386/darwin.h: New file.
16953         * config/i386/i386.h (TARGET_MACHO): Add default definition.
16954         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
16955         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
16956         label and not the GOT add.
16957         (constant_address_p): For Mach-O, seeing a CONST is enough.
16958         (legitimate_pic_address_disp_p): Add a Mach-O case.
16959         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
16960         (legitimize_pic_address): Use generic Mach-O code to legitimize.
16961         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16962         if outputting a difference.
16963         (ix86_output_addr_diff_elt): Add Mach-O case.
16964         (ix86_expand_move): Similarly.
16965         (ix86_expand_call): Similarly.
16966         (current_machopic_label_num): New global.
16967         (machopic_output_stub): New function.
16968         (ix86_value_regno): New function.
16969         (ix86_function_value): Use it instead of VALUE_REGNO.
16970         (ix86_libcall_value): Ditto.
16971         * config/i386/unix.h (VALUE_REGNO): Remove.
16972
16973 2002-07-31  Graham Stott  <grahas@btinternet.com>
16974
16975         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
16976         hash for LABEL_REF's.
16977
16978 2002-07-31  Graham Stott  <grahams@btinternet.com>
16979
16980         * config/rs6000/rs6000.c (spe_init_builtins,
16981         altivec_init_builtins, rs6000_common_init_builtins):
16982         Replace ANSI with K&R function def.
16983
16984 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
16985
16986         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
16987         for CCFPmode.
16988
16989 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
16990
16991         * config/mips/crtn.asm: Don't use __mips16 to determine the
16992         return-address offset.  Define RA to a suitable temporary
16993         register for the return address.
16994
16995 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
16996
16997         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
16998         constraints to 'd'.
16999
17000 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17001
17002         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17003         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17004         patch on 2002-07-29.)
17005         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17006
17007 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17008
17009         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17010         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17011         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17012         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17013         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17014         (ASM_GLOBALIZE_LABEL): Delete.
17015         (GLOBAL_ASM_OP): Define.
17016
17017         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17018
17019         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17020         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17021
17022 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17023
17024         * doc/extend.texi (Hints implementation): Document that GCC
17025         mostly ignores `register'.
17026
17027 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17028
17029         * flags.h: Declare flag_finite_math_only.
17030         Use it in definition of HONOR_NANS and
17031         HONOR_INFINITIES.
17032         * c-common.c (cb_register_builtins): Emit
17033         __FINITE_MATH_ONLY__ when flag_finite_math_only
17034         is set.
17035         * combine.c (simplify_if_then_else): If
17036         flag_finite_math_only is set, a == b has a
17037         definite value.
17038         * toplev.c: Initialize flag_finite_math_only.
17039         (set_flags_fast_math): Set it on -ffast-math.
17040         (flag_fast_math_set_p): Test it.
17041         * doc/invoke.texi: Document -ffinite-math-only.
17042
17043 2002-07-30  Richard Henderson  <rth@redhat.com>
17044
17045         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17046         (noce_process_if_block): Likewise.
17047
17048 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17049
17050         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17051         Bail out early if false_expr is NULL and we'd crash due to this.
17052         * genemit.c (gen_expand): Recognize return insns even if the return
17053         appears in a parallel.
17054         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17055         * config/fp-bit.c: Likewise.
17056         * doc/tm.texi: Document it.
17057
17058 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17059             Zack Weinberg  <zack@codesourcery.com>
17060
17061         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17062         CODE_FOR_nothing.  Change switch to if.
17063         (rs6000_expand_binop_builtin): Same.
17064         (rs6000_expand_builtin): Expand builtin if target support enabled.
17065         (rs6000_init_builtins): Init builtin if target support enabled.
17066         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17067
17068 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17069
17070         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17071
17072 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17073
17074         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17075
17076 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17077
17078         * sh.md (cond_delay_slot): New attribute.
17079         (cbranch delay): Use it for anulled-true case.
17080         (stuff_delay_slot): New pattern.
17081         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17082         delay slot insn.
17083         (gen_far_branch): Emit stuff_delay_slot pattern.
17084
17085 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17086
17087         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17088
17089 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17090
17091         * fold-const.c: Fix comment typos.
17092         * gcse.c: Likewise.
17093         * reload1.c: Likewise.
17094
17095 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17096
17097         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17098         for TARGET_SPE.
17099
17100 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17101
17102         * c-pretty-print.h (pp_c_statement): Declare.
17103         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17104         (pp_c_statement): Define.
17105
17106 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17107
17108         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17109         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17110         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17111         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17112         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17113         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17114
17115         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17116         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17117
17118 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17119
17120         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17121         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17122         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17123         (pp_c_expression): Update.
17124
17125 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17126
17127         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17128         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17129         * alpha/vms-ld.c (main): Likewise.
17130         * dsp16xx.c (double_reg_to_memory): Likewise.
17131         * mcore.c (mcore_expand_prolog): Likewise.
17132         * cppfiles.c (read_name_map): Likewise.
17133         * gensupport.c (process_rtx, identify_predicable_attribute,
17134         alter_test_for_insn): Likewise.
17135         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17136
17137 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17138
17139         * builtins.c (expand_builtin):  Change the default behavior to
17140         only issue an error if the builtin function doesn't have a
17141         fallback library call.  Remove several cases handled by the
17142         new default.
17143
17144 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17145
17146         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17147         floating point format of the target is IEEE.
17148         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17149         format of the target is DEC.
17150
17151 2002-07-29  Richard Henderson  <rth@redhat.com>
17152
17153         * unroll.c (verify_addresses): Remove.
17154         (find_splittable_givs): Never split DEST_ADDR givs.
17155
17156 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17157
17158         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17159         is exhaustive.
17160         (Files): Improve documentation on generated source files.
17161
17162         * doc/extend.texi (Translation implementation): Document what
17163         diagnostics look like.
17164         (Identifiers implementation): Document that there's normally no
17165         limit on identifier names.
17166         (Integers implementation): Document two's complement.
17167         (Hints implementation): Document that GCC honors 'inline', mostly.
17168         (Preprocessing directives implementation): Document that GCC
17169         requires the current time.
17170
17171 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17172
17173         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17174         (pp_initializer): New macro.
17175         (pp_c_initializer): Declare.
17176         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17177         (pp_c_initializer): Define.
17178         (pp_c_initializer_list): New function.
17179         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17180         VECTOR_CST, CONSTRUCTOR.
17181         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17182         IMAGPART_EXPR.
17183         (pp_c_cast_expression): Handle FLOAT_EXPR.
17184         (pp_c_assignment_expression): Handle INIT_EXPR.
17185         (pp_c_expression): Update.
17186
17187 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17188
17189         * objc/objc-act.c (objc_init): Return immediately if filename
17190         is NULL.
17191
17192 2002-07-29  Eric Christopher  <echristo@redhat.com>
17193
17194         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17195         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17196         (SDB_DEBUGGING_INFO): Undefine.
17197         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17198         (PUT_SDB_SIZE): Remove.
17199         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17200         (STARTFILE_SPEC): Add isa3264 define.
17201         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17202         * config/mips/ecoff.h: Remove. and here...
17203         * config/mips/iris3.h: and here...
17204         * config/mips/sni-svr4.h: and here...
17205         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17206         Add assembler -mmdebug options for non-dwarf debugging.
17207         * config/mips/r3900.h: Remove debug info defines.
17208         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17209         * config/mips/isa3264.h: Ditto.
17210         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17211         change.
17212         * config/mips/t-elf: Ditto.
17213         * config/mips/t-ecoff: Ditto.
17214         * config/mips/t-r3900: Ditto.
17215         * config/mips/t-iris5-6: Ditto.
17216         * config/mips/t-isa3264: Ditto.
17217         * config/mips/t-linux: Remove.
17218         * config/mips/t-netbsd: Remove.
17219         * config/mips/t-mips: New file.
17220         * config/mips/t-gofast: Ditto.
17221         * config/mips/netbsd.h: Remove unnecessary undefines.
17222         * config/mips/linux.h: Remove #include of mips.h.
17223         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17224         for ecoff. Add gofast configure option for mips.
17225
17226 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17227
17228         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17229         linker scripts use STARTUP directives consistently.
17230         * configure: Regenerate.
17231         * config.in: Regenerate.
17232         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17233         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17234         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17235         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17236         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17237         will be the same.
17238
17239 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17240
17241         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17242
17243 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17244
17245         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17246
17247 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
17248
17249         * config/rs6000/rs6000.md: Move altivec patterns from here...
17250
17251         * config/rs6000/altivec.md: ...to here.
17252
17253 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17254
17255         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17256
17257 2002-07-29  Richard Henderson  <rth@redhat.com>
17258
17259         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17260         set_mem_attributes and add BITPOS argument.  Subtract it from
17261         OFFSET when same is adjusted.
17262         (set_mem_attributes): New wrapper function.
17263         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17264         remove offset adjustment hack.
17265         * expr.h (set_mem_attributes_minus_bitpos): Declare.
17266
17267 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17268
17269         * Makefile.in (C_OBJS): Include c-pretty-print.o
17270         (c-pretty-print.o): Add depency rule.
17271         * pretty-print.h: Add more macros.
17272         * c-pretty-print.c: New file.
17273         * c-pretty-print.h: Likewise.
17274
17275 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17276
17277         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17278         constants to __ev64_s32__.
17279         (__internal_ev_mwhgsmian): Same.
17280         (__internal_ev_mwhgsmfan): Same.
17281         (__internal_ev_mwhgssfan): Same.
17282         (__internal_ev_mwhgumiaa): Same.
17283         (__internal_ev_mwhgsmiaa): Same.
17284         (__internal_ev_mwhgsmfaa): Same.
17285         (__internal_ev_mwhgssfaa): Same.
17286
17287 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
17288
17289         * varasm.c (assemble_variable): Narrow test for uninitialized
17290         without BSS target support.
17291
17292 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
17293
17294         * profile.c: Add file comment describing the overall algorithm and
17295         structures.
17296         (struct edge_info): Add comments.
17297         (struct bb_info): Add comments.
17298         * basic-block.h (EDGE_*): Add comments.
17299         * doc/gcov.texi (Gcov Data Files): Document bit flags.
17300
17301 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
17302
17303         * config/xtensa/elf.h, config/xtensa/linux.h
17304         (TARGET_OS_CPP_BUILTINS): Define.
17305         (CPP_PREDEFINES): Remove.
17306         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17307         (CPP_SPEC): Remove.
17308
17309 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
17310
17311         * gensupport.c: Include hashtab.h.
17312         (insn_elision, condition_table, hash_c_test, cmp_c_test,
17313         maybe_eval_c_test): New routines and data structures to
17314         support insn elision.
17315         (init_md_reader): Read and initialize the condition_table.
17316         (read_md_rtx): Discard insn patterns whose C test is provably
17317         always false.
17318         * gensupport.h: Declare new functions and data structures.
17319
17320         * genconditions.c, dummy-conditions.c: New files.
17321         * Makefile.in: Build genconditions; run it to construct
17322         insn-conditions.c; build that and link it into most gen*
17323         programs.
17324         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17325         (GEN): Delete, unused.
17326         (STAGESTUFF): Update.
17327
17328         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17329         CODE_FOR_nothing for all elided patterns.
17330         (main): Tweaked to support this.
17331         * genflags.c (gen_proto): Emit a static inline generator
17332         function here for all elided patterns, which simply returns
17333         NULL_RTX.
17334         (gen_insn): Do not define HAVE_xxx for elided patterns.
17335         (main): Tweaked to support this.  No need to forward-declare
17336         struct rtx_def.
17337         * genrecog.c: Do not bother emitting the C test if it's known
17338         to be true at compile time.
17339
17340 2002-07-29  Mike Stump  <mrs@apple.com>
17341
17342         * config.gcc (target_gtfiles): Initialize, as otherwise cross
17343         compilers hosted on powerpc-apple-darwin6.0 won't even build.
17344
17345 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
17346
17347         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17348         remove clobber of LR.
17349         (sibcall_insn, sibcall_value_insn): Update accordingly.
17350         (sibcall_epilogue): Remove debugging comment from assembler stream.
17351
17352 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17353
17354         * pretty-print.h: Define more macros.
17355         * diagnostic.h (output_formatted_integer): Moved from...
17356         * diagnostic.c: ... here.
17357
17358 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17359
17360         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17361
17362 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
17363
17364         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17365         arguments.  Always use ".-symbol" as expression argument.
17366         * doc/tm.texi: Update to match.  Document requirement for
17367         ".size symbol, .-symbol" to be acceptable to assembler.
17368
17369         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17370         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17371         config/i386/freebsd-aout.h, config/i386/sco5.h,
17372         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17373         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
17374
17375 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17376
17377         * Makefile.in (gengtype-lex.c): Fix error in last change.
17378
17379         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17380         backslash.
17381
17382         * Makefile.in (vmsdbgout.o): Depend on function.h.
17383
17384         * vmsdbgout.c: Include function.h.
17385
17386 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
17387
17388         * prefix.c (update_path): Don't strip single `.' path components
17389         unless stripping a later `..' component.  Exit loop as soon as
17390         a valid path is found.
17391
17392 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17393
17394         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17395         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17396         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17397         floating point unordered comparisons (e.g. __builtin_isgreater)
17398         as const, and leave the remaining GCC_BUILTINs unchanged.
17399
17400         * c-decl.c (builtin_function): No need to explicitly mark
17401         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17402
17403 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17404
17405         * Makefile.in: rtlanal.o now depends upon real.h.
17406
17407         * flags.h [flag_signaling_nans]: New flag.
17408         [HONOR_SNANS]: New macro.
17409
17410         * toplev.c [flag_signaling_nans]: Initialize to false.
17411         (f_options): Add processing for "-fsignaling-nans".
17412         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17413         (process_options): flag_signaling_nans implies flag_trapping_math.
17414
17415         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17416         when -fsignaling-nans.  First step to implementing WG14's N965.
17417
17418         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17419         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17420         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17421
17422         * simplify-rtx.c (simplify_relational_operation): Conditionalize
17423         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17424
17425         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17426         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
17427         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17428         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
17429         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17430
17431         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17432
17433 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17434
17435         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17436         * gengtype-lex.l (YY_USE_PROTOS): Undef.
17437         (YY_DECL): Define.
17438
17439 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17440
17441         * doc/invoke.texi: Document that both -fno-builtin-foo and
17442         -fno-builtin are supported by the g++ front-end.
17443
17444 2002-07-27  Stan Shebs  <shebs@apple.com>
17445
17446         * configure.in: Rename config_gtfiles to target_gtfiles.
17447         * configure: Regenerate.
17448         * doc/gty.texi: Update reference.
17449         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17450         instead of appending to it.
17451
17452 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
17453
17454         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17455         vectors are split into two registers.
17456         (function_arg): Same.
17457
17458 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
17459
17460         * pa.md (extv): Check predicates before emitting extv_32.
17461
17462 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
17463
17464         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17465         (rs6000_traceback): New var.
17466         (rs6000_override_options): Set rs6000_traceback.
17467         (rs6000_output_function_epilogue): Implement traceback options.
17468         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17469         (rs6000_traceback_name): Declare.
17470
17471         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17472         label reference when NO_PROFILE_COUNTERS.
17473
17474 2002-07-26  Jason Merrill  <jason@redhat.com>
17475
17476         * function.c (assign_parms): Handle frontend-directed pass by
17477         invisible reference.
17478
17479 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17480
17481         * doc/cppopts.texi: Update.
17482
17483 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17484
17485         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17486         warnings on assertions.
17487
17488 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17489
17490         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17491         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17492         RID_COMPL): Remove.
17493         * c-parse.in (rid_to_yy): Similarly.
17494
17495 2002-07-26  Jason Merrill  <jason@redhat.com>
17496
17497         * c-dump.c: Resurrect.
17498         * tree-dump.c: Move C-specific stuff to c-dump.c.
17499         * c-common.h: Declare c_dump_tree.
17500         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17501         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17502         (c-dump.o): New rule.
17503
17504 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
17505
17506         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17507         PowerPC64.  Replace "T" and "S" constraints with "n" when the
17508         predicate will do.  Formatting fixes.
17509         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17510         as for extzvsi_internal1.
17511
17512 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17513
17514         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17515         DERIV_END_LABEL_FMT): Remove.
17516         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17517
17518 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17519
17520         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17521         Remove.
17522
17523 2002-07-25  Stan Shebs  <shebs@apple.com>
17524
17525         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17526         local var dwarfp.
17527         (output_compiler_stub): Remove unused locals.
17528         (output_call): Always initialize line number.
17529
17530 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17531
17532         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17533         * sh.md (truncdiqi2, movqi_media): Likewise.
17534
17535 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17536
17537         * gcse.c (obstack_chunk_alloc): Remove.
17538         (gcse_alloc): Fix to count allocated bytes.
17539         * collect2.c (SYMBOL__MAIN): Remove.
17540
17541 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17542
17543         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17544         HAVE_TARGET_EXECUTABLE_SUFFIX.
17545
17546 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17547
17548         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17549         SIZE, EXPR and OFFSET.
17550
17551 2002-07-25  Richard Henderson  <rth@redhat.com>
17552
17553         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17554         in ARRAY_REF of DECL_P case.
17555
17556 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
17557
17558         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17559         description.  Document -mips32, -mips64, and the associated -march
17560         values.  Describe the "mipsN" arguments to -march.  Say that the
17561         -mipsN options are equivalent to -march.  Reword the description
17562         of default type sizes.
17563         * toplev.h (target_flags_explicit): Declare.
17564         * toplev.c (target_flags_explicit): New var.
17565         (set_target_switch): Update target_flags_explicit.
17566         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
17567         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
17568         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
17569         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
17570         * config/mips/mips.h (mips_cpu_info): New struct.
17571         (mips_cpu_string, mips_explicit_type_size_string): Remove.
17572         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
17573         (MIPS_CPP_SET_PROCESSOR): New macro.
17574         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
17575         Define _MIPS_ARCH and _MIPS_TUNE.
17576         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
17577         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
17578         MIPS_ISA_DEFAULT were already defined.
17579         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
17580         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
17581         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
17582         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
17583         (ABI_GAS_ASM_SPEC): Remove.
17584         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
17585         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
17586         Invoke %(asm_abi_default_spec) if no ABI was specified.
17587         (CC1_SPEC): Remove ISA -> register-size rules.
17588         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
17589         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
17590         (mips_cpu_string, mips_explicit_type_size_string): Remove.
17591         (mips_cpu_info_table): New array.
17592         (mips_set_architecture, mips_set_tune): New fns.
17593         (override_options): Rework to make -mipsN equivalent to -march.
17594         Detect more erroneous cases, including those removed from CC1_SPEC.
17595         Don't change the ABI based on architecture, or vice versa.
17596         Unify logic with GAS.
17597         (mips_asm_file_start): Get architecture name from mips_arch_info.
17598         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
17599         (mips_parse_cpu): Take the name of the option as argument.  Handle
17600         'from-abi'.  Raise an error if the option is wrong.
17601         (mips_cpu_info_from_isa): New fn.
17602
17603 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
17604
17605         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
17606         (tablejump_mips162): Likewise.
17607
17608 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
17609
17610         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
17611         int_mode_for_mode.
17612
17613 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
17614
17615         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
17616         complaining.
17617         * c-common.h (c_sizeof): Adjust definition.
17618         (c_alignof): Likewise.
17619         * c-tree.h (c_sizeof_nowarn): Now macro.
17620         * c-typeck.c (c_sizeof_nowarn): Remove definition.
17621
17622 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17623
17624         * c-decl.c (c_decode_option): No need to handle switches
17625         cpplib handles.
17626
17627 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
17628
17629         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
17630         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
17631         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
17632         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17633
17634         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17635         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
17636         config/cris/aout.h, config/i386/freebsd-aout.h,
17637         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
17638         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
17639         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
17640         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
17641         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
17642         config/xtensa/elf.h, config/xtensa/linux.h:
17643         Use the new macros.
17644         Where possible, remove redundant definitions of SIZE_ASM_OP,
17645         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17646
17647 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
17648
17649         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
17650         TARGET_ISEL, and TARGET_FPRS.
17651
17652         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
17653         -mabi=spe, -mabi=no-spe, and -misel=.
17654
17655         * config/rs6000/rs6000-protos.h: Add output_isel.
17656         Move vrsave_operation prototype here.
17657
17658         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
17659         (smaxsi3): Same.
17660         (uminsi3): Same.
17661         (umaxsi3): Same.
17662         (abssi2_nopower): Disallow when TARGET_ISEL.
17663         (*ne0): Same.
17664         (negsf2): Change to expand and rename old pattern to *negsf2.
17665         (abssf2): Change to expand and rename old pattern to *abssf2.
17666
17667         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
17668         fixunssfsi2.
17669
17670         Change patterns that check for TARGET_HARD_FLOAT or
17671         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
17672
17673         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
17674         rs6000_isel, rs6000_fprs, rs6000_isel_string.
17675         (rs6000_override_options): Add 8540 case to
17676         processor_target_table.
17677         Set rs6000_isel for the 8540.
17678         Call rs6000_parse_isel_option.
17679         (enable_mask_for_builtins): New.
17680         (rs6000_parse_isel_option): New.
17681         (rs6000_parse_abi_options): Add spe and no-spe.
17682         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
17683         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
17684         for TARGET_HARD_FLOAT.
17685         Add case for SPE_VECTOR_MODE.
17686         (rs6000_legitimize_reload_address): Handle SPE vector modes.
17687         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
17688         vector modes.
17689         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
17690         (rs6000_emit_move): Check for TARGET_FPRS.
17691         Add cases for SPE vector modes.
17692         (function_arg_boundary): Return 64 for SPE vector modes.
17693         (function_arg_advance): Check for TARGET_FPRS and
17694         Handle SPE vectors.
17695         (function_arg): Same.
17696         (setup_incoming_varargs): Check for TARGET_FPRS.
17697         (rs6000_va_arg): Same.
17698         (struct builtin_description): Un-constify mask field.  Move up in
17699         file.
17700         (bdesc_2arg): Un-constify and add SPE builtins.
17701         (bdesc_1arg): Same.
17702         (bdesc_spe_predicates): New.
17703         (bdesc_spe_evsel): New.
17704         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
17705         (rs6000_expand_binop_builtin): Same.
17706         (bdesc_2arg_spe): New.
17707         (spe_expand_builtin): New.
17708         (spe_expand_predicate_builtin): New.
17709         (spe_expand_evsel_builtin): New.
17710         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
17711         (rs6000_init_builtins): Initialize SPE builtins.  Call
17712         rs6000_common_init_builtins.
17713         (altivec_init_builtins): Move all non-altivec builtin code to...
17714         (rs6000_common_init_builtins): ...here.  New function.
17715         (branch_positive_comparison_operator): Allow NE code for SPE.
17716         (ccr_bit): Return correct ccr bit for SPE fp.
17717         (print_operand): Emit crnor in 'D' case for SPE.
17718         New case 't'.
17719         Add SPE code for 'y' case.
17720         (rs6000_generate_compare): Generate rtl for SPE fp.
17721         (output_cbranch): Handle SPE hard floats.
17722         (rs6000_emit_cmove): Handle isel.
17723         (rs6000_emit_int_cmove): New.
17724         (output_isel): New.
17725         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
17726         64-bits for SPE.
17727         (debug_stack_info): Add SPE info.
17728         (gen_frame_mem_offset): New.
17729         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
17730         Change mode of frame pointer, when saving it, to Pmode.
17731         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
17732         Misc cleanups and use gen_frame_mem_offset when appropriate.
17733
17734         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
17735         (TARGET_SPE_ABI): New.
17736         (TARGET_SPE): New.
17737         (TARGET_ISEL): New.
17738         (TARGET_FPRS): New.
17739         (FIXED_SCRATCH): New.
17740         (RTX_COSTS): Add PROCESSOR_PPC8540.
17741         (ASM_CPU_SPEC): Add case for 8540.
17742         (TARGET_OPTIONS): Add isel= case.
17743         (rs6000_spe_abi): New.
17744         (rs6000_isel): New.
17745         (rs6000_fprs): New.
17746         (rs6000_isel_string): New.
17747         (UNITS_PER_SPE_WORD): New.
17748         (LOCAL_ALIGNMENT): Adjust for SPE.
17749         (HARD_REGNO_MODE_OK): Same.
17750         (DATA_ALIGNMENT): Same.
17751         (MEMBER_TYPE_FORCES_BLK): New.
17752         (FIRST_PSEUDO_REGISTER): Set to 113.
17753         (FIXED_REGISTERS): Add SPE registers.
17754         (reg_class): Same.
17755         (REG_CLASS_NAMES): Same.
17756         (REG_CLASS_CONTENTS): Same.
17757         (REGNO_REG_CLASS): Same.
17758         (REGISTER_NAMES): Same.
17759         (DEBUG_REGISTER_NAMES): Same.
17760         (ADDITIONAL_REGISTER_NAMES): Same.
17761         (CALL_USED_REGISTERS): Same.
17762         (CALL_REALLY_USED_REGISTERS): Same.
17763         (SPE_ACC_REGNO): New.
17764         (SPEFSCR_REGNO): New.
17765         (SPE_SIMD_REGNO_P): New.
17766         (HARD_REGNO_NREGS): Adjust for SPE.
17767         (VECTOR_MODE_SUPPORTED_P): Same.
17768         (REGNO_REG_CLASS): Same.
17769         (FUNCTION_VALUE): Same.
17770         (LIBCALL_VALUE): Same.
17771         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
17772         (SPE_VECTOR_MODE): New.
17773         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
17774         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
17775         (rs6000_stack): Add spe_gp_size, spe_padding_size,
17776         spe_gp_save_offset.
17777         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
17778         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
17779         (SPE_CONST_OFFSET_OK): New.
17780         (rs6000_builtins): Add SPE builtins.
17781
17782         * testsuite/gcc.dg/ppc-spe.c: New.
17783
17784         * config/rs6000/eabispe.h: New.
17785
17786         * config/rs6000/spe.h: New.
17787
17788         * config/rs600/spe.md: New.
17789
17790         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17791         __SIMD__ for TARGET_SPE.
17792
17793         * config.gcc: Add powerpc-*-eabispe* case.
17794         Add spe.h to user headers for powerpc.
17795
17796 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
17797
17798         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
17799         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17800         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
17801
17802 2002-07-24  Richard Henderson  <rth@redhat.com>
17803
17804         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
17805         form when not optimizing.
17806
17807 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
17808
17809         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
17810         thread_pointer_rtx as unchanging.
17811
17812 2002-07-24  Michael Matz  <matz@suse.de>
17813
17814         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
17815         (free_reg): Use it.
17816
17817 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
17818
17819         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
17820         pattern.
17821         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
17822         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17823
17824 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
17825
17826         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
17827         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17828         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
17829
17830 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
17831
17832         * toplev.c (rest_of_compilation): Dump loops before clobbering
17833         the structure.
17834
17835 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
17836
17837         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
17838
17839 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
17840
17841         PR optimization/7291
17842         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
17843         problem on x86_64.
17844
17845 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
17846
17847         * pretty-print.h: Add macros from cp/error.c
17848
17849 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
17850
17851         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
17852         (mask64_2_operand): Declare.
17853         (build_mask64_2_operands): Declare.
17854         (and64_2_operand): Declare.
17855         (extract_MB): Declare.
17856         (extract_ME): Declare.
17857         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
17858         CONST_DOUBLE code.
17859         (mask_operand_wrap): New insn predicate.
17860         (mask64_2_operand): Likewise.
17861         (and64_2_operand): Likewise.
17862         (build_mask64_2_operands): New function.
17863         (extract_MB): New function.
17864         (extract_ME): New function.
17865         (print_operand <case m,M>): Use extract_MB and extract_ME.
17866         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
17867         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
17868         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
17869         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
17870         * config/rs6000/rs6000.md (andsi3_internal3): New
17871         (andsi3_internal3+1): Enable split for powerpc64.
17872         (andsi3_internal3+2): New split.
17873         (andsi3_internal4): Renamed old andsi3_internal3.
17874         (andsi3_internal5): New.
17875         (andsi3_internal5+1): Enable split for powerpc64.
17876         (andsi3_internal5+2): New split.
17877         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
17878         (anddi3): Handle 't' constraint.
17879         (anddi3+1): New split.
17880         (anddi3_internal2): Handle 't' constraint.
17881         (anddi3_internal2+1): New split.
17882         (anddi3_internal3): Handle 't' constraint.
17883         (anddi3_internal3+1): New split.
17884
17885 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
17886
17887         * config/rs6000/rs6000.md: Remove scratch reg on insns using
17888         addze and similar (plus (comparison r1 r2) r3) insns.  Add
17889         missing scratch reg in one case.  Formatting fixes.
17890
17891 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
17892
17893         * cppexp.c (parse_defined): Mark macro used.
17894         * cpphash.h (struct cpp_macro): New member "used".
17895         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
17896         (struct cpp_reader): New member.
17897         * cppinit.c (cpp_finish_options): Set first_unused_line.
17898         (cpp_finish): Warn of unused macros if requested.
17899         (OPT_TABLE): New switches.
17900         (cpp_handle_option): Handle them.
17901         * cpplib.c (do_undef): Warn if macro unused.
17902         (do_ifdef, do_ifndef): Mark macro used.
17903         * cpplib.h (struct cpp_options): New member.
17904         * cppmacro.c (_cpp_warn_if_unused_macro): New.
17905         (enter_macro_context): Mark macro used.
17906         (_cpp_create_definition): Mark macro unused; warn if unused
17907         when redefined.
17908         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
17909         Mark macros used.
17910         * doc/cppopts.texi: Update.
17911
17912 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17913
17914         * dwarf2out.c (SECTION_ASM_OP,
17915         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17916         * system.h (SECTION_ASM_OP): Poison.
17917         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
17918         * config/alpha/alpha-interix.h, config/mips/linux.h
17919         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17920         * config/mmix/mmix-protos.h, config/mmix/mmix.c
17921         (mmix_asm_output_define_label_difference_symbol): Remove.
17922         * config/mmix/mmix.h
17923         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17924         * doc/tm.texi: Remove documentation.
17925
17926 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
17927
17928         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
17929         (constrain_operands): Likewise.
17930         * regclass.c (record_reg_classes): Likewise.
17931         * reload.c (find_reloads): Likewise.
17932         * doc/md.texi: Likewise.
17933
17934         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
17935         * simplify-rtx.c (simplify_subreg): When converting to a non-int
17936         mode, try to convert to an integer mode of matching size first.
17937
17938         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
17939         from individual subregs, check that each subreg has been generated
17940         sucessfully.
17941
17942 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17943
17944         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
17945         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
17946         FOR_EACH_BB_IN_SBITMAP): Remove.
17947         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
17948         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
17949         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
17950         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
17951         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
17952         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
17953
17954 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17955
17956         * pretty-print.h: New file.
17957
17958 2002-07-23      Paul Koning     <pkoning@equallogic.com>
17959
17960         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
17961         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17962         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17963         (TARGET_G_FLOAT): Default to 0 if not defined.
17964         (ieeetoe): New, common routine to convert target format floats
17965         to internal form.
17966         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17967         vs. others.
17968         (e113toe): Change to use ieeetoe.
17969
17970 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17971
17972         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17973         IBM.
17974         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17975         (e64toe): Remove special cases for DEC and IBM. Remove support for
17976         ARM_EXTENDED_IEEE_FORMAT.
17977         (e24toe): Remove special cases for DEC.
17978         (significand_size): Simplify. Indent.
17979         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17980         (etoieee, toieee): New.
17981         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17982         etoieee and toieee for IEEE arithmetic.
17983
17984 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17985
17986         * doc/extend.texi: Say ISO C90, not ISO C89.
17987         * doc/invoke.texi: Likewise.
17988         * doc/standards.texi: Likewise.
17989
17990 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
17991
17992         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
17993         Fix permutation of conversion and plus/mult.
17994         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
17995         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
17996         (expand_builtin_strncpy) Ditto.
17997         (expand_builtin_memset) Ditto.
17998
17999 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18000
18001         Fix PR/7363:
18002         * c-common.c (c_sizeof_or_alignof_type): New function.
18003         (c_alignof): Remove definition.
18004         * c-common.h (c_sizeof, c_alignof): Define as macros.
18005         (c_sizeof_or_alignof_type): Declare.
18006         (my_friendly_assert): Moved from cp/cp-tree.h
18007         * c-typeck.c (c_sizeof): Remove definition.
18008
18009 2002-07-23  Jan Hubicka  <jh@suse.cz>
18010
18011         * gcse.c (try_replace_reg): Use num_changes_pending.
18012         * recog.c (num_changes_pending): New function.
18013         (validate_replace_src): Use validate_repalce_src_group.
18014         (validate_replace_src_group): New.
18015         * recog.h (validate_repalce_src_group): New.
18016         (num_changes_pending): Likewise.
18017
18018 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18019
18020         * calls.c (emit_library_call_value_1): If
18021         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18022         libcall, const call nor pure call.
18023
18024 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18025
18026         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18027
18028 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18029
18030         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18031
18032 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18033
18034         * config/i386/i386.c (AT_BP): Remove.
18035
18036 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18037
18038         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18039         Default definition.
18040         * gcse.c: Don't define obstack_chunk_free.
18041         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18042         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18043         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18044         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18045         Don't define obstack macros.
18046
18047 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18048
18049         PR target/6744
18050         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18051         ASM_OPERANDS instructions.
18052
18053 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18054
18055         PR target/7361
18056         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18057         constant addresses only on 68HC12.
18058
18059 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18060
18061         * cppfiles.c (stack_include_file): Correct test of whether
18062         a dependency should be output.
18063
18064 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18065
18066         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18067
18068 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18069
18070         * arm.md (movqi): If optimizing and we can create pseudos, use
18071         a ZERO_EXTEND to load from memory, then copy the result into the
18072         target.
18073         (movhi): Likewise, but only for ARMv4.
18074
18075 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18076
18077         * ssa-ccp.c (PHI_PARMS): Remove.
18078
18079 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18080
18081         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18082         on big-endian targets.
18083
18084 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18085
18086         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18087         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18088         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18089         New formatting macros.
18090
18091         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18092
18093 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18094
18095         * rtlanal.c (subreg_regno_offset): Return correct offset for
18096         big endian paradoxical subregs.
18097
18098         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18099         if we got the wrong mode.
18100
18101         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18102         * genrecog.c (write_switch, write_cond): Use it.
18103         * genemit.c (gen_exp): Likewise.
18104
18105 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18106
18107         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18108
18109 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18110
18111         * c-decl.c (build_compound_literal): Defer compound literal decls
18112         until until file end to emit them only if they are actually used.
18113
18114 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18115
18116         * ra-build.c (check_conflict_numbers): Hide unused function.
18117         (livethrough_conflicts_bb): Avoid automatic aggregate
18118         initialization.
18119         (parts_to_webs_1): Avoid `U' integer constant modifier.
18120         (conflicts_between_webs): Wrap a variable in the macro controlling
18121         its usage.
18122         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18123         (dump_igraph, dump_graph_cost): Avoid string concatenation
18124         (dump_static_insn_cost): Avoid automatic aggregate
18125         initialization.
18126         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18127         initialization.
18128         (dump_cost): Avoid string concatenation
18129
18130 2002-07-21  Richard Henderson  <rth@redhat.com>
18131
18132         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18133         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18134
18135 2002-07-21  Richard Henderson  <rth@redhat.com>
18136
18137         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18138         that are not unrolled completely.
18139
18140 2002-07-21  Richard Henderson  <rth@redhat.com>
18141
18142         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18143         * loop.c (strength_reduce): Update.
18144         * toplev.c (rest_of_compilation): Do unrolling in the first
18145         loop pass, not the second.
18146
18147 2002-07-21  Richard Henderson  <rth@redhat.com>
18148
18149         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18150         when flag_argument_noalias == 2.
18151         * alias.c (nonoverlapping_memrefs_p): Handle that.
18152         * print-rtl.c (print_mem_expr): Likewise.
18153
18154 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18155
18156         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18157         instead of __negdi2 directly.
18158
18159 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18160
18161         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18162         * function.c (SYMBOL__MAIN): Remove definition.
18163         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18164         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18165         * profile.c (GCOV_INDEX_TO_BB): Remove.
18166         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18167         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18168
18169 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18170
18171         * c-lex.c (GET_ENVIRONMENT): Remove.
18172         * collect2.c (GET_ENV_PATH_LIST): Remove.
18173         (prefix_from_env): Use GET_ENVIRONMENT.
18174         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18175         (init_standard_includes): Use GET_ENVIRONMENT.
18176         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18177         * gcc.c (GET_ENV_PATH_LIST): Remove.
18178         (make_relative_prefix, process_command): Update.
18179         * protoize.c (GET_ENV_PATH_LIST): Remove.
18180         (do_processing): Update.
18181
18182 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18183
18184         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18185         (grokdeclarator): Likewise.
18186         * c-format.c (C_STD_NAME): Likewise.
18187         * c-lex.c (interpret_integer): Likewise.
18188         * c-typeck.c (build_array_ref): Likewise.
18189         * cpplex.c (_cpp_lex_direct): Likewise.
18190         * toplev.c (documented_lang_options): Likewise.
18191
18192 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18193
18194         * c-format.c (T99_I, T99_UI): Remove.
18195
18196 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18197
18198         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18199
18200 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18201
18202         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18203         do_local_cprop.
18204
18205 2002-07-21  Andreas Jaeger  <aj@suse.de>
18206
18207         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18208
18209 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18210
18211         Improvements for the ifcvt pass from Michael Meissner, with patches
18212         by Richard Sandiford <rsandifo@redhat.com>
18213         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18214         * ifcvt.c (cond_exec_changed_p): New static variable.
18215         (last_active_insn): New function, renamed from last_active_insn_p
18216         and changed to return the last active insn in a basic block. All
18217         callers updated.
18218         (block_fallthru): New function.
18219         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18220         IFCVT_MODIFY_INSN.  All callers updated.
18221         Return false if START or END are NULL.
18222         Handle case where we're processing an insn that is already
18223         conditional.
18224
18225         (noce_process_if_block): CE_INFO argument rather than
18226         multiple args containing the involved basic blocks.  All callers
18227         changed.
18228         (process_if_block, merge_if_block, find_if_block,
18229         cond_exec_process_if_block): Likewise.
18230
18231         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
18232         changed.
18233         Use new function last_active_insn to simplify some code.
18234         New code to handle multiple tests.
18235         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18236         cond_exec_changed_p to TRUE.
18237
18238         (process_if_block): New code to handle multiple tests.
18239         (merge_if_block): Likewise.
18240         (find_if_header): New arg PASS.  Changed to return the currently
18241         processed basic block or NULL instead of true/false. All callers
18242         changed.
18243         Call IFCVT_INIT_EXTRA_FIELDS.
18244         (block_jumps_and_fallthru_p): New function.
18245         (find_if_block): Discover opportunities to convert multiple tests.
18246         Add additional debugging output.
18247         Update the ce_info structure before returning.
18248
18249         (if_convert): Run multiple passes of if-conversion.
18250         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18251         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18252         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18253         these macros.
18254
18255 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
18256
18257         * gcse.c: Include cselib.h
18258         (constptop_register): Break out from ...
18259         (cprop_insn): ... here; kill basic_block argument.
18260         (do_local_cprop, local_cprop_pass): New functions.
18261         (one_cprop_pass): Call local_cprop_pass.
18262
18263 2002-07-20  Roger Sayle  <roger@eyesopen.com>
18264
18265         * simplify-rtx.c (simplify_relational_operation): Optimize
18266         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18267
18268 2002-07-20  Michae Matz  <matz@suse.de>
18269
18270         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18271
18272 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
18273
18274         * cppexp.c (struct op): Add token pointer.
18275         (check_promotion, CHECK_PROMOTION): New.
18276         (optab): Update.
18277         (_cpp_parse_expr): Update, use token pointer of struct op.
18278         (reduce): Warn about change of sign owing to promotion.
18279         * cppinit.c (cpp_handle_option): New warning if -Wall.
18280         * cpplib.h (struct cpp_options): New member.
18281
18282 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
18283
18284         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18285         fpu list.  Separate Power4 compare and delayed_compare.  Correct
18286         Power4 fpcompare.
18287         (fix_truncdfsi2_internal): Restore FPR preference.
18288         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18289         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
18290
18291 2002-07-19  Momchil Velikov <velco@fadata.bg>
18292
18293         * reload1.c (reload_as_needed): Duplicate oldpat.
18294
18295 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
18296
18297         PR optimization/7130
18298         * loop.h (struct loop_info): Add "preconditioned".
18299         * unroll.c (unroll_loop): Set it.
18300         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18301
18302 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
18303
18304         * rtl.def (CODE_LABEL): Remove slot 8.
18305         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18306         (LABEL_ALTERNATE_NAME): Delete.
18307         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18308         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18309
18310         * final.c (output_alternate_entry_point): New.
18311         (final_scan_insn): Use it instead of
18312         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
18313         of a case label being an alternate entry point.
18314
18315         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18316         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18317         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18318         (field deleted).
18319         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18320
18321         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18322         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18323         * doc/tm.texi: Delete documentation of
18324         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18325
18326 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18327
18328         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18329         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18330         (LINK_SPEC): Define.
18331         (STARTFILE_SPEC): Define.
18332         (ENDFILE_SPEC): Define.
18333
18334         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18335         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18336
18337         * config/mips/iris6-o32-gas.h: New file.
18338         * config.gcc (mips-sgi-irix6*o32): Use it.
18339
18340         * config/mips/t-iris5-gas: New file.
18341         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18342
18343 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
18344
18345         * cppexp.c (ALWAYS_EVAL): Remove.
18346         (optab, reduce): Always evaluate.
18347         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18348         only if not skipping evaluation.
18349
18350 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18351
18352         * config/avr/avr.c (debug_hard_reg_set): Remove.
18353
18354 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
18355
18356         * gcc.c (cpp_options): Include "%1" (cc1_spec).
18357
18358 2002-07-19  Richard Henderson  <rth@redhat.com>
18359
18360         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18361
18362 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
18363
18364         * prefix.c (update_path): Don't zap single `.' path components
18365         unless followed by another `.' and fix typo last patch.
18366
18367 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
18368
18369         * cppexp.c (cpp_num_mul): Remove unused parameter.
18370         (UNARY, BINARY, OTHER, binary_handler): Remove.
18371         (ALWAYS_EVAL): New.
18372         (optab): Update.
18373         (reduce): Refactor to a large switch, don't use a function
18374         pointer.
18375
18376 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
18377
18378         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18379
18380 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
18381
18382         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18383         (sh_expand_binop_v2sf): Likewise.
18384         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18385         (int_gpr_dest, trunc_hi_operand): New functions.
18386         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18387         trunc_hi_operand.
18388         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18389         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18390         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18391         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18392         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18393         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18394         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18395         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18396         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18397         (movsf_ie+1): Likewise.
18398         (loaddi_trunc): Use int_gpr_dest predicate.
18399         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18400         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18401         (casesi_worker_0+[12], casesi_worker): Likewise.
18402         (shcompact_preserve_incoming_args): Likewise.
18403         (mov_nop): Use any_register_operand predicate.
18404         (mperm_w0): Use trunc_hi_operand predicate.
18405
18406 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18407
18408         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18409         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18410         numbering.
18411
18412 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18413
18414         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18415
18416 2002-07-18  Richard Henderson  <rth@redhat.com>
18417
18418         PR optimization/7147
18419         * ifcvt.c (noce_get_condition): Make certain that the condition
18420         is valid at JUMP.
18421
18422 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
18423
18424         * sh.c (barrier_align, push): Shut up compiler warnings.
18425         (initial_elimination_offset,sh_media_init_builtins): Likewise.
18426         (reg_no_subreg_operand): Delete.
18427
18428 2002-07-17  Bo Thorsen  <bo@suse.de>
18429
18430         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18431         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18432         (STARTFILE_SPEC): Remove hardcoded library paths.
18433         (ENDFILE_SPEC): Likewise.
18434
18435 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
18436
18437         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
18438
18439         * gcse.c (try_replace_reg): Do not return false positives.
18440
18441 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18442
18443         * prefix.c: (update_path): Strip ".." components when prior dir
18444         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18445
18446         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18447         (ASM_OUTPUT_REG_POP): Likewise.
18448
18449 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18450
18451         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18452         adjustments to first_reg for profiling case.
18453         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18454         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18455         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18456         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18457         (ASM_OUTPUT_REG_POP): Define.
18458         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18459         (ASM_OUTPUT_REG_POP): Undef.
18460
18461 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18462
18463         * cpplib.c (do_sccs): Handle #sccs on all systems.
18464         * system.h (SCCS_DIRECTIVE): Poison.
18465         * config/darwin.h, config/freebsd.h, config/netbsd.h,
18466         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18467         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18468         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18469         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18470         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18471         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18472         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18473         Remove all references to SCCS_DIRECTIVE.
18474         * doc/cpp.texi, doc/tm.texi: Update.
18475
18476 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
18477
18478         * regrename.c (maybe_mode_change): New function.
18479         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18480
18481 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
18482
18483         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18484         suppress addition when either ct or cf are zero.
18485
18486 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
18487             Glen Nakamura <glen@imodulo.com>
18488
18489         PR optimization/6713
18490         * loop.c (loop_givs_rescan): Explicitly delete the insn that
18491         sets a non-replaceable giv after issuing the new one.
18492
18493 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18494
18495         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18496         eval_token): Clarify and correct use of "bool" variables.
18497         * cpplib.h (struct cpp_options): Similarly.
18498         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18499         * cpptrad.c (recursive_macro): Similarly.
18500
18501 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
18502
18503         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
18504         SHmedia code.
18505
18506         * sh.md (cmpgtudi_media): Remove spurious @.
18507
18508         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18509         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
18510
18511         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18512         * sh-protos.h (sh_initialize_trampoline): Declare.
18513         * sh.c (sh_initialize_trampoline): New function.
18514         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18515         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18516         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18517         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18518         * sh.md (initialize_trampoline, double_shori): New patterns.
18519         (initialize_trampoline_compact): Likewise.
18520         (shmedia32_initialize_trampoline_big): Remove.
18521         (shmedia32_initialize_trampoline_little): Likewise.
18522
18523         * sh-protos.h (binary_float_operator): Remove declaration.
18524         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18525         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18526         (unary_float_operator, sh_expand_unop_v2sf): New functions.
18527         (sh_expand_binop_v2sf): Likewise.
18528         (zero_vec_operand): Delete.
18529         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
18530         all non-shared ones.
18531         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18532         Enable nsb and byterev.
18533         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18534         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
18535         in general regs.
18536         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18537         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
18538         immediate operands.
18539         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18540         Add DF_HI_REGS.
18541         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18542         lowpart fp regs - only for big endian for now.
18543         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
18544         when FPU is in use.
18545         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18546         (LOAD_EXTEND_OP): NIL for SImode.
18547         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
18548         general and fp registers is 4.
18549         PREDICATE_CODES: Amend binary_float_operator entry.
18550         Remove zero_vec_operand.  Add unary_float_operator.
18551         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18552         subreg SET_DEST.
18553         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18554         (truncdiqi2): Do sign extension.
18555         (movsi_media, movdi_media): Allow to use r63 to an fp register.
18556         (movdf_media, movsf_media): Likewise.
18557         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18558         Collapse to one define_insn_and_split.  Allow immediate sources.
18559         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18560         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
18561         (movv4sf): Allow immediate sources.
18562         (movsf_media_nofpu+1): Don't split moves to FP registers.
18563         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
18564         (movv8qi_i+3): Check against CONST0_RTX.
18565         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
18566         for input and output operands.  Fix argument 3 to gen_mextr_rl.
18567         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
18568         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
18569         (mshf0_w, fipr, ftrv): Likewise.
18570         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
18571
18572 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
18573
18574         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
18575         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
18576         * arm.c: Similarly.
18577
18578 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
18579
18580         * config/mips/mips-protos.h (mips_sign_extend): Declare.
18581         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
18582         (TARGET_SWITCHES): Remove debugh.
18583         (ISA_HAS_TRUNC_W): New macro.
18584         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
18585         (PREDICATE_CODES): Remove se_nonimmediate_operand.
18586         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
18587         any SImode move_operand.
18588         (se_nonimmediate_operand): Remove.
18589         (mips_sign_extend): New.
18590         (mips_move_2words): Use it for sign-extended source operands.
18591         (override_options): Allow integers to be put into single FPRs.
18592         (mips_secondary_reload_class): Handle integers in float registers.
18593         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
18594         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
18595         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
18596         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
18597         (fix_truncdfdi2): Provide only a single alternative, in which the
18598         integer is in a float register.  Depend on TARGET_FLOAT64 rather
18599         than TARGET_64BIT.
18600         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
18601         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
18602         (movdi_internal2): Don't allow the source operand to be sign-extended.
18603         Add alternatives for float registers.
18604         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
18605         allows sign-extension.
18606         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
18607         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
18608         float registers.  Remove TARGET_DEBUG_H_MODE test.
18609         (movhi_internal1): Rename to movhi_internal.  Don't check
18610         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
18611         (movqi_internal1): Rename to movqi_internal and remove
18612         TARGET_DEBUG_H_MODE dependency.
18613         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
18614
18615 2002-07-16  Jim Wilson  <wilson@redhat.com>
18616
18617         * toplev.c (lang_dependent_init): Create function context for
18618         init_expr_once.
18619
18620 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
18621
18622         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
18623         --gc-sections if -r.
18624         * config/cris/cris.h: Ditto.
18625
18626 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
18627
18628         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
18629         the comparison directly gives a mask suppress addition when cf is
18630         zero by complementing the mask.
18631
18632 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
18633
18634         * Makefile.in: Delete references to enquire.
18635         * enquire.c: Move to contrib.
18636
18637 2002-07-16  Stan Shebs  <shebs@apple.com>
18638
18639         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
18640         config/rs6000/darwin.h.
18641         (ASM_OUTPUT_SKIP): Ditto.
18642         (TEXT_SECTION_ASM_OP): Ditto.
18643         (DATA_SECTION_ASM_OP): Ditto.
18644         (ASM_APP_ON): Define.
18645         (ASM_APP_OFF): Define.
18646         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
18647         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
18648
18649         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
18650         (machopic_function_base_name): Declare result to be const.
18651         (machopic_non_lazy_ptr_name): Ditto.
18652         (machopic_stub_name): Ditto.
18653         * config/darwin-protos.h: Ditto for the prototypes.
18654
18655 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
18656
18657         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
18658
18659 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
18660
18661         * i386.md (prefetch): Fix for 64bit mode.
18662         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18663
18664 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
18665
18666         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
18667         * i386.c (x86_machine_dependent_reorg): New function.
18668         * i386-protos.h (x86_machine_dependent_reorg): Declare.
18669
18670 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
18671
18672         * builtins.c (std_expand_builtin_va_start): Remove unused
18673         first argument.
18674         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
18675         std_expand_builtin_va_start with just two arguments.
18676         * expr.h: Update prototypes.
18677
18678         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
18679         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
18680         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
18681         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
18682         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
18683         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
18684         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
18685         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
18686         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
18687         argument from all implementations of EXPAND_BUILTIN_VA_START
18688         and all uses of std_expand_builtin_va_start.
18689
18690 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18691
18692         * regrename.c (copy_value): Don't record high part copies.
18693
18694 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
18695
18696         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
18697         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
18698         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
18699
18700 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
18701
18702         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
18703
18704         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
18705         into addsi3 using register class "x" and "y".
18706
18707         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
18708         "earlyclobber" constraint modifier for some alternative.
18709
18710         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
18711         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
18712         unordered.
18713         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
18714
18715         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
18716         (TARGET_SWITCHES): Add -mieee-compare option.
18717         (OVERRIDE_OPTIONS): 32332 is a subset of
18718         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
18719         (TARGET_SWITCHES): Fix description of bitfield option.
18720         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
18721         -mieee-compare option. Remove 32332 flag.
18722
18723 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
18724
18725         * explow.c (convert_memory_address): Remove special handling
18726         when POINTERS_EXTEND_UNSIGNED < 0.
18727         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
18728         (movedi_symbolic): Fix typo.
18729         (load_fptr): Remove mode restriction so it works for SI and DI.
18730         (load_fptr_internal1): Ditto.
18731         (load_gprel): Ditto.
18732         (load_symptr_internal1): Ditto.
18733         (call_pic): Ditto.
18734         * config/ia64.c (call_operand): Modify mode check.
18735         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
18736         (ia64_expand_move): Ditto.
18737         (ia64_assemble_integer): Handle SImode function pointers.
18738         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
18739         (ia64_expand_op_and_fetch): Ditto.
18740         (ia64_expand_compare_and_swap): Ditto.
18741         (ia64_expand_lock_test_and_set): Ditto.
18742         (ia64_expand_lock_release): Ditto.
18743
18744 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18745
18746         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
18747
18748 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18749             Richard Earnshaw  <rearnsha@arm.com>
18750
18751         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
18752         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
18753
18754 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
18755
18756         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
18757         understands to be a memory clobber.
18758         * arm.c (arm_expand_prologue): Use it.
18759
18760 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
18761
18762         * ra-rewrite.c: #include reload.h, insn-config.h
18763         * ra-build.c: #include reload.h
18764         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
18765         depend on reload.h, insn-config.h.
18766
18767 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
18768
18769         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
18770         the same size as a word.
18771
18772         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
18773         BYTES_BIG_ENDIAN into account.
18774
18775 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
18776
18777         * i386.md (prefetch): Fix for 64bit mode.
18778         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18779
18780         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
18781
18782 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18783
18784         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
18785
18786 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
18787
18788         * ginclude/varargs.h: Replace with stub which issues #error.
18789         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
18790         __builtin_va_start.
18791
18792         * builtins.def (BUILT_IN_VARARGS_START): Delete.
18793         (BUILT_IN_VA_START): New.
18794         * builtins.c (expand_builtin_va_start): Eliminate first
18795         argument and code to implement pre-ISO varargs.
18796         (std_expand_builtin_va_start): Ignore first argument; it is
18797         always 1.
18798         (expand_builtin): Handle BUILT_IN_VA_START and
18799         BUILT_IN_STDARG_START identically.  Delete
18800         BUILT_IN_VARARGS_START case.
18801
18802         * function.c (assign_parms): Delete hide_last_arg and all
18803         its uses.
18804         (mark_varargs): Delete function.
18805         * function.h (struct function): Delete 'varargs' bit.
18806         (current_function_varargs): Delete macro.
18807         * tree.h: Don't declare mark_varargs.
18808
18809         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
18810         (c_expand_body): Don't call mark_varargs.
18811         * c-objc-common.c: Handle BUILT_IN_VA_START and
18812         BUILT_IN_STDARG_START identically.  Delete
18813         BUILT_IN_VARARGS_START case.
18814         * c-tree.h: Don't declare c_mark_varargs.
18815         * c-parse.in: Remove grammar rules for '&...' (which has been
18816         commented out since before 2.7.2) and for '...' in K+R
18817         argument declarations.
18818
18819         * builtins.c, function.c, integrate.c, sibcall.c,
18820         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
18821         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
18822         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
18823         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
18824         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
18825         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
18826         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
18827         config/stormy16/stormy16.c: Delete all references to
18828         current_function_varargs, and code predicated on that flag.
18829
18830         * config/alpha/alpha.c (alpha_va_start),
18831         config/arc/arc.c (arc_va_start),
18832         config/i386/i386.c (ix86_va_start),
18833         config/mips/mips.c (mips_va_start),
18834         config/mn10300/mn10300.c (mn10300_va_start),
18835         config/rs6000/rs6000.c (rs6000_va_start),
18836         config/s390/s390.c (s390_va_start),
18837         config/sh/sh.c (sh_va_start),
18838         Ignore first argument; it is always 1.
18839
18840         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
18841         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
18842         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
18843         Delete m68hc11_va_start.
18844         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
18845         No need to define EXPAND_BUILTIN_VA_START.
18846
18847         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
18848         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
18849
18850 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
18851
18852         PR optimization/7153
18853         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
18854         dies in more than one insn.
18855
18856 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
18857
18858         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
18859
18860 2002-07-15  Michael Matz  <matz@suse.de>,
18861             Daniel Berlin  <dberlin@dberlin.org>,
18862             Denis Chertykov  <denisc@overta.ru>
18863
18864         Add a new register allocator.
18865
18866         * ra.c: New file.
18867         * ra.h: New file.
18868         * ra-build.c: New file.
18869         * ra-colorize.c: New file.
18870         * ra-debug.c: New file.
18871         * ra-rewrite.c: New file.
18872
18873         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
18874         (ra-rewrite.o): New .o files for libbackend.a.
18875         (GTFILES): Add basic-block.h.
18876
18877         * toplev.c (flag_new_regalloc): New.
18878         (f_options): New option "new-ra".
18879         (rest_of_compilation): Call initialize_uninitialized_subregs()
18880         only for the old allocator.  If flag_new_regalloc is set, call
18881         new allocator, instead of local_alloc(), global_alloc() and
18882         friends.
18883
18884         * doc/invoke.texi: Document -fnew-ra.
18885         * basic-block.h (FOR_ALL_BB): New.
18886         * config/rs6000/rs6000.c (print_operand): Write small constants
18887         as @l+80.
18888
18889         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
18890         (df_reg_table_realloc): Make size at least as large as max_reg_num().
18891         (df_insn_table_realloc): Size argument now is absolute, not relative.
18892         Changed all callers.
18893
18894         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
18895         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
18896
18897         2002-06-20  Michael Matz  <matz@suse.de>
18898
18899         * df.h (struct ref.id): Make unsigned.
18900         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
18901
18902         2002-06-13  Michael Matz  <matz@suse.de>
18903
18904         * df.h (DF_REF_MODE_CHANGE): New flag.
18905         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
18906         involving subregs with invalid mode changes, when
18907         CLASS_CANNOT_CHANGE_MODE is defined.
18908
18909         2002-05-07  Michael Matz  <matz@suse.de>
18910
18911         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
18912
18913         2002-05-03  Michael Matz  <matz@suse.de>
18914
18915         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
18916
18917         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
18918
18919         * regclass.c (regclass): Work with all regs which have sets or
18920         refs.
18921         (reg_scan_mark_refs): Count regs inside (clobber ...).
18922
18923         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
18924
18925         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
18926         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
18927         add new refs.
18928         (df_bb_refs_update): Don't clear insns_modified here, ...
18929         (df_analyse): ... but here.
18930
18931         * sbitmap.c (dump_sbitmap_file): New.
18932         (debug_sbitmap): Use it.
18933
18934         * sbitmap.h (dump_sbitmap_file): Add prototype.
18935
18936         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
18937
18938         * df.c (df_insn_modify): Grow the UID table if necessary, rather
18939         than assume all emits go through df_insns_modify.
18940
18941         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
18942
18943         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
18944         increase REG_N_REFS (like flow does), so that regclass doesn't
18945         think a reg is useless, and thus, not calculate a class, when it
18946         really should have.
18947
18948         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
18949
18950         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
18951         dataflow analysis.
18952
18953 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
18954
18955         PR middle-end/7245
18956         * config/i386/i386.c (const_int_1_31_operand): New.
18957         * config/i386/i386.h (PREDICATE_CODES): Add it.
18958         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
18959         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
18960         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
18961
18962 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
18963
18964         PR target/7282
18965         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18966         (floatunssidf2): Likewise.
18967         (floatsidf_ppc64): New insn_and_split.
18968         (floatunssidf_ppc64): Likewise.
18969
18970 2002-07-14  Andreas Jaeger  <aj@suse.de>
18971
18972         * config.gcc (sh64): Remove unused
18973         target_requires_64bit_host_wide_int.
18974
18975 2002-07-12  Roger Sayle  <roger@eyesopen.com>
18976
18977         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18978         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18979         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18980         whether clear_by_pieces should be used to clear storage.
18981         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18982
18983         * doc/tm.texi: Document these two new target macros.
18984
18985 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
18986
18987         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
18988         the scratch register.
18989         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
18990         of it, forbid reload to use it.
18991
18992 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18993
18994         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
18995         usage on 64-bit hosts, return value was truncated to 32 bits.
18996
18997 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
18998
18999         * simplify-rtx.c (simplify_subreg): Handle floating point
19000         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19001         the element mode is requested, compute a subreg with an
19002         integer mode of the same size as the element mode first.
19003
19004 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19005
19006         * combine.c (try_combine): When converting a paradoxical subreg
19007         to an extension, take LOAD_EXTEND_OP into account.
19008
19009 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19010
19011         * config.gcc (mips-sgi-irix6*o32): New configuration.
19012
19013         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19014         configurations.
19015         * configure: Regenerate.
19016
19017         * config/mips/iris6-o32-as.h: New file.
19018         * config/mips/iris6-o32.h: New file.
19019
19020         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19021         (NM_FLAGS): Define.
19022         (HAVE_AS_SHF_MERGE): Undefine.
19023
19024         * config/mips/t-iris5-as: New file.
19025         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19026
19027         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19028         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19029         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19030         dp-bit.c, fp-bit.c): Move ...
19031         * config/mips/t-iris5-6: ... here.
19032         New file, shared by IRIX 5 and IRIX 6.
19033         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19034         mips-sgi-irix5*): Use it.
19035
19036         * config/mips/iris6.h: Remove duplicate comment.
19037
19038         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19039         !TARGET_IRIX6]: Define.
19040         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19041
19042         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19043
19044 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19045
19046         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19047         and delete code to force constant to register.
19048         * pa-protos.h (adddi3_operand): Add prototype.
19049         * pa.c (adddi3_operand): New function.
19050
19051 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19052
19053         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19054         non-ANSI builtin functions.
19055
19056 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19057
19058         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19059         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19060         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19061         (gen_const_vector_0): Use it.
19062
19063 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19064
19065         * pa.md (adddi3): For 32-bit targets, force constants to a register
19066         if they don't fit in an 11-bit immediate.  Change insn predicate to
19067         arith11_operand.  Remove comment.
19068         * pa.c (cint_ok_for_move): Fix comment.
19069         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19070         targets.
19071
19072 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19073
19074         Remove front end hard coding from gengtype.c.
19075
19076         * Makefile.in
19077         (STAGESTUFF): add gtyp-gen.h
19078         (GTFILES): Remove front end specific files.
19079         (GTFILES_FILES_LANGS): New, from configure..
19080         (GTFILES_FILES_FILES): Likewise.
19081         (GTFILES_LANG_DIR_NAMES): Likewise.
19082         (GTFILES_SRCDIR): Likewise.
19083         (gtyp-gen.h): Build from configure information.
19084         (s-gtype): Remove command line parameters from gengtype.
19085         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19086         (mostlyclean): Delete files generated by and for gengtype.
19087
19088         * c-config-lang.in: New file.
19089
19090         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19091         for each language.
19092         (all_gtfiles_files_files): New. Accumulate language for each file
19093         accumulated.
19094         (gtfiles): Pick up value for C.
19095         (srcdir): AC-SUBST this variable.
19096         (all_gtfiles_files_langs): AC-SUBST this variable.
19097         (all_gtfiles_files_files): AC-SUBST this variable.
19098
19099         * configure: Regenerate.
19100
19101         * gengtype-lex.l (parse_file): Make parameter const.
19102
19103         * gengtype.c (toplevel): include gtyp-gen.h.
19104         (BASE_FILE_<language> unnamed enum): Delete.
19105         (lang_names): Delete (replaced by gtyp-gen.h)
19106         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19107         all references.
19108         (NUM_GT_FILES): New.
19109         (NUM_LANG_FILES): New.
19110         (srcdir_len): New.
19111         (NUM_BASE_FILES): Change calculation.
19112         (open_base_files): Change prototype to avoid warning.
19113         (startswith): Delete.
19114         (get_file_basename): Iterate through generated language list not
19115         hard coded list.
19116         (get_base_file_bitmap): Use generated list of files and languages.
19117         (close_output_files): Add prototype to rmove warning.
19118         (main): Iterate through list of generated files from gtyp-gen.h
19119         rather than command line paramaters.  Ignore duplicated file
19120         names.
19121
19122         * gengtype.h (parse_file): Amend prototype for const parameter.
19123
19124         * doc/sourcebuild.texi: Document gtfiles variable.
19125
19126         * doc/gty.texi: Document changes to gtfiles variable for front
19127         ends.
19128
19129         * objc/config-lang.in (gtfiles): Add files needed for objc front
19130         end.
19131
19132 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19133
19134         PR c/2454
19135         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19136         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19137
19138 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19139             Zack Weinberg <zack@codesourcery.com>
19140
19141         * builtins.def: Make the argument types of abort and exit
19142         independent of the front-end.
19143
19144 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19145
19146         * config/rs6000/linux64.h (ASM_SPEC): Define.
19147
19148 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19149
19150         * config/rs6000/rs6000.c (emit_frame_save): New.
19151         (rs6000_frame_related): Replace reg2 before reg.
19152         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19153         and eh_return registers.
19154
19155 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19156
19157         Revert all patches for optimization of Complex .op. Real.
19158         * complex_part_zero_p: Remove
19159         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19160         with x.
19161         * expand_cmplxdiv_wide: Ditto.
19162         * expand_binop: Ditto.
19163
19164 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19165
19166         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19167         negative also on 64-bit hosts.
19168
19169         Default to -fno-reorder-blocks when optimizing for size.
19170         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19171         * config/avr/avr.c (avr_optimization_options): New function.
19172         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19173
19174         Optimize returning from simple functions.
19175         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19176         * config/avr/avr.c (avr_simple_epilogue): New function.
19177         * config/avr/avr.md (return): New insn.
19178
19179 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19180
19181         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19182         HAS_INIT_SECTION to protection.
19183
19184 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19185
19186         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19187         deprecated.
19188
19189 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19190
19191         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19192         Supply non-VOID mode to simplify_gen_subreg.
19193
19194 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19195
19196         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19197
19198 2002-07-10  Jeffrey A Law  <law@redhat.com>
19199
19200         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19201         as appropriate.
19202
19203         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19204         register to use.
19205
19206 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19207
19208         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19209         Get mode from dest.
19210         If simplify_gen_subreg fails, try next equivalent.
19211
19212 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19213
19214         * diagnostic.h: #include location.h
19215         (location_t): Move definition to..
19216         * location.h: ... here.  New file.
19217         * tree.h: #include location.h
19218         (DECL_SOURCE_LOCATION): New macro.
19219         (DECL_SOURCE_FILE): Use.
19220         (DECL_SOURCE_LINE): Likewise.
19221         (struct tree_decl): REplace filename and linenum with locus.
19222         * Makefile.in (TREE_H): add location.h
19223         (diagnostic.o): Depends on gt-location.h
19224         (gt-location.h): Depends on s-gtype
19225
19226 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19227
19228         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19229         TARGET_OS_CPP_BUILTINS.
19230         * config/rs6000/aix31.h: Likewise.
19231         * config/rs6000/aix41.h: Likewise.
19232         * config/rs6000/aix43.h: Likewise.
19233         * config/rs6000/aix51.h: Likewise.
19234         * config/rs6000/beos.h: Likewise.
19235         * config/rs6000/darwin.h: Likewise.
19236         * config/rs6000/eabi.h: Likewise.
19237         * config/rs6000/eabisim.h: Likewise.
19238         * config/rs6000/linux.h: Likewise.
19239         * config/rs6000/linux64.h: Likewise.
19240         * config/rs6000/lynx.h: Likewise.
19241         * config/rs6000/mach.h: Likewise.
19242         * config/rs6000/rtems.h: Likewise.
19243         * config/rs6000/sysv4.h: Likewise.
19244         * config/rs6000/vxppc.h: Likewise.
19245
19246 2002-07-09 Devang Patel <dpatel@apple.com>
19247         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19248         Do not allow ObjC objects as a parameter type for Objective-C methods.
19249         My previous patch restricted  'struct' also.
19250
19251 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
19252
19253         * cpperror.c (cpp_error): Default to directive_line within
19254         directives here.
19255         * cppexp.c (cpp_interpret_integer): Only use traditional
19256         number semantics in directives.
19257         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19258         (do_include_common): Similarly.
19259         * cpptrad.c (scan_out_logical_line): Implement accurate
19260         quoting of <> in #include.
19261         * doc/cpp.texi: Update.
19262
19263 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
19264                           J"orn Rennecke <joern.rennecke@superh.com>
19265
19266         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19267         * sh.md (attribute issues): Replace with:
19268         (attribute pipe_model).  All users changed.
19269         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19270         All users changed.
19271         (function units sh5issue, sh5fds): New.
19272         (attribute is_mac_media): New.
19273         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19274         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19275         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19276         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19277         (call_media, call_value_media, sibcall_media): Likewise.
19278         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19279         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19280         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19281         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19282         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19283         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19284         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19285         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19286         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19287         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19288         (truncdfsf2_media): Likewise.
19289         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19290         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19291
19292 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19293
19294         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19295         * sh.c (general_extend_operand, inqhi_operand): New functions.
19296         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19297         alternatives using 'N' modifier.  Add type.
19298         (adddi3z_media): Likewise.  Enable generator function generation.
19299         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19300         exact predicates / constraints.  Add type.
19301         (subsi3): Allow 0 for SHMEDIA.
19302         (udivsi3_i4_media): Use match_operand for input values
19303         rather than hard registers.
19304         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19305         unnecessarily through hard registers.  Keep copies of pseudo
19306         registers outside of the libcall sequence.
19307         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
19308         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19309         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19310         (extendhidi2, extendqidi2): Likewise.
19311         (andsi3_compact): Name.
19312         (andcdi3): Enable generator function generation.
19313         (zero_extendhisi2, zero_extendqisi2): Rename to
19314         (zero_extendhisi2_compact, zero_extendqisi2_compact).
19315         (extendhisi2, extendqisi2): Rename to
19316         (extendhisi2_compact, extendqisi2_compact).
19317         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19318         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19319         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19320         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19321         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19322         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19323         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19324         (shmedia32_initialize_trampoline_big): Likewise.
19325         (shmedia32_initialize_trampoline_little): Likewise.
19326         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19327         (negdi2): Remove spurious T clobber.
19328         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19329         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19330         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19331         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19332         (ic_invalidate_line_media): Write back data cache before invalidating
19333         instruction cache.  Add type.
19334         (movsf_media): Sign-extend when the destination is a general
19335         purpose register.  Add type.
19336         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19337         (casesi_worker_0+1): Only increment ref count for proper label.
19338         (casesi_worker_0+2): Likewise.
19339
19340 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
19341
19342         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19343
19344 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
19345
19346         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19347         from Pmode to ptr_mode.
19348         (get_exception_pointer): Ditto.
19349         (connect_post_landing_pads): Ditto.
19350         (dw2_build_landing_pads): Ditto.
19351
19352 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
19353         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19354         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19355         (handle_pragma_redefine_extname): Change to use new function.
19356
19357 2002-07-08  Roger Sayle  <roger@eyesopen.com>
19358
19359         * combine.c (combine_simplify_rtx): Add an explicit cast
19360         to avoid signed/unsigned comparison warning.
19361         (simplify_if_then_else): Likewise.
19362         (extended_count): Likewise.
19363         (simplify_shift_const): Likewise.
19364         (simplify_comparison): Likewise.
19365
19366 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
19367
19368         * config/mips/mips.md: Add imadd type.  Update scheduler description
19369         to use imadd as well as imul.
19370         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19371         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19372         (*mul_sub_si): Likewise for first alternative.  Change second
19373         alternative from imul to multi.
19374
19375 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
19376
19377         * c-common.c (c_common_post_options): Update prototype;
19378         don't init backends if preprocessing only.
19379         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19380         * langhooks.h (struct lang_hooks): Update post_options to
19381         return a boolean.
19382         * toplev.c (parse_options_and_default_flags, do_compile,
19383         lang_independent_init): Update prototypes.  Allow the
19384         front end to specify that there is no need to initialize
19385         the back end.
19386         (general_init): Move call to hex_init here...
19387         (toplev_main): ...from here.  Pass flag for back end init
19388         suppression.
19389
19390 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
19391
19392         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19393         (PREDICATE_CODES): Add entries for equality_comparison_operator,
19394         greater_comparison_operator and less_comparison_operator.
19395         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
19396         more operators.
19397         (equality_comparison_operator): New function.
19398         (greater_comparison_operator, less_comparison_operator): Likewise.
19399         * sh.md (beq_media_i): Disable generator function generation.
19400         Use match_operator to handle a whole class of comparisons.  Add
19401         modifier in output template to provide branch prediction.  Add type.
19402         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
19403         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19404         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19405         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19406
19407 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
19408
19409         Emit MMIX function prologue and epilogue as rtl.
19410         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19411         not unprototyped get_hard_reg_initial_val.
19412         ("call_value", "nonlocal_goto_receiver"): Ditto.
19413         ("return"): Make define_expand.  Move real insn to...
19414         ("*expanded_return"): New pattern.
19415         ("prologue", "epilogue"): New define_expands.
19416         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19417         (struct machine_function): New member in_prologue.
19418         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19419         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19420         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19421         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19422         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19423         (LOCAL_REGNO): Define.  Adjust comment.
19424         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19425         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19426         leaf_function_p.
19427         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19428         the prologue.
19429         (mmix_target_asm_function_prologue): Make static.  Just mark that
19430         the prologue is being emitted.  Move guts to...
19431         (mmix_expand_prologue): New function.  Adjust for emitting
19432         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
19433         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
19434         \n.  Move guts to...
19435         (mmix_expand_epilogue): New function.  Adjust for emitting
19436         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
19437         (mmix_target_asm_function_end_prologue): Mark that the prologue
19438         has ended.
19439         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19440         (mmix_conditional_register_usage): Improve comments.
19441         (mmix_local_regno): New function.
19442         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19443         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19444         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19445         (mmix_get_hard_reg_initial_val): Ditto.
19446
19447 2002-07-06  Andreas Jaeger  <aj@suse.de>
19448
19449         * toplev.c (set_fast_math_flags): Don't use ISO C style function
19450         definitions.
19451         * gengtype.c (open_base_files): Likewise.
19452         (close_output_files): Likewise.
19453         * tracer.c (find_best_predecessor): Likewise.
19454         (find_best_successor): Likewise.
19455         (ignore_bb_p): Likewise.
19456
19457 2002-07-05  Roger Sayle  <roger@eyesopen.com>
19458
19459         PR c++/7099
19460         * builtin-attrs.def: Define new attribute lists for use in
19461         builtins.def.
19462         * builtins.def [DEF_BUILTIN]: Modify to take an additional
19463         ATTRS argument, an enumerated value defined in builtin-attrs.def
19464         that represents the attribute list for the builtins.  Modify
19465         all builtin functions to pass an appropriate attribute list.
19466         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19467         their required noreturn attributes.
19468         * tree.h (enum_builtin_function): Ignore the additional parameter
19469         to DEF_BUILTIN.
19470         * builtins.c (built_in_names): Likewise.
19471         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19472         argument with a tree representing the functions attribute list.
19473         Pass this "attrs" argument to builtin_function.  No longer handle
19474         the noreturn_p processing manually.
19475         (built_in_attributes): Move the definitions from builtin-attrs.def
19476         before c_common_nodes_and_builtins.
19477         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19478         DEF_BUILTIN, passing it to both builtin_function and the changed
19479         builtin_function_2.
19480
19481         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19482         __builtin__exit and __builtin__Exit.
19483
19484 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19485
19486         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19487         QI mode registers in soft registers.
19488         ("zero_extendqihi2"): Do not take into account soft registers
19489         for register allocation (use '*' constraint).
19490
19491 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19492
19493         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19494         it is dead.
19495         ("*ashrsi3"): Likewise.
19496         ("*lshrsi3"): Likewise.
19497
19498 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
19499
19500         * genautomata.c (output_max_insn_queue_index_def): Take latencies
19501         into account.
19502
19503 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19504
19505         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19506         address computation and memory moves.
19507
19508 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
19509
19510         PR c++/6706
19511         * dwarfout.c (output_reg_number): Fix warning message.
19512         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19513         before using it.
19514
19515 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19516
19517         * gcc/gcc.c (asm_debug): Move initialization ...
19518         (init_spec): ... here.
19519
19520 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
19521
19522         * c-parse.in (extdef): Append ';'.
19523         (old_style_parm_decls): Append ';'.
19524
19525 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
19526
19527         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19528         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19529         to gcc_cv_as_gstabs_flag.
19530         * configure: Rebuilt.
19531
19532 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
19533
19534         * ggc.h (ggc_add_root): Document as obsolete.
19535
19536 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
19537
19538         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19539         (mshflo_w): Likewise.
19540
19541 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
19542
19543         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19544         vector mode subregs of constants to finding integer mode
19545         subregs of constants.
19546         * cse.c (cse_insn): Use simplify_gen_subreg.
19547         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19548         From a vector mode expression of different size than the
19549         target mode.
19550
19551 2002-07-03  Eric Christopher  <echristo@redhat.com>
19552
19553         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19554         * config/mips/mips.h: Remove deprecated -m<processor> options
19555         and cc1_cpu_spec associated.
19556         (CONSTANT_ADDRESS_P): Fix last patch.
19557         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19558         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19559         sunge_sf): Remove.
19560
19561 2002-07-03  Stan Shebs  <shebs@apple.com>
19562
19563         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
19564         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
19565         (CPP_SPEC): Remove insertion of APPLE_CC definition.
19566
19567 2002-07-03  Roger Sayle  <roger@eyesopen.com>
19568
19569         * combine.c (struct_undo): Change types of recorded substitutions
19570         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
19571         (do_SUBST_INT): Change types of the substitution from unsigned int
19572         to int, to avoid compilation warning from SUBST_INT's only caller.
19573
19574         (make_extraction): Add cast to avoid compilation warning.
19575         (force_to_mode): Remove cast to avoid compilation warning.
19576
19577 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
19578             Jeff Law  <law@redhat.com>
19579
19580         * i386.md (length_immediate attribute): Fix typo.
19581         (length_address attribute): Likewise.
19582         (modrm attribute): Set it to 0 for immediate call instructions.
19583         (jcc_1 pattern): Set modrm attribute to 0.
19584         (jcc_2 pattern ): Likewise.
19585         (jump pattern): Likewise.
19586         (doloop_end_internal pattern): Explicitly set length.
19587         (leave pattern): Fix typo.
19588         (leave_rex64 pattern): Likewise.
19589
19590 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
19591
19592         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
19593         in FPR as preference.
19594         (fctiwz): Same.
19595         (floatdidf2, fix_truncdfdi2): Same.
19596         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
19597         (floatditf2): Same.
19598         (floatsitf2, fix_trunctfsi2): SImode in GPR.
19599         (ctrdi): Remove FPR alternative and splitter.
19600
19601 2002-07-03  Will Cohen  <wcohen@redhat.com>
19602
19603         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
19604
19605 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
19606
19607         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
19608         than UNITS_PER_WORD, unless this is little endian and the first unit
19609         in this word.  Let extract_bit_field decide how to load an element.
19610         Force arguments to matching mode.
19611         (expand_vector_unop): Likewise.
19612
19613         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
19614         consist of word_mode elements.
19615         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
19616         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
19617         (build_unary_op): Allow vector types for BIT_NOT_EPR.
19618         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
19619         CONST_VECTOR.
19620         * optabs.c (expand_vector_binop): Try to perform operation in
19621         smaller vector modes with same inner size.  Add handling of AND, IOR
19622         and XOR.  Reject expansion to inner-mode sized scalars when using
19623         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
19624         (expand_vector_unop): Try to perform operation in smaller vector
19625         modes with same inner size.  Add handling of one's complement.
19626         When there is no vector negate operation, try a vector subtract
19627         operation.  Use simplify_gen_subreg on constants.
19628         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
19629         constants into smaller vectors with same inner mode, and to
19630         integer CONST_DOUBLEs.
19631
19632 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19633
19634         * c-parse.in (parsing_iso_function_signature): New variable.
19635         (extdef_1): New, copied from...
19636         (extdef): ... here.  Reset parsing_iso_function_signature.
19637         (old_style_parm_decls):  Reset parsing_iso_function_signature.
19638         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
19639         Warn about ISO C style function definitions.
19640         (nested_function, notype_nested_function): Reset
19641         parsing_iso_function_signature.
19642         (parmlist_2): Set parsing_iso_function_signature.
19643
19644         * doc/invoke.texi (-Wtraditional): Document new behavior.
19645
19646 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
19647
19648         * config.gcc (mips*el-*-*): Use tm_defines to set
19649         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
19650         * config/mips/little.h: Remove.
19651
19652 2002-07-02 Devang Patel <dpatel@apple.com>
19653
19654         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
19655         object as parameter. Prevent something like 'NSObject' to be
19656         used as the type for a method argument.
19657
19658 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
19659
19660         * cpptrad.c: Update comment.
19661
19662 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
19663
19664         * doc/cpp.texi: Update for traditional preprocessing changes.
19665         * goc/cppopts.texi: Similarly.
19666
19667 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
19668
19669         * c-parse.in (designator): Enable designated initializers if ObjC.
19670         (objcmessageexpr): Remove references to objc_receiver_context.
19671         * objc/objc-act.h (objc_receiver_context): Remove decl.
19672         * objc/objc-act.c (objc_receiver_context): Remove.
19673         (lookup_objc_ivar): Test objc_method_context instead of
19674         objc_receiver_context.
19675
19676 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19677
19678         * sh.c (print_operand, case 'N'): Allow zero vector.
19679         (arith_reg_or_0_operand): Likewise.
19680         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
19681         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
19682         IOR, XOR, PLUS and SET and take their respective constant
19683         ranges into account.
19684         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
19685         * sh.md (subdi3, subdi3_media): Allow zero operand.
19686         (movv8qi_i+3): Only vector that is not split is the zero vector.
19687         Fix operand 3 to simplify_subreg.
19688         (movv2si_i): Split alternative 1.
19689         (mshfhi_l_di_rev+1): New splitter.
19690
19691 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
19692
19693         PR preprocessor/7029
19694         * cppinit.c (cpp_handle_option):  Suppress warnings with an
19695         implicit "-w" for "-M" and "-MM".
19696         * doc/cppopts.texi: Update.
19697
19698 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19699
19700         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
19701         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
19702         builtin_function.
19703
19704 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
19705
19706         * README.Portability: Fix typos.
19707
19708 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
19709
19710         PR target/7177
19711         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
19712         of indirections for register inside sign-extended mem part.
19713
19714 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19715
19716         * tree.h:  Modify builtin_function interface to take an extra
19717         argument ATTRS, which is a tree representing an attribute list.
19718
19719         * c-decl.c (builtin_function): Accept additional parameter.
19720         * objc/objc-act.c (builtin_function): Likewise.
19721         * f/com.c (builtin_function): Likewise.
19722         * java/decl.c (builtin_function): Likewise.
19723         * ada/utils.c (builtin_function): Likewise.
19724         * cp/decl.c (builtin_function): Likewise.
19725         (builtin_function_1): Likewise.
19726
19727         * c-common.c (c_common_nodes_and_builtins): Pass an additional
19728         NULL_TREE argument to builtin_function.  (builtin_function_2):
19729         Likewise.
19730         * cp/call.c (build_java_interface_fn_ref): Likewise.
19731         * objc/objc-act.c (synth_module_prologue): Likewise.
19732         * java/decl.c (java_init_decl_processing): Likewise.
19733         * f/com.c (ffe_com_init_0): Likewise.
19734
19735         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
19736         NULL_TREE argument to builtin_function.
19737         * config/arm/arm.c (def_builtin): Likewise.
19738         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
19739         * config/i386/i386.c (def_builtin): Likewise.
19740         * config/ia64/ia64.c (def_builtin): Likewise.
19741         * config/rs6000/rs6000.c (def_builtin): Likewise.
19742
19743 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
19744
19745         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
19746         * config/mips/t-isa3264: Likewise.
19747         * config/mmix/t-mmix: Likewise.
19748
19749 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19750
19751         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
19752
19753 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19754
19755         PR opt/4046
19756         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
19757         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
19758         B are truth values.
19759
19760 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
19761
19762         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
19763
19764 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
19765
19766         * README.Portability (Function prototypes): Give an example of
19767         declaring and defining a function with no arguments.
19768
19769         * README.Portability (Function prototypes): Document new
19770         variable-argument function macros.
19771
19772 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
19773
19774         * sh.c (langhooks.h): Include.
19775         (sh_init_builtins, sh_media_init_builtins): New functions.
19776         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
19777         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
19778         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
19779         (builtin_description): New struct tag.
19780         (signature_args, bdesc): New arrays.
19781         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
19782         (print_operand): Add 'N' modifier.
19783         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
19784         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
19785         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
19786         (CONST_COSTS): Add special case for SHmedia AND.
19787         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
19788         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
19789         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
19790         target_operand can also be const or unspec.
19791         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
19792         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
19793         (attribute type): Add new types.
19794         (anddi3): Add splitter.
19795         (movdi_const_16bit+1): Add code to handle vector constants and
19796         bitmasks efficiently.
19797         (shori_media): Have generator function made.
19798         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
19799         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
19800         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
19801         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
19802         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
19803         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
19804         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
19805         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
19806         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
19807         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
19808         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
19809         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
19810         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
19811         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
19812         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
19813         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
19814         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
19815         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
19816         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
19817         (ftrv): Likewise.
19818
19819         (fpu_switch+1, fpu_switch+2): Remove constraint.
19820
19821 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
19822
19823         * tree.c (build_function_type_list): Update function comment.
19824         Rename first argument to return_type.
19825
19826 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
19827
19828         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
19829         tradcif.y and related files.
19830
19831 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
19832
19833         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
19834
19835 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19836
19837         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
19838
19839 See ChangeLog.7 for earlier changes.