OSDN Git Service

* dwarf2out.c (lookup_filename): Fix printf format warning.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-21  Richard Henderson  <rth@redhat.com>
2
3         * dwarf2out.c (lookup_filename): Fix printf format warning.
4         * system.h (fread_unlocked, fwrite_unlocked): Undef.
5
6         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
7         (fixincl.o-warn, gnu-regex.o-warn): New.
8         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
9         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
10         * fixinc/fixincl.c (process): Fix printf format warning.
11
12 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
13
14         * dwarf2out (output_file_names): Don't crash if called
15         with empty file_table.
16
17 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18
19         * genautomata.c (output_internal_insn_latency_func): Add
20         missing break statement to generated code.
21
22 2003-01-21  Roger Sayle  <roger@eyesopen.com>
23
24         * stmt.c (same_case_target_p): New function to determine whether
25         two case labels branch to the same target.  Split out from...
26         (group_case_nodes): ... here.  Use same_case_target_p instead.
27         (strip_default_case_nodes): Remove explicit case nodes
28         that branch to the default destination.
29         (expand_end_case_type): Call strip_default_case_nodes after
30         group_case_nodes, to simplify the case-list before we count it.
31         Only generate table_label RTX when actually needed.  Try to share
32         thiscase->exit_label and thiscase->data.case_stmt.default_label
33         when a switch has no explicit default case.  Simplify test for
34         constant index.
35
36 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
37
38         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
39         \t.
40         (*negsf2_h8300hs): Likewise.
41         (*addsi3_lshiftrt_16_zexthi): Likewise.
42         (*iorhi3_lshiftrt_8): Likewise.
43
44 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
45
46         * dwarf2out.c (fde_table_in_use): Mark GTY.
47         (dwarf2out_cfi_label_num): New variable, marked GTY.
48         (dwarf2out_cfi_label): Use it instead of static label_num.
49         * emit-rtl.c (label_num): Mark GTY.
50
51 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
52
53         * config/h8300/h8300.c (output_plussi): Support H8/300.
54         (compute_plussi_length): Likewise.
55         (compute_plussi_cc): Likewise.
56         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
57         output assembly instructions.
58
59 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
60
61         * calls.c (fix_unsafe_tree): Prototype.
62
63         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
64         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
65         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
66         c-parse.o-warn): Add -Wno-error.
67         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
68
69         * configure.in (--enable-werror): Add new flag.
70         * doc/install.texi (--enable-werror): Document.
71         * configure: Regenerate.
72
73         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
74
75 2003-01-21  Andreas Schwab  <schwab@suse.de>
76
77         * genautomata.c (output_internal_insn_latency_func): Fix missing
78         close paren in output.
79
80 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
81
82         * genautomata.c: Space savings in generated code:
83         (output_dfa_insn_code_func): Split out the table-enlargement
84         path to an out-of-line static function, dfa_insn_code_enlarge.
85         (output_internal_insn_latency_func): Use a lookup table for the
86         default latencies.
87         (output_print_reservation_func): Use a lookup table for the
88         strings.
89
90 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
91
92         PR opt/7507
93         * calls.c (fix_unsafe_tree): Split out from ...
94         (expand_call): ... here.  Use it on the function address too.
95
96 2003-01-20  Richard Henderson  <rth@redhat.com>
97
98         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
99
100 2003-01-20  Richard Henderson  <rth@redhat.com>
101
102         PR opt/7154
103         * stmt.c (expand_asm_operands): Validize memory operands.
104
105 2003-01-20  Richard Henderson  <rth@redhat.com>
106
107         PR opt/8848
108         * ifcvt.c (noce_process_if_block): Correct arguments to
109         modified_between_p for no-else-block case.
110
111 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
112
113         * config/h8300/h8300.c (const_costs): Remove a warning.
114         (output_plussi): Likewise.
115         (compute_plussi_length): Likewise.
116         (compute_plussi_cc): Likewise.
117
118 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
119
120         * config/h8300/h8300.md (addsi_h8300): Remove the last
121         alternative.
122
123 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
124
125         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
126
127 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
128
129         * system.h (__NO_STRING_INLINES): Define.
130
131 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
132
133         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
134         is not a scalar int mode.
135
136 2003-01-20  Roger Sayle  <roger@eyesopen.com>
137
138         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
139         insn's notes following a substitution inside a libcall.
140
141 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
142
143         * configure.in: Check for system-provided 'uchar' type.
144         * configure, config.in: Regenerate.
145         * cpphash.h: Only typedef 'uchar' if the system doesn't.
146
147 2003-01-20  Richard Henderson  <rth@redhat.com>
148
149         * expr.h (MUST_PASS_IN_STACK): Move implementation...
150         * calls.c (default_must_pass_in_stack): ... here.
151
152 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
153
154         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
155
156         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
157
158         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
159         Wrap up definition of `insn_alts'.
160
161         * genattrtab.c (main): Wrap up `insn_alts'.
162
163 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
164
165         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
166         prototyping.
167         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
168
169         * config.in, configure: Regenerate.
170
171 2003-01-20  Nick Clifton  <nickc@redhat.com>
172
173         * config/arm/arm.md (sibcall_epilogue): Add an
174         UNSPEC_PROLOGUE_USE to prevent the link register from being
175         considered dead.
176
177 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
178
179         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
180
181 2003-01-20  Andreas Schwab  <schwab@suse.de>
182
183         * system.h: Don't declare strsignal if the decl test hasn't been
184         run yet.
185
186 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
187
188         * config/h8300/h8300.c (notice_update_cc): Don't assume that
189         recog_data.operands[0] is always associated with cc0.
190
191 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
192
193         * collect2.c (ldgetname): Expand declaration to prototype.
194         * read-rtl.c (atoll): Add prototype.
195         * system.h (strsignal): Also declare if no declaration found.
196
197 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
198
199         * config.gcc (mips64*-*-linux*): Added.
200         * config/mips/linux64.h, config/mips/t-linux64: New file.
201         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
202         * config/mips/mips.c (override_options): Use it.
203         * config/mips/mips.h (TARGET_SWITCHES): Added...
204         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
205         * Makefile.in (SPECS): New.
206         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
207         * gcc.c (process_command): Move self-spec processing past spec
208         file loading.
209         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
210         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
211         CRTSTUFF_T_CFLAGS.
212         (SPECS): Document.
213         * doc/invoke.texi (-mabi-fake-default): Document.
214
215 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
216
217         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
218         z_reg, z_reg_qi): Declare static and GTY().
219         (da_reg): Remove.
220         (create_regs_rtx): Don't create da_reg.
221         ("gt-m68hc11.h"): Include for GTY roots.
222         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
223         and GTY() here.
224         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
225         (m68hc11_soft_tmp_reg): Likewise.
226         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
227
228 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
229
230         * basic-block.h: Fix comment formatting.
231         * calls.c: Likewise.
232         * combine.c: Likewise.
233         * convert.c: Likewise.
234         * gcov.c: Likewise.
235         * haifa-sched.c: Likewise.
236         * libgcc2.c: Likewise.
237         * loop.c: Likewise.
238         * profile.c: Likewise.
239         * system.h: Likewise.
240
241 2003-01-18  Roger Sayle  <roger@eyesopen.com>
242
243         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
244
245 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
246
247         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
248
249 2003-01-17  Dale Johannesen  <dalej@apple.com>
250
251         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
252           (*floatunssidf2_internal):  Ditto.
253
254 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
255
256         * alias.c: Fix comment typos.
257         * basic-block.h: Likewise.
258         * c-common.c: Likewise.
259         * c-common.h: Likewise.
260         * c-decl.c: Likewise.
261         * c-opts.c: Likewise.
262         * c-pragma.c: Likewise.
263         * c-pretty-print.h: Likewise.
264         * cfg.c: Likewise.
265         * cfganal.c: Likewise.
266         * cfgbuild.c: Likewise.
267         * cfgcleanup.c: Likewise.
268         * cfglayout.c: Likewise.
269         * cfgrtl.c: Likewise.
270         * convert.c: Likewise.
271         * cpphash.h: Likewise.
272         * cpplex.c: Likewise.
273         * cpplib.h: Likewise.
274         * df.h: Likewise.
275         * diagnostic.c: Likewise.
276         * diagnostic.h: Likewise.
277         * dwarf2.h: Likewise.
278
279 2003-01-17  Stan Shebs  <shebs@apple.com>
280
281         * config/darwin-protos.h: Forward-declare struct cpp_reader.
282
283 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
284
285         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
286         mistake in last checkin.
287
288 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
289
290         * et-forest.c: Fix comment typos.
291         * et-forest.h: Likewise.
292         * except.c: Likewise.
293         * expr.c: Likewise.
294         * flags.h: Likewise.
295         * flow.c: Likewise.
296         * gcc.c: Likewise.
297         * gcse.c: Likewise.
298         * genattrtab.c: Likewise.
299         * genautomata.c: Likewise.
300         * gengtype.c: Likewise.
301         * genrecog.c: Likewise.
302         * global.c: Likewise.
303         * gthr-rtems.h: Likewise.
304
305 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
306
307         * i386.c (x86_function_profiler): Fix format specifier.
308
309 2003-01-17  Richard Henderson  <rth@redhat.com>
310
311         * gengtype.c (walk_type): Allow paramN_is.
312
313 2003-01-17  Nick Clifton  <nickc@redhat.com>
314
315         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
316
317 2003-01-16  Richard Henderson  <rth@redhat.com>
318
319         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
320
321 2003-01-16  Richard Henderson  <rth@redhat.com>
322
323         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
324         (alpha_next_sequence_number): Likewise.
325         (alpha_this_literal_sequence_number): Likewise.
326         (alpha_this_gpdisp_sequence_number): Likewise.
327         (struct alpha_funcs, alpha_funcs_num): Likewise.
328         (struct alpha_links): Fix branch merge error.
329         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
330
331 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
332
333         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
334         R. Ghazi.
335
336 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
337
338         * ifcvt.c: Fix comment typos.
339         * lcm.c: Likewise.
340         * libgcc2.c: Likewise.
341         * local-alloc.c: Likewise.
342         * loop.c: Likewise.
343         * predict.c: Likewise.
344         * ra-build.c: Likewise.
345         * ra.c: Likewise.
346         * ra-colorize.c: Likewise.
347         * ra.h: Likewise.
348         * ra-rewrite.c: Likewise.
349         * regmove.c: Likewise.
350         * reload.h: Likewise.
351         * rtlanal.c: Likewise.
352         * toplev.c: Likewise.
353         * tree.h: Likewise.
354         * unwind-dw2-fde-glibc.c: Likewise.
355         * vmsdbgout.c: Likewise.
356
357 2003-01-16  Richard Henderson  <rth@redhat.com>
358
359         * dwarf2out.c (struct file_table): Remove.
360         (FILE_TABLE_INCREMENT): Remove.
361         (file_table): Make a varray; mark for GC.  Update all users.
362         (file_table_last_lookup_index): Extract from struct file_table.
363         (output_file_names): Fix unsigned compare warnings.
364         (add_name_attribute): Remove inline marker.
365         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
366         (lookup_filename): Don't manage size of file_table.
367         (init_file_table): Allocate file_table with GC.
368         (dwarf2out_init): Don't record main_input_filename here.
369         (dwarf2out_finish): Do it here instead.
370
371 2003-01-16  Bruce Korb  <bkorb@gnu.org>
372
373         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
374
375 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
376
377         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
378         instead of rotldi3_mextr.
379
380 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
381
382         * haifa-sched.c (move_insn): Restore moving all schedule group.
383         (set_priorities): Restore taking SCHED_GROUP_P into account.
384
385         * sched-deps.c (add_dependence): Restore processing the last group
386         insn.
387         (remove_dependence, group_leader): Restore the functions.
388         (set_sched_group_p): Restore adding dependencies from previous insn
389         in the group.
390         (compute_forward_dependences): Restore usage of group_leader.
391
392         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
393         account.
394
395         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
396         account.
397         (can_schedule_ready_p): Ditto.
398         (add_branch_dependences): Restore skipping over the group insns.
399
400 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
401
402         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
403         68HC12 pre/post inc/dec side effects.
404
405 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
406
407         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
408
409 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
410
411         * sh.md (mshflo_w_x): Fix description of operation.
412
413 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
414
415         * config/rs6000/rs6000.h: Mention Altivec registers in
416         commentary.  Fix typo.
417
418 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
419
420         * config/rs6000/rs6000.md (movti_string): Remove clobber.
421         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
422         generate PARALLEL with clobber for TARGET_POWER.
423
424 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
425
426         * ra-colorize.c (colorize_one_web): Initialize variable.
427         * regmove.c (fixup_match_1): Likewise.
428         * reload1.c (reload_as_needed): Likewise.
429         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
430
431 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
432
433         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
434
435 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
436
437         * dbxout.c (lastfile, cwd): Fix `unused' warning.
438         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
439         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
440         is_main_source, file_table, decl_die_table_in_use,
441         abbrev_die_table_in_use, line_info_table_in_use,
442         separate_line_info_table_in_use, pubname_table_in_use,
443         arange_table_in_use, ranges_table_in_use,
444         current_function_has_inlines): Likewise.
445         * flow.c (life_analysis): Likewise.
446         * genemit.c (gen_insn): Likewise.
447         * protoize.c (cplus_suffix): Likewise.
448
449         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
450         * arm.h (ROUND_UP_WORD): Likewise.
451
452         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
453         warning.
454         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
455         init_emit_once): Likewise.
456         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
457         Likewise.
458         * function.c (assign_stack_temp_for_type): Likewise.
459         * loop.c (loop_invariant_p): Likewise.
460         * recog.c (push_operand): Likewise.
461         * regclass.c (init_reg_sets_1): Likewise.
462         * reload.c (update_auto_inc_notes): Likewise.
463         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
464         * stmt.c (expand_asm_operands): Likewise.
465         * stor-layout.c (start_record_layout): Likewise.
466
467 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
468
469         * config/c4x/c4x.md (epilogue): Correct last patch.
470
471 2003-01-15  Richard Henderson  <rth@redhat.com>
472
473         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
474         also check that GP is being used.
475         (alpha_find_lo_sum_using_gp): New.
476         (alpha_does_function_need_gp): Use get_attr_usegp.
477         * config/alpha/alpha-protos.h: Update.
478         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
479         as needed.
480
481 2003-01-15  Roger Sayle  <roger@eyesopen.com>
482
483         * gcse.c (one_cprop_pass): Change function arguments to take both
484         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
485         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
486         (bypass_jumps): New function to perform separate jump bypassing pass.
487         * rtl.h (bypass_jumps): Add function prototype.
488         * timevar.def (TV_BYPASS): New timing variable.
489         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
490         (dump_file): New entry for the bypass RTL dump file.
491         (rest_of_compilation): Insert new jump bypassing optimization
492         pass after loop.
493         * doc/passes.texi: Document new pass.
494
495 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
496
497         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
498         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
499         * pa.h (TARGET_SOM_SDEF): Define.
500         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
501
502 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
503
504         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
505         allocate 4-bytes of locals on 68HC11.
506         (expand_epilogue): Likewise.
507         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
508
509 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
510
511         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
512         and -mshort-double to the assembler to specify the ABI.
513         (LINK_SPEC): Likewise.
514         (CPP_SPEC): Pass HCS12 specific define.
515         (MASK_M68S12): New define.
516         (TARGET_M68S12): Likewise.
517         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
518         (TARGET_VERSION): Update.
519         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
520         (LINK_SPEC): Update.
521         (ASM_SPEC): Update.
522         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
523         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
524
525 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
526
527         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
528         the return code.
529
530 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
531
532         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
533         flag before setting it.
534
535 2003-01-15  Roger Sayle  <roger@eyesopen.com>
536
537         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
538         when loop condition is known true, i.e.  "while (1) { ... }".
539         (genrtl_for_stmt): Similarly for "for" statements.
540
541 2003-01-15  Roger Sayle  <roger@eyesopen.com>
542
543         * real.c (real_sqrt): Return a bool result indicating whether
544         a floating point exception or trap should be raised.
545         * real.h (real_sqrt): Update function prototype.
546         * builtins.c (fold_builtin): Only fold non-trapping square
547         roots unless we're ignoring errno and trapping math.
548
549 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
550
551         * expr.h (emit_conditional_add): Add PARAMS to declaration.
552         * gengtype-lex.l (malloc, realloc): Move defines after include of
553         system.h.  Remove duplicate include of system.h.
554
555 2003-01-15  Roger Sayle  <roger@eyesopen.com>
556
557         PR middle-end/9009
558         * optabs.c (expand_unop):  When manipulating the FP sign bit
559         using integer operations, account for targets with different
560         integer and FP word orders.
561         (expand_abs): Likewise.
562
563 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
564
565         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
566         file extension in section name.
567
568 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
569
570         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
571         constant offset.
572
573 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
574
575         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
576         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
577         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
578         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
579
580 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
581
582         PR f/9258
583         * global.c (struct allocno): Add no_stack_reg.
584         (global_conflicts): Set no_stack_reg.
585         (find_reg): Use it.
586
587         * convert.c (convert_to_real): Fold - and abs only when profitable.
588         * fold-const.c (fold): Fold truncates in - and abs.
589
590 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
591
592         Segher Boessenkool  <segher@koffie.nl>
593
594         * predict.c (real_inv_br_prob_base): New variable.
595         (propagate_freq): Use multiply by reciprocal instead of
596         division.  Don't divide by 1.0 at all.
597         (estimate_bb_frequencies): Similar.
598
599 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
600
601         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
602         * configure: Rebuilt.
603
604 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
605
606         * config/s390/s390.c (s390_safe_attr_type): New function.
607         (s390_use_dfa_pipeline_interface): New function, return true for z900.
608         (s390_issue_rate): New function.
609         (s390_agen_dep_p): New function.
610         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
611         (s390_adjust_cost): Return 'cost' if new DFA is used.
612         (s390_adjust_priority): Delete function.
613         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
614         * config/s390/s390.md (atype attribute): Attribute 'atype' default
615         determined by 'op_type'.
616         (type attribute): Added more type attributes.
617         * config/s390/2064.md: New DFA description for z900 pipeline.
618
619 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
620
621         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
622         forced to memory.  Fixes PR bootstrap/9036.
623
624         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
625         to set $gp before the call.
626
627 2003-01-14  Richard Henderson  <rth@redhat.com>
628
629         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
630         for force_const_mem.
631
632 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
633
634         * genattr.c (main): Rearrange output to avoid prototype warning.
635         * genautomata.c (transform_3): Fix ambiguous-else warning.
636         * local-alloc.c (requires_inout): Add parentheses around
637         assignment used as truth-value.
638         * timevar.c: Move system includes above local includes.  Include
639         toplev.h
640         * Makefile.in (timevar.o): Depend on toplev.h.
641
642 2003-01-14  Denis Chertykov  <denisc@overta.ru>
643
644         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
645         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
646
647         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
648         attributes.
649         (TARGET_ATTRIBUTE_TABLE): New macro.
650         (valid_machine_type_attribute): Remove.
651         (valid_machine_decl_attribute): Remove.
652         (ip2k_handle_progmem_attribute): New function.
653         (ip2k_handle_fndecl_attribute): New function.
654
655 2003-01-10  Andrew Haley  <aph@redhat.com>
656
657         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
658         registers to be in correct order.  Add rip.
659
660 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
661
662         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
663         (*iorsi3_and_lshiftrt_9_sb): Likewise.
664
665 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
666
667         * convert.c (strip_float_extensions):  Look for narrowest type handling
668         FP constants.
669
670         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
671         float1 CMP float2.
672         * convert.c (strip_float_extensions): Make global.
673         * tree.h (strip_float_extensions): Declare.
674
675 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
676
677         * timevar.def: define TV_NAME_LOOKUP.
678         * timevar.c (timevar_pop): Be verbose when aborting.
679
680 2003-01-13  Andreas Schwab  <schwab@suse.de>
681
682         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
683         $(parsedir), just move the temporary file at the end.
684         ($(parsedir)/gengtype-yacc.c): Likewise.
685
686 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
687
688         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
689         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
690         splitting.
691         * configure: Rebuilt.
692
693 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
694
695         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
696         internal_mcount): Don't use PARAMS.
697         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
698         ISO C style.
699         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
700
701 2003-01-13  Andreas Schwab  <schwab@suse.de>
702
703         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
704         directive.
705
706 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
707
708         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
709         (*iorsi3_and_lshiftrt_n_sb): Likewise.
710
711 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
712
713         PR c++/9264
714         * c-lex.c (c_lex): Set the token value to error_mark_node for
715         invalid numeric constants.
716
717 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
718
719         * c-pch.c (asm_file_startpos): Change to `long'.
720         (pch_init): Use ftell, not ftello.
721         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
722         Use `long' instead of `off_t'.
723         (c_common_read_pch): Likewise.
724         * ggc-common.c (gt_pch_save): Use long/ftell instead of
725         off_t/ftello.
726
727 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
728
729         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
730
731 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
732
733         * arm-protos.h (struct cpp_reader): Add declaration.
734
735 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
736
737         PR target/9068
738         * i386.c (output_fp_compare): Fix typo.
739
740 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
741
742         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
743
744 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
745
746         * Makefile.in (parsedir): New variable.
747         (docobjdir): New variable.
748         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
749         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
750         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
751         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
752         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
753         Use docobjdir.
754         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
755         objc.maintainer-clean): Use parsedir.
756
757         * varasm.c (struct constant_descriptor_rtx): Remove unused
758         `label' field.
759
760         * toplev.c (documented_lang_options): Document -Winvalid-pch.
761
762 2003-01-10  Richard Henderson  <rth@redhat.com>
763
764         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
765         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
766
767 2003-01-10  Richard Henderson  <rth@redhat.com>
768
769         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
770         not INTEGRAL_MODE_P when widening extensions.
771
772 2003-01-10  Richard Henderson  <rth@redhat.com>
773
774         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
775
776 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
777
778         * ggc-page.c (ggc_collect): Avoid overflow computing
779         min_expand.
780
781         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
782         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
783         Remove calls.
784         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
785
786 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
787
788         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
789         with weird operands.
790
791 2003-01-10  Dale Johannesen <dalej@apple.com>
792
793         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
794         parameters.  Call check_sibcall_argument_overlap if indicated.
795         (check_sibcall_argument_overlap):  Add mark_stored_args_map
796         parameter.  Don't mark parameter area as clobbered if not set.
797         (expand_call):  Adjust calls to above.
798
799 2003-01-10 Kelley Cook <kelleycook@comcast.net>
800
801         * configure.in (linker read-only and read-write section mixing):
802         Squelch some assembler warnings.
803         * configure: Likewise.
804
805 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
806
807         * doc/invoke.texi: Document -mtune, delete -mcpu
808         option for S/390 and zSeries.
809         * config/s390/s390.c (s390_tune_string) New variable.
810         (s390_cpu_string) Delete variable.
811         (override_options): Use s390_tune_string instead of
812         s390_cpu_string.
813         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
814
815 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
816
817         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
818
819 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
820
821         * jump.c (next_nonnote_insn_in_loop): New function.
822         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
823         next_nonnote_insn.
824         (duplicate_loop_exit_test). Likewise.
825
826 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
827
828         Merge from pch-branch:
829
830         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
831
832         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
833         load.
834
835         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
836
837         * cpplib.c (count_registered_pragmas): New function.
838         (save_registered_pragmas): New function.
839         (_cpp_save_pragma_names): New function.
840         (restore_registered_pragmas): New function.
841         (_cpp_restore_pragma_names): New function.
842         * cpphash.h (_cpp_save_pragma_names): Prototype.
843         (_cpp_restore_pragma_names): Likewise.
844         * cpppch.c (struct save_macro_item): Split from save_macro_data.
845         (struct save_macro_data): New field 'saved_pragmas'.
846         (save_macros): Update for changes to struct save_macro_data.
847         (cpp_prepare_state): Call _cpp_save_pragma_names, update
848         for changes to struct save_macro_data.
849         (cpp_read_state): Call _cpp_restore_pragma_names, update
850         for changes to struct save_macro_data.
851
852         * cpppch.c (cpp_read_state): Restore the hashtable references
853         in the cpp_reader.
854
855         * tree.h (built_in_decls): Mark for PCH.
856
857         * dbxout.c (lastfile): Don't mark for PCH.
858
859         * ggc.h: Document PCH calls into memory managers.
860
861         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
862
863         * doc/invoke.texi (Precompiled Headers): Document the
864         directory form of PCH.
865         * cppfiles.c (validate_pch): New function.
866         (open_file_pch): Search suitably-named directories for PCH files.
867
868         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
869
870         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
871         reorder options.
872         (Type Information): Mention that the information is also
873         used to implement PCH.
874         * doc/passes.texi (Passes): Improve documentation of
875         language-specific files.
876
877         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
878
879         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
880         (struct walk_type_data): Add reorder_fn field.
881         (walk_type): Process 'reorder' option.
882         (write_types_process_field): Reorder parameters to gt_pch_note_object,
883         call reorder_note_routine.
884         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
885         (ggc_wtd): Update for change to struct write_types_data.
886         (pch_wtd): Likewise.
887         * ggc.h (gt_pch_note_object): Reorder parameters.
888         (gt_handle_reorder): New definition.
889         (gt_pch_note_reorder): New prototype.
890         * ggc-common.c (struct ptr_data): Add reorder_fn.
891         (gt_pch_note_object): Reorder parameters.
892         (gt_pch_note_reorder): New.
893         (gt_pch_save): Call reorder_fn.
894         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
895
896         * dbxout.c (cwd): Don't mark for PCH.
897
898         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
899
900         * gengtype.c (finish_root_table): Fix some warnings.
901         (write_root): Handle TYPE_STRING.
902         * ggc.h (gt_ggc_m_S): Add prototype.
903         * stringpool.c (gt_ggc_m_S): New function.
904
905         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
906
907         * dwarf2out.c (dw2_string_counter): New.
908         (AT_string_form): Use it.
909         (same_dw_val_p): Update for removal of hashtable.h hash tables.
910
911         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
912
913         * dbxout.c: Include gt-dbxout.h.
914         (lastfile): Mark for PCH/GGC.
915         (cwd): Likewise.
916         (struct typeinfo): Likewise.
917         (typevec): Likewise.
918         (typevec_len): Likewise.
919         (next_type_number): Likewise.
920         (struct dbx_file): Likewise.
921         (current_file): Likewise.
922         (next_file_number): Likewise.
923         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
924         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
925         (dbxout_end_source_file): Don't free struct dbx_file.
926         (dbxout_type): Use GGC to allocate typevec.
927         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
928         (GTFILES): Add dbxout.c.
929         (gt-dbxout.h): New rule.
930
931         * Makefile.in (c-pch.o): Add debug.h as dependency.
932         * c-pch.c: Include debug.h.
933         (pch_init): Call start_source_file to keep nesting right.
934         (c_common_read_pch): Add orig_name parameter.  Call
935         start_source_file debug hook.  Call end_source_file debug hook.
936         * c-common.h (c_common_read_pch): Update prototype.
937         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
938         callback.
939         * cppfiles.c (struct include_file): Add new field `header_name'.
940         (find_or_create_entry): Default it to `name'.
941         (open_file_pch): Set it to the original header file searched for.
942         (stack_include_file): Don't stack an empty buffer, just handle
943         PCH files immediately.  Pass header_name field to read_pch callback.
944
945         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
946
947         * function.c (funcdef_no): Mark to be saved in a PCH.
948
949         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
950
951         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
952
953         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
954
955         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
956
957         * optabs.h (code_to_optab): Add GTY marker.
958
959         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
960
961         * Makefile.in (GTFILES): Add cpplib.h.
962         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
963         * c-decl.c (build_compound_literal): Don't use var_labelno.
964         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
965         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
966         * varasm.c (const_labelno): Use gengtype to mark.
967         (var_labelno): Likewise.
968         (in_section): Likewise.
969         (in_named_name): Likewise.
970         (struct in_named_entry): Likewise.
971         (in_named_htab): Likewise.
972         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
973         (init_varasm_once): Use GGC to allocate in_named_htab.
974         * config/darwin.c (current_pic_label_num): Mark for PCH.
975
976         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
977
978         * ggc-simple.c (init_ggc_pch): New stub procedure.
979         (ggc_pch_count_object): Likewise.
980         (ggc_pch_total_size): Likewise.
981         (ggc_pch_this_base): Likewise.
982         (ggc_pch_alloc_object): Likewise.
983         (ggc_pch_prepare_write): Likewise.
984         (ggc_pch_write_object): Likewise
985         (ggc_pch_finish): Likewise.
986         (ggc_pch_read): Likewise.
987
988         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
989
990         * c-pch.c (c_common_write_pch): Write the macro definitions after
991         the GCed data.
992         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
993         definitions after the GCed data.
994         * cpplib.c (save_macros): New.
995         (reset_ht): New.
996         (cpp_write_pch_deps): Split out of cpp_write_pch.
997         (cpp_write_pch_state): Split out of cpp_write_pch.
998         (cpp_write_pch): Delete.
999         (struct save_macro_data): Delete.
1000         (cpp_prepare_state): New.
1001         (cpp_read_state): Erase and restore initial macro definitions.
1002         * cpplib.h (struct save_macro_data): Forward-declare.
1003         (cpp_write_pch_deps): Prototype.
1004         (cpp_write_pch_state): Prototype.
1005         (cpp_write_pch): Delete prototype.
1006         (cpp_prepare_state): Prototype.
1007         (cpp_read_state): Add fourth argument.
1008
1009         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
1010
1011         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
1012         (write_array): Remove warning.
1013
1014         * gengtype.c (contains_scalar_p): New.
1015         (finish_root_table): Add the table to all languages, even if it's
1016         empty.
1017         (write_roots): Output gt_pch_scalar_rtab.
1018         * ggc-common.c (gt_pch_save): Write out scalars.
1019         (gt_pch_restore): Read scalars back.
1020
1021         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
1022         (struct page_entry): Delete pch_page field.
1023         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
1024         (clear_marks): Likewise.
1025         (sweep_pages): Likewise.
1026         (poison_pages): Likewise.
1027         (ggc_print_statistics): Likewise.
1028         (ggc_pch_read): Don't free objects read from a PCH.
1029         Properly set up in_use_p and page_tails.
1030
1031         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
1032
1033         * gengtype.c (struct write_types_data): New.
1034         (struct walk_type_data): Make `cookie' const; add extra
1035         prev_val item; add `orig_s' field.
1036         (walk_type): Update prev_val[3].
1037         (write_types_process_field): New.
1038         (write_func_for_structure): Take write_types_data structure.
1039         (write_types): New.
1040         (ggc_wtd): New.
1041         (pch_wtd): New.
1042         (write_types_local_process_field): New.
1043         (gc_mark_process_field): Delete.
1044         (write_local_func_for_structure): New.
1045         (gc_mark_func_name): Delete.
1046         (write_gc_types): Delete.
1047         (write_local): New.
1048         (finish_root_table): Don't include 'ggc_' in PFX.
1049         (write_root): Rename from write_root.  Fill pchw field of structures.
1050         (write_array): New.
1051         (write_roots): Rename from write_gc_roots.  Split out to write_array.
1052         Update to changes to other routines.  Write gt_pch_cache_rtab table.
1053         (main): Write PCH walking routines.
1054         * ggc-common.c: Include toplev.h, sys/mman.h.
1055         (ggc_mark_roots): For cache hashtables, also mark the hash table
1056         and the array of entries.
1057         (saving_htab): New.
1058         (struct ptr_data): New.
1059         (POINTER_HASH): New.
1060         (gt_pch_note_object): New.
1061         (saving_htab_hash): New.
1062         (saving_htab_eq): New.
1063         (struct traversal_state): New.
1064         (call_count): New.
1065         (call_alloc): New.
1066         (compare_ptr_data): New.
1067         (relocate_ptrs): New.
1068         (write_pch_globals): New.
1069         (struct mmap_info): New.
1070         (gt_pch_save): New.
1071         (gt_pch_restore): New.
1072         * ggc-page.c (ROUND_UP_VALUE): New.
1073         (ROUND_UP): New.
1074         (struct page_entry): Add field `pch_page'.
1075         (init_ggc): Use ROUND_UP.
1076         (struct ggc_pch_data): Declare.
1077         (init_ggc_pch): New.
1078         (ggc_pch_count_object): New.
1079         (ggc_pch_total_size): New.
1080         (ggc_pch_this_base): New.
1081         (ggc_pch_alloc_object): New.
1082         (ggc_pch_prepare_write): New.
1083         (ggc_pch_write_object): New.
1084         (ggc_pch_finish): New.
1085         (ggc_pch_read): New.
1086         * ggc.h (gt_pointer_operator): New.
1087         (gt_note_pointers): New.
1088         (gt_pch_note_object): New prototype.
1089         (gt_pointer_walker): New.
1090         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
1091         (LAST_GGC_ROOT_TAB): Update.
1092         (gt_pch_cache_rtab): Declare.
1093         (gt_pch_scalar_rtab): Declare.
1094         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
1095         (LAST_GGC_CACHE_TAB): Update.
1096         (gt_pch_save_stringpool): Declare.
1097         (gt_pch_restore_stringpool): Declare.
1098         (gt_pch_p_S): Declare.
1099         (gt_pch_n_S): Declare.
1100         (struct ggc_pch_data): Forward-declare.
1101         (init_ggc_pch): Declare.
1102         (ggc_pch_count_object): Declare.
1103         (ggc_pch_total_size): Declare.
1104         (ggc_pch_this_base): Declare.
1105         (ggc_pch_alloc_object): Declare.
1106         (ggc_pch_prepare_write): Declare.
1107         (ggc_pch_write_object): Declare.
1108         (ggc_pch_finish): Declare.
1109         (ggc_pch_read): Declare.
1110         (gt_pch_save): Declare.
1111         (gt_pch_restore): Declare.
1112         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1113         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1114         const_double_htab, mem_attrs_htab using GGC.
1115         * c-pch.c: Include ggc.h.
1116         (pch_init): Allow reading PCH file back.
1117         (c_common_write_pch): Call gt_pch_save.
1118         (c_common_read_pch): Call gt_pch_restore.
1119         * c-parse.in (init_reswords): Delete now-untrue comment.
1120         Allocate ridpointers using GGC.
1121         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1122         calling expand_deferred_fns.
1123         * c-common.h (ridpointers): Mark for GTY machinery.
1124         * Makefile.in (stringpool.o): Update dependencies.
1125         (c-pch.o): Update dependencies.
1126         (ggc-common.o): Update dependencies.
1127         * stringpool.c: Include gt-stringpool.h.
1128         (gt_pch_p_S): New.
1129         (gt_pch_n_S): New.
1130         (struct string_pool_data): New.
1131         (spd): New.
1132         (gt_pch_save_stringpool): New.
1133         (gt_pch_restore_stringpool): New.
1134         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1135
1136         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1137
1138         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1139         (output_mangled_typename): Don't pass size_t to printf.
1140
1141         * tree.h (union tree_type_symtab): Add tag to `address' field.
1142         (union tree_decl_u2): Add tag to 'i' field.
1143         * varasm.c (union rtx_const_un): Add tags to all fields.
1144         * gengtype.c (struct walk_type_data): New.
1145         (output_escaped_param): Take struct walk_type_data parameter.
1146         (write_gc_structure_fields): Delete.
1147         (walk_type): New.
1148         (write_gc_marker_routine_for_structure): Delete.
1149         (write_func_for_structure): New.
1150         (gc_mark_process_field): New.
1151         (gc_mark_func_name): New.
1152         (gc_counter): Delete.
1153         (write_gc_types): Use write_func_for_structure.
1154         (write_gc_roots): Use walk_type.
1155
1156         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1157
1158         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1159         (ggc_splay_dont_free): Fix warning about unused 'x'.
1160         (ggc_print_common_statistics): Remove warnings.
1161
1162         2002-10-01  Mike Stump  <mrs@apple.com>
1163
1164         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1165         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1166
1167         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1168             Catherine Moore  <clm@redhat.com>
1169
1170         * Makefile (c-pch.o): Update dependencies.
1171         (LIBCPP_OBJS): Add cpppch.o.
1172         (cpppch.o): New.
1173         * c-common.c (c_common_init): Don't call pch_init here.
1174         * c-common.h (c_common_read_pch): Update prototype.
1175         * c-lex.c (c_common_parse_file): Call pch_init here.
1176         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1177         (c_common_decode_option): Handle them.
1178         * c-pch.c: Include c-pragma.h.
1179         (save_asm_offset): Delete.
1180         (pch_init): Move contents of save_asm_offset into here, call
1181         cpp_save_state.
1182         (c_common_write_pch): Call cpp_write_pch.
1183         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1184         cpp_valid_state.
1185         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1186         * cppfiles.c (stack_include_file): Update for change to
1187         parameters of cb.read_pch.
1188         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1189         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1190         `restore_pch_deps' fields.
1191         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1192         (cpp_save_state): Prototype.
1193         (cpp_write_pch): Prototype.
1194         (cpp_valid_state): Prototype.
1195         (cpp_read_state): Prototype.
1196         * cpppch.c: New file.
1197         * flags.h (version_flag): Remove prototype.
1198         * mkdeps.c (deps_save): New.
1199         (deps_restore): New.
1200         * mkdeps.h (deps_save): Prototype.
1201         (deps_restore): Prototype.
1202         * toplev.c (late_init_hook): Delete.
1203         (version_flag): Make static again.
1204         (compile_file): Don't call late_init_hook.
1205         * toplev.h (late_init_hook): Delete.
1206         * doc/cppopts.texi: Document -fpch-deps.
1207         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1208
1209         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1210
1211         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1212         callers.
1213         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1214         (c_common_read_pch): Rename from c_read_pch, change callers.
1215
1216         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1217         a space between it and its argument.
1218
1219         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1220
1221         * c-pch.c: New file.
1222         * toplev.h (late_init_hook): Declare.
1223         * toplev.c (late_init_hook): Define.
1224         (version_flag): Make globally visible.
1225         (compile_file): Call late_init_hook.
1226         (init_asm_output): Make output file seekable.
1227         * gcc.c (default_compilers): Update c-header rule.
1228         * flags.h (version_flag): Declare.
1229         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1230         fields.
1231         * cppfiles.c (struct include_file): Add 'pch' field.
1232         (INCLUDE_PCH_P): New.
1233         (open_file_pch): New.
1234         (stack_include_file): Handle PCH files specially.
1235         (find_include_file): Call open_file_pch instead of open_file.
1236         (_cpp_read_file): Explain why open_file is used instead of
1237         open_file_pch.
1238         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1239         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1240         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1241         in cpplib callbacks.
1242         * c-common.c (pch_file): Correct comment.
1243         (allow_pch): Define.
1244         (c_common_init): Call pch_init.
1245         * c-common.h (allow_pch): Declare.
1246         (pch_init): Declare.
1247         (c_valid_pch): Declare.
1248         (c_read_pch): Declare.
1249         (c_write_pch): Declare.
1250         * Makefile.in (c-pch.o): New.
1251         (C_AND_OBJC_OBJS): Add c-pch.o.
1252         * doc/invoke.texi (Precompiled Headers): Add index entries,
1253         complete truncated paragraph.
1254
1255         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1256
1257         * c-common.c: (pch_file): Define.
1258         * c-common.h (pch_file): Declare.
1259         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1260         (missing_arg): Require --output-pch= to have an argument.
1261         (c_common_decode_option): Handle --output-pch=.
1262         * gcc.c: Document new %V.
1263         (default_compilers): Handle compiling C header files.
1264         (do_spec_1): Implement %V.
1265         (main): Handle "gcc foo.h" without trying to run linker.
1266         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1267         (Overall Options): Document what the driver does with header files,
1268         document new -x option possibilities.
1269         (Invoking G++): More documentation for PCH.
1270         (Precompiled Headers): New.
1271
1272         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1273
1274         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1275         organized.
1276         (ggc_add_root): Delete.
1277         (ggc_mark_rtx): Delete.
1278         (ggc_mark_tree): Delete.
1279         (struct ggc_statistics): Remove contents.
1280         * ggc-common.c: Remove unneeded includes.
1281         (struct ggc_root): Delete.
1282         (roots): Delete.
1283         (ggc_add_root): Delete.
1284         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1285         (ggc_print_common_statistics): Remove most of the contents.
1286         * Makefile.in (GGC_H): No longer uses varray.h.
1287         (ggc-common.o): Update dependencies.
1288         (c-parse.o): Add varray.h to dependencies.
1289         (c-common.o): Add varray.h.
1290         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1291         (mark_ident_hash): Rename to ggc_mark_stringpool.
1292         (init_stringpool): Don't use ggc_add_root.
1293         * c-parse.in: Include varray.h.
1294         * c-common.c: Include varray.h.
1295         * objc/Make-lang.in (objc-act.o): Add varray.h.
1296         * objc/objc-act.c: Include varray.h.
1297
1298         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1299
1300         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1301         (dw_cfi_oprnd1_desc): Likewise.
1302
1303         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1304
1305         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1306         move out of ifdef.
1307         (alpha_links): Use gengtype to mark; move out of ifdef.
1308         (mark_alpha_links_node): Delete.
1309         (mark_alpha_links): Delete.
1310         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1311         alpha_links, strings.  Don't use ggc_add_root.
1312         * ggc-common.c (ggc_splay_alloc): New.
1313         (ggc_splay_dont_free): New.
1314         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1315         (ggc_mark_tree): Likewise.
1316         (splay_tree_new_ggc): New.
1317         (ggc_splay_alloc): Declare.
1318         (ggc_splay_dont_free): Declare.
1319         * dwarf2asm.c: Include gt-dwarf2asm.h.
1320         (mark_indirect_pool_entry): Delete.
1321         (mark_indirect_pool): Delete.
1322         (indirect_pool): Use gengtype to mark.
1323         (dw2_force_const_mem): Don't use ggc_add_root.
1324         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1325         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1326         (gt-dwarf2asm.h): Depend on s-gtype.
1327
1328         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1329
1330         * tree.h (union tree_type_symtab): Mark `die' field.
1331         * Makefile.in (dwarf2out.o): Update dependencies.
1332         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1333         hash tables.
1334         (dw_cfi_oprnd1_desc): New function.
1335         (dw_cfi_oprnd2_desc): New function.
1336         (indirect_string_alloc): Delete.
1337         (debug_str_do_hash): New function.
1338         (debug_str_eq): New function.
1339         (mark_limbo_die_list): Delete.
1340         (dwarf2out_init): Don't call ggc_add_root.
1341
1342 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1343
1344         The following changes are merged from itanium-sched-branch:
1345
1346         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1347
1348         * doc/md.texi: Clarify assignment of units to automata description.
1349
1350         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1351
1352         * genautomata.c (unit_decl): Remove members
1353         `the_same_automaton_unit' and
1354         `the_same_automaton_message_reported_p'.
1355         (process_unit_to_form_the_same_automaton_unit_lists,
1356         form_the_same_automaton_unit_lists_from_regexp,
1357         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1358         Remove them.
1359         (annotation_message_reported_p): New global variable.
1360         (check_unit_distribution_in_reserv,
1361         check_regexp_units_distribution): New functions.
1362         (check_unit_distributions_to_automata): Rewrite it.
1363
1364         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1365
1366         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1367         Use continue instead of break if cycle is too big.
1368
1369         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1370
1371         * genautomata.c (check_unit_distributions_to_automata): Output at
1372         most one message for a unit.
1373         (process_unit_to_form_the_same_automaton_unit_lists): Check
1374         automaton of units instead of units themself.
1375
1376         * doc/md.texi: Describe the constraint about assigning unit to
1377         automata.
1378
1379         2002-12-20  Jan Hubicka  <jH@suse.cz>
1380                     Vladimir Makarov  <vmakarov@redhat.com>
1381
1382         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1383         and `in_set_p'.
1384         (gen_cpu_unit): Initialize the new members.
1385         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1386         up `min_occ_cycle_num'.
1387         (evaluate_max_reserv_cycles): Change the function call.
1388         (CLEAR_BIT): New macro.
1389         (states_union, state_shift): Use the mask.
1390         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1391         (form_reservs_matter): New function.
1392         (make_automaton): Call the function and use the mask.
1393         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1394         account.
1395
1396         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1397
1398         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1399
1400         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1401
1402         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1403         for Itanium.
1404
1405         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1406
1407         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1408         default cpu.
1409
1410         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1411                 2002-10-31  Dale Johannesen <dalej@apple.com>
1412
1413         * haifa-sched.c (find_set_reg_weight): New function.
1414         (find_insn_reg_weight): Use the new function.
1415         (schedule_block): Do sorting ready queue always
1416         after insn issue.
1417
1418         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1419
1420         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1421
1422         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1423
1424         * haifa-sched.c (choice_entry): New structure.
1425         (choice_stack, cycle_issued_insns): New variables.
1426         (max_issue): Rewrite it.
1427         (choose_ready): Set up ready_try for unknown insns too.
1428         (schedule_block): Allocate and free choice_stack.  Set up
1429         and modify cycle_issued_insns.
1430
1431         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1432         with and without filling the bundle.
1433         (bundling): Combine calls of issue_nops_and_insn.
1434
1435         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1436
1437         * config/ia64/itanium1.md: New file.
1438
1439         * config/ia64/itanium2.md: New file.
1440
1441         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1442         Remove the old pipeline description.
1443
1444         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1445         itanium processor names.
1446
1447         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1448
1449         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1450         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1451
1452         * config/ia64/ia64.md: Add descriptions for Itanium2.
1453
1454         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1455
1456         * config/ia64/ia64.h (processor_type): New enumeration.
1457         (ia64_tune, ia64_tune_string): New external declarations.
1458         (TARGET_OPTIONS): Add option `tune='.
1459
1460         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1461         variables.
1462         (ia64_override_options): Set up `ia64_tune'.
1463         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1464         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1465         (bundling): Add nops for MM-insns only for Itanium.
1466         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1467         Itanium.
1468
1469         * config/ia64/ia64.md (cpu): New attribute.
1470         (DFA description): Enable it only for Itanium.
1471
1472         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1473                     Richard Henderson  <rth@redhat.com>
1474
1475         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1476         MASK_EARLY_STOP_BITS.
1477         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1478         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1479         `early-stop-bits'.
1480
1481         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1482         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1483         instead of TARGET_TUNE_STOP_BITS.
1484
1485         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1486         `-mearly-stop-bits'.
1487
1488         * config/ia64/ia64.c (automata_option "v"): Comment it.
1489
1490         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1491
1492         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1493         New macros.
1494         (TARGET_SWITCHES): Add entries for the new option.
1495
1496         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1497         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1498         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1499         global variables.
1500         (ia64_sched_reorder2): Set up `clocks'.
1501         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1502         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1503         queue when TARGET_TUNE_STOP_BITS.
1504         (bundling): Insert additional nops for MM-insns.
1505         (final_emit_insn_group_barriers): Add insertion of stop bits
1506         according `stops_p'.
1507         (ia64_reorg): Initiate the new varibales.
1508
1509         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1510
1511         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1512
1513         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1514         insns at the end of block insn scheduling.
1515
1516         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1517
1518         * sched-deps.c (remove_dependence, group_leader): Remove it.
1519         (add_dependence): Add dependence to group leader to.
1520         (set_sched_group_p): Add dependence to the first insn of the
1521         schedule group too.
1522         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1523         Change true dependence by anti-dependence when
1524         `reg_pending_barrier'.
1525
1526         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1527         add_branch_dependences): Ignore schedule groups.
1528
1529         * sched-ebb.c (init_ready_list): Ditto.
1530
1531         * (move_insn, set_priorities): Ditto.
1532
1533         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1534         flag is clear after reload.
1535         (adjust_cost): Change cost only for output dependencies.
1536
1537         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1538
1539         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1540
1541         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1542
1543         * target.h (gcc_target): Add member
1544         `dependencies_evaluation_hook'.
1545
1546         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1547         macro.
1548         (TARGET_SCHED): Add initiatialization of the new member.
1549
1550         * sched-ebb.c: Include `target.h'.
1551         (schedule_ebb): Call `dependencies_evaluation_hook'.
1552
1553         * sched-rgn.c (schedule_region): Call
1554         `dependencies_evaluation_hook'.
1555
1556         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1557         New macro.
1558         (ia64_dependencies_evaluation_hook): New function.
1559
1560         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1561         Describe the new hook.
1562
1563         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1564
1565         * target.h (gcc_target): Add members
1566         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1567
1568         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1569         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1570         macros.
1571         (TARGET_SCHED): Add initiatialization of the new members.
1572
1573         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1574         insn scheduling too.
1575         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1576         initialize `ready_try'.
1577         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1578         `dfa_new_cycle' says not to do it.
1579
1580         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1581         bundling.
1582
1583         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1584
1585         * config/ia64/ia64.c: Include `hashtab.h'.
1586         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1587         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1588         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1589         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1590         bundle_state_eq_p, insert_bundle_state,
1591         initiate_bundle_state_table, finish_bundle_state_table,
1592         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1593         get_template, get_next_important_insn, bundling): New functions.
1594         (ia64_internal_sched_reorder): Remove it.
1595         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1596         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1597         (ia64_safe_itanium_requires_unit0): Remove it.
1598         (group_barrier_needed_p): Place group barrier right before a real
1599         insn.
1600         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1601         Remove them.
1602         (bundle_name): New variable.
1603         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1604         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1605         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1606         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1607         temp_dfa_state, prev_cycle_state): New global variables.
1608         (insn_matches_slot, maybe_rotate, finish_last_head,
1609         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1610         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1611         find_best_packet, itanium_reorder, dump_current_packet,
1612         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1613         (sched_data, sched_ready, sched_types): Remove them.
1614         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1615         `init_insn_group_barriers'.
1616         (ia64_sched_reorder, ia64_sched_reorder2): Call
1617         ia64_dfa_sched_reorder.
1618         (ia64_variable_issue): Rewrite it.
1619         (bundle_state): New structure.
1620         (index_to_bundle_states, bundle_states_num,
1621         allocated_bundle_states_chain, free_bundle_state_chain): New
1622         global variables.
1623         (ia64_sched_finish): Add stop bits and call `bundling' after the
1624         2nd insn scheduling.
1625         (ia64_use_dfa_pipeline_interface): Return zero always.
1626         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1627         insn scheduling.
1628         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1629         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1630         (ia64_reorg): Add bundling insns.
1631
1632         * doc/tm.texi
1633         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1634         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1635
1636         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1637
1638         * config/ia64/ia64.md: Add Itanium1 DFA description.
1639         (itanium_class): Add `nop' and `pre_cycle'.  Add
1640         define_function_unit for `nop'.
1641         (nop): Change attribute `itanium_class'.
1642         (pre_cycle): New define_insn.
1643
1644         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1645         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1646         ia64_produce_address_p): New function prototypes.
1647
1648         * config/ia64/ia64.c (bundling_p): New global variable.
1649         (ia64_use_dfa_pipeline_interface,
1650         ia64_first_cycle_multipass_dfa_lookahead,
1651         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1652         functions.
1653         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1654         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1655         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1656         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1657         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1658         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1659         (dfa_pre_cycle_insn): New variable.
1660
1661         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1662
1663         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1664         constructions.
1665
1666         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1667         New function prototypes.
1668
1669         * genattrtab.c (main): Process the new constructions.
1670
1671         * genautomata.c (gen_presence_absence_set,
1672         process_presence_absence_names, process_presence_absence_patterns,
1673         add_presence_absence, check_absence_pattern_sets): Add parameter
1674         `final_p'.
1675         (unit_decl): Add new members `final_presence_list' and
1676         `final_absence_list'.
1677         (unit_pattern_rel_decl): Add new member `final_p'.
1678         (gen_final_presence_set, gen_final_absence_set): New functions.
1679         (process_decls): Use member `final_p'.
1680         (temp_reserv): New global variable.
1681         (reserv_sets_are_intersected): Add processing `final_presence_set'
1682         and `final_absence_set'.
1683         (initiate_states): Allocate `temp_reserv'.
1684         (unit_final_presence_set_table, unit_final_absence_set_table): New
1685         gloabal variables.
1686         (initiate_presence_absence_pattern_sets): Initiate them.
1687         (NDFA_to_DFA): Fix typo.
1688         (output_description): Output `final_presence_set' and
1689         `final_absence_set'.
1690
1691         * doc/md.texi (final_presence_set, final_absence_set): Describe
1692         them.
1693
1694         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1695
1696         * genautomata.c (transform_3): Process a missing case (nothing on
1697         unit place).
1698
1699         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1700
1701         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1702         comments about queried units and the minimization.
1703
1704         * doc/md.texi: Ditto.
1705
1706         * genautomata.c (create_composed_state): Return nonzero if the new
1707         state has been created.
1708         (first_cycle_unit_presence): New function.
1709         (state_is_differed): Add new parameter.  Use the new function.
1710         Take queried units into account.
1711         (partition_equiv_class): Pass additional parameter to
1712         `state_is_differed'.
1713         (merge_states): Process composed states too.
1714         (build_automaton, create_automata, output_min_issue_delay_table,
1715         output_tables, output_statistics): Output more information.
1716         (output_reserved_units_table): Use function
1717         `first_cycle_unit_presence'.
1718         (output_tables): Output table of queried units even if the
1719         minimization is switched on.
1720         (write_automata): Output code for querying units even if the
1721         minimization is switched on.
1722
1723         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1724
1725         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1726         syntax of the constructions.
1727
1728         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1729         extended syntax of the constructions.
1730
1731         * genautomata.c (unit_rel_decl): Rename it to
1732         `unit_pattern_rel_decl'.
1733         (pattern_set_el, pattern_reserv): New structures.
1734         (pattern_set_el_t, pattern_reserv_t): New types.
1735         (gen_presence_absence_set): New function.
1736         (process_presence_absence): Remove it.
1737         (process_presence_absence_names,
1738         process_presence_absence_patterns): New functions.
1739         (get_presence_absence_set): Remove it.
1740         (initiate_presence_absence_sets): Rename it on
1741         `initiate_presence_absence_pattern_sets'.  Use new function
1742         `form_reserv_sets_list'.
1743         (form_reserv_sets_list, check_presence_pattern_sets,
1744         check_absence_pattern_sets, output_pattern_set_el_list): New
1745         functions.
1746         (unit_decl): Change types of members `presence_list' and
1747         `absence_list'.
1748         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1749         (decl): Change types of members `excl', `presence', and `absence'.
1750         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1751         at the end of the vector.
1752         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1753         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1754         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1755         (gen_presence_set, gen_absence_set): Use new function
1756         `gen_presence_absence_set'.
1757         (add_presence_absence): Process `pattern_list' instead of
1758         `source_list'.
1759         (process_decls): USe new functions
1760         `process_presence_absence_names' and
1761         `process_presence_absence_patterns'.
1762         (reserv_sets_are_intersected): Use new function
1763         `check_presence_pattern_sets'.
1764         (presence_set, absence_set): Remove them.
1765         (unit_presence_set_table, unit_absence_set_table): New global
1766         variables.
1767         (output_description): Use new function
1768         `output_pattern_set_el_list'.
1769         (generate): Use `initiate_presence_absence_pattern_sets'.
1770
1771         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1772
1773         * genattr.c (main): Add output of prototype of new interface
1774         function `dfa_clean_insn_cache'.
1775
1776         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1777         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1778         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1779         the generated code.
1780         (write_automata): Call the new function.
1781
1782 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1783
1784         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1785         correctly.
1786
1787 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1788
1789         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1790
1791 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1792
1793         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1794         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1795         (CONSTRAINT_LEN): Provide default definition.
1796         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1797         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1798         (EXTRA_CONSTRAINT_STR): Likewise.
1799         (REG_CLASS_FROM_CONSTRAINT): Define.
1800         * genoutput.c (check_constraint_len, constraint_len): New functions.
1801         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1802         constraint / modifier.
1803         (gen_insn): Call check_constraint_len.
1804         * local-alloc.c (block_alloc): Update to use new macros / pass
1805         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1806         * ra-build.c (handle_asm_insn): Likewise.
1807         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1808         (constrain_operands, peep2_find_free_register): Likewise.
1809         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1810         * regmove.c (find_matches): Likewise.
1811         * reload.c (push_secondary_reload, find_reloads): Likewise.
1812         (alternative_allows_memconst): Likewise.
1813         * reload1.c (maybe_fix_stack_asms): Likewise.
1814         (reload_cse_simplify_operands): Likewise.
1815         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1816         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1817         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1818         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1819         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1820         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1821
1822         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1823
1824 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1825
1826         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1827         length.
1828         (*extzv_1_r_h8300hs): Likewise.
1829         (*extzv_1_r_inv_h8300): Likewise.
1830         (*extzv_1_r_inv_h8300hs): Likewise.
1831
1832 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1833
1834         * config/h8300/h8300.h (PREDICATE_CODES): New.
1835
1836 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1837
1838         * config/h8300/h8300.md (*addsi3_upper): New.
1839         (*iorsi3_shift): Likewise.
1840         (two splitters): Likewise.
1841         (*addsi3_shift): Likewise.
1842         (two splitters): Likewise.
1843
1844 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1845
1846         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1847         * basic-block.h (control_flow_insn_p): Fuction was exported.
1848         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1849         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1850         notes only when the region is contained in a single basic block.
1851
1852 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1853
1854         PR inline-asm/8832
1855         * tree.h (expand_asm): New prototype.
1856         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1857         to do so.
1858         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1859         down to expand_asm.
1860         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1861         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1862         (volatile_refs_p) [ASM_INPUT]: Likewise.
1863         (side_effects_p) [ASM_INPUT]: Likewise.
1864
1865 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1866
1867         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1868         athlon_decode attributes
1869         (imul/k8 optimization peep2s): New.
1870
1871         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1872         * i386.md (type attribute): Add ssecomi.
1873         (unit, memory, prefix attributes): Handle ssecomi.
1874         (cvt?2? patterns): Fix athlon_decode attribute
1875         (comi patterns): Set attribute to ssecomi.
1876
1877         PR target/8343
1878         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1879
1880 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1881
1882         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1883         that match register_operands.
1884         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1885         register_operand the default case.
1886
1887 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1888
1889         PR c/8032
1890         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1891         an empty element, do not advance the pointer to unfilled
1892         fields if there are pending initializers.
1893
1894 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1895
1896         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1897         (install-gcc-tooldir, install-cpp, installdirs,
1898         install-common, install-driver, install-info, install-man,
1899         install-headers, install-include-dir, install-headers-tar,
1900         install-headers-cpio, install-headers-cp, install-mkheaders,
1901         install-collect2, uninstall): Prepend $(DESTDIR) to
1902         destination paths in all (un)installation commands.
1903         (install-driver): Rewrite $(LN) commands to support DESTDIR
1904         with "ln" as well as with "ln -s".
1905         (installdirs): Simply use mkinstalldirs.
1906         (install-libgcc, install-multilib): Also pass DESTDIR.
1907         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1908         installation destination variable ldir.
1909         * config/alpha/t-osf4, config/arm/t-netbsd,
1910         config/ia64/t-hpux, config/mips/t-iris5-6,
1911         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1912         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1913         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1914         in the definition of SHLIB_INSTALL.
1915         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1916         $(libsubdir) in the installation commands.
1917
1918 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1919
1920         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1921         non-optimizing compile.
1922         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1923         compile.
1924
1925 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1926
1927         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1928         ms_struct and gcc_struct.
1929         (ix86_handle_struct_attribute): New function.
1930         (ix86_ms_bitfield_layout_p): Update to take new attributes
1931         into account.
1932         * doc/extend.texi: Document new attributes.
1933         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1934
1935 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1936
1937         PR optimization/8750
1938         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1939         scheduling pass to move insns across __alloca call.
1940
1941 2003-01-08  Dale Johannesen  <dalej@apple.com>
1942
1943         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1944         with *stmsi[3-8].
1945
1946 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1947
1948         PR target/9210
1949         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1950         Set SYMBOL_REF_FLAG on local data sym_ref.
1951
1952 2003-01-08  Dale Johannesen  <dalej@apple.com>
1953
1954         * function.c (assign_parms):  Don't set pretend_args_size if
1955           REG_PARM_STACK_SPACE.
1956           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1957           pretend_args_size.
1958
1959 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1960
1961         * gcc.hlp: Delete.
1962
1963 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1964
1965         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1966
1967 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1968
1969         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1970         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1971         as hook_bool_tree_hwi_hwi_tree_true.
1972         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1973         (rs6000_emit_epilogue): Same.
1974         (rs6000_output_mi_thunk): Re-implement as RTL.
1975         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1976         xcoffout_declare_function if any debugging enabled.
1977
1978 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1979
1980         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1981         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1982         * config/mips/mips.h (enum processor_type): Rename
1983         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1984         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1985         Add PROCESSOR_M4K.
1986         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1987         (ISA_MIPS32R2): New define.
1988         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1989         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1990         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1991         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1992         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1993         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1994         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1995         compiling MIPS16 code.
1996         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1997         comment.
1998         (ISA_HAS_SEB_SEH): New define.
1999         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
2000         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
2001         processor_type value renaming.  Add support for MIPS32R2.
2002         Clean up comments, and move "sb1" entry with other MIPS64 CPU
2003         entries.
2004         (override_options): Reimplement -mipsN option handling so that
2005         it will work correctly for -mips32r2.  Avoid branch-likely
2006         instructions on MIPS32R2.
2007         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
2008         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
2009         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
2010         (extendhisi2_hw, extendqisi2_hw): New.
2011         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
2012         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
2013         MIPS32R2, and MIPS64.
2014         (LINK_SPEC): Pass -mips32r2 to linker.
2015         * config/mips/t-isa3264: Built -mips32r2 multilibs.
2016         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
2017         for mips32r2 in the -march description.  Alphabetically sort
2018         CPU names in the -march description.  Add long-missed -mips32
2019         and -mips64 to MIPS option summary.
2020
2021         * config.gcc: Update copyright years to include 2003.
2022         * config/mips/mips.c: Likewise.
2023         * config/mips/mips.h: Likewise.
2024         * config/mips/mips.md: Likewise.
2025         * config/mips/netbsd.h: Likewise.
2026         * doc/invoke.texi: Likewise.
2027
2028 2003-01-08  Andreas Schwab  <schwab@suse.de>
2029
2030         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
2031         variable.
2032         * configure: Regenerated.
2033
2034 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2035
2036         * config/h8300/h8300.c (output_logical_op): Replace byte/word
2037         extraction of det with b0, b1, w0, w2, etc.
2038         (compute_logical_op_length): Likewise.
2039         (compute_logical_op_cc): Likewise.
2040
2041 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2042
2043         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
2044         HIGH on all variants.
2045
2046 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
2047
2048         * Makefile.in (PARTITION_H): New.
2049         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
2050         * basic-block.h: Include hard-reg-set.h.
2051
2052 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
2053
2054         * arm.h (ENABLE_XF_PATTERNS): Delete.
2055         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
2056         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
2057         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
2058         (cmpxf_trap): Delete.
2059         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
2060
2061 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2062
2063         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
2064         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
2065         (add??cc): New expanders.
2066         * i386.c (expand_int_addcc): New function.
2067         * i386-protos.h (expand_int_addcc): Declare.
2068
2069         * alias.c (memory_modified_1): New static function.
2070         (memory_modified): New static varaible.
2071         (memory_modified_in_insn_p): New global function.
2072         * rtl.h (memory_modified_in_insn_p): Declare.
2073         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
2074         references.
2075
2076         * expr.h (emit_conditional_add): Declare.
2077
2078 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
2079
2080         PR other/8947
2081         * doc/invoke.texi (-malign-double): Explain that the option breaks
2082         binary compatibility.
2083
2084 2003-01-08  Andreas Schwab  <schwab@suse.de>
2085
2086         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
2087         should come from the generic *-*-linux* entry.
2088
2089 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
2090
2091         * cselib.c (cselib_current_insn_in_libcall): New static variable.
2092         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
2093         we are inside libcall.
2094         * cselib.h (elt_loc_list): Add in_libcall.
2095         * gcse.c (do_local_cprop): Do not copy propagate using insns
2096         in libcalls.
2097
2098 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
2099
2100         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
2101         not normally affect to issue rate.
2102
2103 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2104
2105         * genopinit.c (optabs): Add addc_optab.
2106         * ifcvt.c (noce_try_store_flag): Rename to ...
2107         (noce_try_addcc): ... this one; handle generic conditional increment.
2108         (noce_process_if_block): Update noce_try_addcc call.
2109         * optabs.c (emit_conditional_add): New.
2110         (init_obtabs): Initialize addc_optab.
2111         * optabs.h (optab_index): Add OTI_addcc.
2112         (addcc_optab): New macro.
2113         * md.texi: Document addMcc
2114
2115         PR target/8322
2116         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2117         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2118         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2119
2120         * reload1.c (delete_output_reload): Avoid repeated attempts
2121         to delete insn.
2122
2123 2003-01-07  Andreas Schwab  <schwab@suse.de>
2124
2125         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2126         Move --enable-initfini-array check ...
2127         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2128         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2129         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2130         * configure: Rebuild.
2131
2132 2003-01-07  Richard Henderson  <rth@redhat.com>
2133
2134         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2135         if the register is set once.
2136
2137 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2138
2139         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2140         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2141         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2142
2143 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2144             Sunil Davasam  <sunil.k.davasam@intel.com>
2145
2146         PR libstdc++/9076
2147         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2148         DW_CFA_same_value, read next and ignore.
2149
2150 2003-01-07  Richard Henderson  <rth@redhat.com>
2151
2152         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2153
2154 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2155
2156         * cfg.c: Include alloc-pool.h
2157         (edge_pool): New pool.
2158         (bb_pool): New pool.
2159         (first_deleted_edge): Remove.
2160         (first_deleted_block): Remove.
2161         (init_flow): Alloc/free the pools.
2162         (free_edge): Use pools.
2163         (alloc_block): Ditto.
2164         (expunge_block): Ditto.
2165         (cached_make_edge): Ditto.
2166
2167         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2168
2169 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2170
2171         * et-forest.c: Include alloc-pool.h.
2172         (struct et_forest): Add node_pool and occur_pool.
2173         (et_forest_create): Create the new pools.
2174         (et_forest_delete): Delete them.
2175         (et_forest_add_node): Allocate and free using pools.
2176         (et_forest_add_edge): Ditto.
2177         (et_forest_remove_node): Ditto.
2178         (et_forest_remove_edge): Ditto.
2179
2180         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2181
2182 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2183
2184         * config/h8300/h8300.c (output_logical_op): Simplify and
2185         optimize the handling of SImode.
2186         * config/h8300/h8300.c (compute_logical_op_length): Update
2187         accordingly.
2188         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2189
2190 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2191
2192         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2193         big-endian correction to indirect arguments too.
2194
2195 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2196
2197         Segher Boessenkool  <segher@koffie.nl>
2198
2199         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2200         (alt_reg_names): Ditto, fix formatting.
2201         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2202
2203 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2204
2205         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2206         (output_logical_op): Constify intval and det.
2207         (compute_logical_length): Likewise.
2208         (compute_logical_cc): Likewise.
2209         (output_a_shift): Constify mask.
2210         (h8300_encode_label): Constify len.
2211
2212 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2213
2214         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2215         (h8300_expand_epilogue): Likewise.
2216
2217 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2218
2219         Segher Boessenkool  <segher@koffie.nl>
2220
2221         * config/rs6000/altivec.md: Remove spaces from assembler
2222         instruction argument lists.
2223
2224 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2225
2226         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2227         c4x_assembler_function_p.
2228         (c4x_null_epilogue_p): Complement return value, all uses updated.
2229         (c4x_insert_attributes): Add naked.
2230         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2231         * doc/extend.texi: Update C4x function attributes.
2232
2233 2003-01-06  Richard Henderson  <rth@redhat.com>
2234
2235         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2236         properly when changing "local-ness".
2237         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2238
2239 2003-01-06  Dale Johannesen  <dalej@apple.com>
2240
2241         * config/darwin-protos.h:  Add prototypes for new section functions.
2242
2243 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2244
2245         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2246         to EABI.
2247
2248 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2249
2250         * hwint.h: If the current compiler has no 64-bit type at all,
2251         make HOST_WIDEST_INT 32 bits.
2252
2253 2003-01-06  Eric Christopher  <echristo@redhat.com>
2254
2255         * config/mips/mips.md (movdf_internal2): Fix constraints.
2256
2257 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2258
2259         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2260
2261 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2262
2263         * config/mips/mips.md (leadi): Use dla rather than la.
2264
2265 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2266
2267         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2268         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2269
2270 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2271
2272         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2273         redefinition.
2274
2275 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2276
2277         * config/h8300/h8300.md (*extzv_8_23): New.
2278
2279 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2280
2281         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2282         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2283         USE_EH_FRAME_REGISTRY when defining.
2284
2285 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2286
2287         * config/h8300/h8300.c (output_a_shift): Do not output a
2288         variable shift.
2289         * config/h8300/h8300.md (two splitters): New.
2290
2291 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2292
2293         * config/mips/mips.md: Disable the movstrsi define_split.
2294
2295 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2296
2297         * alloc-pool.c: Don't include "libiberty.h".
2298         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2299         * convert.c (convert_to_real): Hide unused variable.
2300
2301 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2302
2303         * Makefile.in (gtyp-gen.h): Const-ify.
2304         * gcov-dump.c (tag_table): Likewise.
2305
2306 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2307
2308         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2309         of *both* the file name and the fix name.
2310
2311 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2312
2313         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2314         collect2.
2315         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2316         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2317         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2318         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2319         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2320         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2321         elfos.h.
2322         (EH_FRAME_IN_DATA_SECTION): Delete define.
2323         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2324         (STARTFILE_SPEC): Use crtbegin.o.
2325         (ENDFILE_SPEC): Use crtend.o.
2326         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2327         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2328         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2329         DTOR_LIST_BEGIN): Define.
2330         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2331         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2332         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2333
2334 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2335
2336         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2337         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2338         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2339         Cleanup handling of replacement text.
2340         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2341
2342 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2343
2344         * fixinc/tests/base/math.h: removed obsolete results
2345         * fixinc/tests/base/stdlib.h: ditto
2346         * fixinc/tests/base/sys/param.h: ditto
2347         * fixinc/tests/base/sys/stat.h: ditto
2348         * fixinc/tests/base/time.h: ditto
2349         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2350         * fixinc/tests/base/sys/byteorder.h: ditto
2351         * fixinc/inclhack.def: Remove superfluous backslashes
2352
2353 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2354
2355         * config/h8300/h8300-protos.h: Add prototypes for
2356         the new functions defined below.
2357         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2358         define.
2359         (dosize): Emit RTL instead of assembly code.
2360         (push): Likewise.
2361         (pop): Likewise.
2362         (h8300_output_function_prologue): Remove.
2363         (h8300_expand_prologue): New.
2364         (h8300_expand_epilogue): New.
2365         (h8300_output_function_epilogue): Do only the reset of
2366         pragma_saveall.
2367         * config/h8300/h8300.md (push_h8300): New.
2368         (push_h8300hs): Likewise.
2369         (pop_h8300): Likewise.
2370         (pop_h8300hs): Likewise.
2371         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2372         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2373         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2374         (*ldm_h8300s_2): New.
2375         (*ldm_h8300s_3): Likewise.
2376         (*ldm_h8300s_4): Likewise.
2377         (return): Likewise.
2378         (*return_1): Likewise.
2379         (prologue): Likewise.
2380         (epilogue): Likewise.
2381         (monitor_prologue): Likewise.
2382
2383 2003-01-03  Dale Johannesen  <dalej@apple.com>
2384
2385         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2386           machopic_picsymbol_stub1.
2387           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2388         * rs6000/rs6000.c:  Update copyright.
2389           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2390
2391 2003-01-02  Jason Merrill  <jason@redhat.com>
2392
2393         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2394
2395         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2396         static/external decls.
2397
2398         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2399         outermost scope.
2400         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2401
2402 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2403
2404         * config/h8300/h8300-protos.h: Add a prototype for
2405         h8300_current_function_interrupt_function_p.
2406         * config/h8300/h8300.c (interrupt_handler): Remove.
2407         (os_task): Likewise.
2408         (monitor): Likewise.
2409         (pragma_interrupt): New.
2410         (WORD_REG_USED): Use
2411         h8300_current_function_interrupt_function_p.
2412         (dosize): Likewise.
2413         (h8300_output_function_prologue): Likewise.
2414         Do not set interrupt_handler, os_task, monitor.
2415         (h8300_output_function_prologue): Use
2416         h8300_current_function_interrupt_function_p.
2417         Do not set interrupt_handler, os_task, monitor.
2418         (h8300_current_function_interrupt_function_p): New.
2419         (h8300_pr_interrupt): Set pragma_interrupt.
2420         (h8300_insert_attributes): Reset pragma_interrupt.
2421
2422 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2423
2424         * doc/install.texi (Configuration): Fix markup for reference to
2425         gcc/config.gcc.
2426
2427 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2428
2429         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2430         (*iorhi3_two_qi): Likewise.
2431         (*iorsi3_zexthi): Likewise.
2432         (*xorhi3_zextqi): Likewise.
2433         (*xorsi3_zexthi): Likewise.
2434         (*xorsi3_zextqi): Likewise.
2435
2436 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2437
2438         * config/h8300/h8300.c (stack_pointer_operand): New.
2439         (const_int_gt_2_operand): Likewise.
2440         (const_int_ge_8_operand): Likewise.
2441         * config/h8300/h8300.md (a splitter): Likewise.
2442         (a peephole2): Likewise.
2443         * config/h8300/h8300-protos.h: Add prototypes for the new
2444         functions above.
2445
2446 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2447
2448         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2449         objc/objc-act.h: Fix copyright years.
2450
2451 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2452
2453         * doc/passes.texi: Fix documentation for -fssa-ccp
2454
2455 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2456
2457         * gccbug.in: Update for new categories.
2458
2459 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2460
2461         * config/h8300/h8300.md: Reorder some patterns.
2462
2463 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2464
2465         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2466
2467 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2468
2469         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2470         config/cris/cris-protos.h, config/i370/i370-protos.h,
2471         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2472         config/v850/v850-protos.h: Use struct, and don't conditionally
2473         compile on GCC_C_PRAGMA_H.
2474
2475 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2476
2477         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2478         * config/h8300/h8300-protos.h: Likewise.
2479         * config/sh/sh-protos.h: Likewise.
2480
2481 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2482
2483         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2484         cpp_reader.
2485         * config/h8300/h8300-protos.h: Likewise.
2486         * config/sh/sh-protos.h: Likewise.
2487
2488 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2489
2490         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2491         arm_pr_long_calls_off): Use struct.
2492         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2493         : Similarly.
2494         Don't include cpplib.h.
2495         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2496         sh_pr_nosave_low_regs): Similarly.
2497
2498 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2499
2500         * config/h8300/h8300.c: Include cpplib.h.
2501
2502 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2503
2504         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2505           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2506           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2507           "GCC" in the copyright header.
2508
2509 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2510
2511         * c-pragma.c (c_register_pragma): New.
2512         (init_pragma): Use it.
2513         * c-pragma.h (cpp_register_pragma): Don't declare.
2514         (c_register_pragma): New.
2515         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2516         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2517         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2518         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2519         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2520         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2521         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2522         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2523         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2524         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2525         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2526         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2527
2528 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2529
2530         * config/h8300/h8300-protos.h: Update the prototypes.
2531         * config/h8300/h8300.c (const_le_2_operand): Change to
2532         const_int_le_2_operand.
2533         (const_int_le_6_operand): Change to const_int_le_6_operand.
2534         * config/h8300/h8300.md (two peepholes): Update the function
2535         names.
2536
2537 2002-12-31  Tom Tromey  <tromey@redhat.com>
2538
2539         * doc/install.texi (Testing): Fixed typo.
2540
2541 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2542
2543         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2544         (TRAMPOLINE_SIZE): Support the normal mode.
2545         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2546
2547 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2548
2549         * c-common.h (pending_lang_change): Declare.
2550
2551 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2552
2553         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2554         descriptions.
2555
2556 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2557
2558         * gcc/doc/invoke.texi (Optimization Options): List the options
2559         enabled by each -O flag.
2560
2561 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2562
2563         * doc/install.texi (Configuration): Explicitly refer
2564         gcc/config.gcc for a list of cpu models.
2565
2566 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2567
2568         * config/h8300/h8300.h: Fix comment typos.
2569
2570 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2571
2572         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2573
2574 2002-12-30  Tom Tromey  <tromey@redhat.com>
2575
2576         * doc/install.texi (Testing): Mention Jacks.
2577
2578 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2579
2580         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2581
2582 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2583
2584         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2585         cases.
2586         (compute_logical_op_length): Update to reflect the change in
2587         output_logical_op.
2588         (compute_logical_op_cc): Likewise.
2589
2590 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2591
2592         * doc/service.texi: Uncomment and update FAQ link.
2593
2594 2002-12-30  Andreas Jaeger  <aj@suse.de>
2595
2596         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2597
2598 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2599
2600         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2601
2602 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2603
2604         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2605         are clearing the most significant byte.
2606         (compute_logical_op_length): Update to reflect the change in
2607         output_logical_op.
2608         (compute_logical_op_cc): Likewise.
2609
2610 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2611
2612         * config/h8300/h8300.md: Give internal names to anonymous
2613         insns.
2614
2615 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2616
2617         * config/h8300/h8300.md: Reorder some insns.
2618
2619 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2620
2621         * config/h8300/h8300-protos.h: Add prototypes for
2622         const_int_qi_operand and const_int_hi_operand.
2623         * config/h8300/h8300.c (const_int_qi_operand): New.
2624         (const_int_hi_operand): Likewise.
2625         * config/h8300/h8300.md (three peepholes): New.
2626
2627 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2628
2629         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2630         Use @copying.
2631
2632 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2633
2634         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2635         * configure: Regenerate.
2636         * doc/install.texi: Update Texinfo version requirement.
2637
2638 2002-12-28  Andreas Jaeger  <aj@suse.de>
2639
2640         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2641         possibly unused.
2642
2643         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2644         correct format.
2645
2646 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2647
2648         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2649         *iorhi_ashift_8.
2650         (*iorhi_lshiftrt_8): New.
2651
2652 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2653
2654         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2655
2656 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2657
2658         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2659
2660 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2661
2662         * config/h8300/h8300-protos.h: Fix comment typos.
2663         Update copyright.
2664         * config/h8300/h8300.c: Fix comment typos.
2665
2666 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2667
2668         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2669
2670 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2671
2672         * config/i386/athlon.md: Fix comment typos.
2673         * config/i386/crtdll.h: Likewise.
2674         * config/i386/djgpp.h: Likewise.
2675         * config/i386/i386-interix.h: Likewise.
2676         * config/i386/i386.c: Likewise.
2677         * config/i386/i386.h: Likewise.
2678         * config/i386/i386.md: Likewise.
2679         * config/i386/k6.md: Likewise.
2680         * config/i386/mingw32.h: Likewise.
2681         * config/i386/pentium.md: Likewise.
2682         * config/i386/sco5.h: Likewise.
2683         * config/i386/winnt.c: Likewise.
2684         * config/i386/xmmintrin.h: Likewise.
2685
2686 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2687
2688         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2689         INSN_P before checking to see if it is dead.
2690         (mark_all_insn_unnecessary): Similarly.
2691         (ssa_eliminate_dead_code): Similarly.
2692         * rtl.h (struct rtx_def): Update comments for in_struct usage
2693         in dead code elimination pass.
2694         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2695
2696 2002-12-26  Andreas Schwab  <schwab@suse.de>
2697
2698         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2699
2700 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2701
2702         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2703         tartet_flags_explicit.
2704         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2705         Compact target_flags bits.
2706         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2707         (TARGET_SWITCHES): Delete references to *_SET flags.
2708
2709 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2710
2711         * i386.md (memory attribute): Fix setcc attribute.
2712
2713 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2714
2715         * output.h: Fix comment typos.
2716         * predict.c: Likewise.
2717         * print-tree.c: Likewise.
2718         * profile.c: Likewise.
2719         * ra-build.c: Likewise.
2720         * ra-colorize.c: Likewise.
2721         * ra-debug.c: Likewise.
2722         * ra-rewrite.c: Likewise.
2723         * ra.c: Likewise.
2724         * ra.h: Likewise.
2725         * real.c: Likewise.
2726         * recog.c: Likewise.
2727         * reg-stack.c: Likewise.
2728         * regclass.c: Likewise.
2729
2730 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2731
2732         * config/h8300/h8300.c (print_operand_address): Do not negate
2733         a negative number when printing one.
2734
2735 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2736
2737         * config/h8300/h8300-protos.h: Add prototypes for
2738         output_plussi, compute_plussi_length, and compute_plussi_cc.
2739         * config/h8300/h8300.c (output_plussi): New.
2740         (compute_plussi_length): Likewise.
2741         (compute_plussi_cc): Likewise.
2742         * config/h8300/h8300.md (addsi_h8300h): Call
2743         output_plussi, compute_plussi_length, and compute_plussi_cc.
2744
2745 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2746
2747         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2748         of match_operand in the new patterns.
2749
2750 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2751
2752         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2753
2754 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2755
2756         * configure.in (enable-coverage): Add SELF_COVERAGE.
2757         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2758
2759 2002-12-24  Jim Wilson  <wilson@redhat.com>
2760
2761         * alias.c (record_set): Handle multi-reg hard registers.
2762
2763 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2764
2765         * regmove.c: Fix comment typos.
2766         * reload.c: Likewise.
2767         * reload1.c: Likewise.
2768         * resource.c: Likewise.
2769         * rtl.def: Likewise.
2770         * rtl.h: Likewise.
2771         * rtlanal.c: Likewise.
2772         * sched-deps.c: Likewise.
2773         * sched-rgn.c: Likewise.
2774         * sibcall.c: Likewise.
2775         * simplify-rtx.c: Likewise.
2776         * ssa-ccp.c: Likewise.
2777         * ssa.c: Likewise.
2778         * stmt.c: Likewise.
2779         * stor-layout.c: Likewise.
2780         * system.h: Likewise.
2781         * tlink.c: Likewise.
2782         * toplev.c: Likewise.
2783         * tracer.c: Likewise.
2784         * tree-inline.c: Likewise.
2785         * tree.c: Likewise.
2786         * tree.h: Likewise.
2787         * unroll.c: Likewise.
2788         * varasm.c: Likewise.
2789
2790 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2791
2792         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2793         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2794         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2795         DG/UX entries.
2796         * doc/md.texi: Remove AMD 29K entries.
2797         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2798         1.38.1, NewsOS, RT PC, WE32K entries.
2799
2800 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2801
2802         PR/8763
2803         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2804         (altivec_vspltisw_v4sf): Name pattern.
2805         (altivec_vslw_v4sf): New pattern.
2806
2807 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2808
2809         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2810
2811 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2812
2813         * stor-layout.c (update_alignment_for_field): Correct handling of
2814         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2815         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2816         bitfield does not affect alignment.
2817
2818 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2819
2820         * expr.c (expand_assignment): Apply special treatment to
2821         ARRAY_TYPE.
2822
2823 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2824
2825         * config/h8300/h8300-protos.h: Update the prototype of
2826         expand_a_shift.
2827         * config/h8300/h8300.c (expand_a_shift): Change the return
2828         type to void.
2829         * config/h8300/h8300.md: Update all the uses of
2830         expand_a_shift.
2831
2832 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2833
2834         * tree.c (save_expr): Allow either side of a dyadic operand to be
2835         constant.
2836
2837         * doc/portability.texi (portability): Update portability goals.
2838
2839 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2840
2841         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2842
2843 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2844
2845         * stor-layout.c (update_alignment_for_field): Guard use of
2846         ADJUST_FIELD_ALIGN with #ifdef.
2847
2848         * stor-layout.c (update_alignment_for_field): Use
2849         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2850         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2851
2852 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2853
2854         * genautomata.c: Fix comment typos.
2855
2856 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2857
2858         * params.def (tracer-min-branch-probability-feedback): Fix default.
2859         * final.c (compute_alignments): Use profile to avoid code bloat.
2860
2861 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2862
2863         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2864         sequences end with a valid cc0 whenever possible.
2865
2866 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2867
2868         * config/h8300/h8300.md (negsf2): New.
2869         (*negsf2_h8300): Likewise.
2870         (*negsf2_h8300hs): Likewise.
2871
2872 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2873
2874         * integrate.c (output_inline_function): Don't hold private
2875         pointers to 'struct function' over GC calls.
2876
2877 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2878
2879         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2880         NO_FPSCR_VALUES.
2881         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2882
2883 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2884
2885         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2886         length.
2887
2888 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2889
2890         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2891         second alternative "#".
2892         (*zero_extendqihi2_h8300hs): Likewise.
2893         (a define_split): New.
2894
2895 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2896
2897         * config/h8300/h8300-protos.h: Update the prototype for
2898         split_adds_subs.
2899         Add prototypes for const_le_2_operand and const_le_6_operand.
2900         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2901         specify whether inc/dec should be used when possible.
2902         (const_le_2_operand): New.
2903         (const_le_6_operand): Likewise.
2904         * config/h8300/h8300.md (two peepholes): New.
2905
2906 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2907
2908         * config/fr30/fr30.md: Fix a comment typo.
2909         * config/i386/i386.c: Likewise.
2910         * config/ip2k/ip2k.h: Likewise.
2911
2912 2002-12-20  Jim Wilson  <wilson@redhat.com>
2913
2914         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2915         (__ev_subw, __ev_subiw): New.
2916         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2917         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2918
2919 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2920
2921         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2922         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2923         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2924         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2925
2926 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2927
2928         * config/h8300/h8300-protos.h: Add prototypes for
2929         incdec_operand and eqne_operator.
2930         * config/h8300/h8300.c (incdec_operand): New.
2931         (eqne_operator): Likewise.
2932         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2933         (CONST_OK_FOR_O): Likewise.
2934         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2935         CONST_OK_FOR_O.
2936         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2937         (addhi3_incdec): New.
2938         (addsi3_incdec): Likewise.
2939         (two peepholes): Likewise.
2940
2941 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2942
2943         * config/h8300/h8300.c (dosize): Remove warnings.
2944         (print_operand): Likewise.
2945
2946 2002-12-20  Richard Henderson  <rth@redhat.com>
2947
2948         * config/alpha/alpha.c (decl_has_samegp): New.
2949         (samegp_function_operand): Use it.  Rename from
2950         current_file_function_operand.
2951         (direct_call_operand): Handle -msmall-text via symbol->jump.
2952         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2953         (tls_symbolic_operand_type): Likewise.
2954         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2955         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2956         (alpha_end_function): Set symbol->jump for functions defined in
2957         the text section.
2958         * config/alpha/alpha-protos.h: Update.
2959         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2960         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2961         (PREDICATE_CODES): Update.
2962         * config/alpha/alpha.md (call patterns): Update for
2963         samegp_function_operand rename; use !samegp reloc if
2964         TARGET_EXPLICIT_RELOCS.
2965         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2966
2967 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2968
2969         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2970         all registers capable of holding a double float.
2971         (*rcond): change name of "reverse branch" insns to
2972         something more meaningful.
2973         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2974         comparisons properly.
2975         (*ffs): Change operand 0 from write to read-modify-write.
2976         (*ffsssi2): Drop constraints from define_expand.
2977
2978         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2979         MOVE_RATIO as default for store operations.
2980
2981         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2982         LONG_REGS class.
2983         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2984         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2985         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2986
2987         * config/ns32k/STATUS: New File
2988         * config/ns32k/NOTES: New file.
2989
2990 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2991
2992         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2993         option for S/390 and zSeries.
2994         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2995         s390_arch_string): New variables.
2996         (override_options): Checking for options and setting of
2997         appropriate target_flags, cpu and arch flags.
2998         * config/s390/s390.h: (processor_type): New enum.
2999         (TARGET_SWITCHES): New switches -mesa/zarch.
3000         * config/s390/s390.md: New attribute 'cpu'.
3001
3002 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3003
3004         * c-pretty-print.h: Fix comment typos.
3005         * integrate.c: Likewise.
3006         * varasm.c: Likewise.
3007         * config/c4x/c4x.h: Likewise.
3008         * config/c4x/c4x.md: Likewise.
3009         * config/fr30/fr30.md: Likewise.
3010         * config/frv/frv.c: Likewise.
3011         * config/h8300/h8300.c: Likewise.
3012         * config/i386/i386.c: Likewise.
3013         * config/i386/i386.h: Likewise.
3014         * config/ia64/ia64.c: Likewise.
3015         * config/ia64/ia64.h: Likewise.
3016         * config/ip2k/ip2k.md: Likewise.
3017         * config/m68hc11/m68hc11-crt0.S: Likewise.
3018         * config/m68hc11/m68hc11.h: Likewise.
3019         * config/m68hc11/m68hc11.md: Likewise.
3020         * config/m68hc11/m68hc12.h: Likewise.
3021         * config/mcore/mcore.md: Likewise.
3022         * config/mips/mips.c: Likewise.
3023         * config/mips/mips.md: Likewise.
3024         * config/mmix/mmix-modes.def: Likewise.
3025         * config/pa/pa.c: Likewise.
3026         * config/rs6000/rs6000.c: Likewise.
3027         * config/rs6000/rs6000.h: Likewise.
3028         * config/rs6000/rs6000.md: Likewise.
3029
3030 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3031
3032         * config/h8300/h8300.md (output_a_shift): Clean up the code to
3033         output shifts using rotation.
3034
3035 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3036
3037         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
3038
3039 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3040
3041         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
3042         pointer.
3043         (pushqi_h8300hs): Likewise.
3044         (pushhi_h8300): Likewise.
3045         (pushhi_h8300hs): Likewise.
3046
3047 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
3048
3049         * sched-rgn.c (init_regions): Update comment.
3050
3051 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
3052
3053         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
3054         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
3055         attributes.
3056         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
3057         (get_vrsave_internal,set_vrsave_internal): Same.
3058         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
3059         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
3060         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
3061
3062 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3063             Danny Smith  <dannysmith@users.sourceforge.net>
3064             Eric Kohl  <ekohl@rz-online.de>
3065
3066         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
3067         attributes incompatible with fastcall attribute.
3068         (ix86_handle_regparm_attribute): Likewise.
3069
3070         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
3071         fastcall types.
3072
3073         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3074         attributes.
3075         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
3076         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
3077         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
3078         i386_pe_output_labelref rather than here.
3079         (gen_fastcall_suffix): New function. Decorates a label name with the
3080         fastcall prefix (@) and the stdcall suffix.
3081         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
3082         has a fastcall attribute.
3083         (i386_pe_output_labelref): New function. Outputs a label reference.
3084         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
3085         valid attribute.
3086         (ix86_return_pops_args): Fastcall functions pop the stack.
3087         (init_cumulative_args): Reserve registers ECX and EDX if function has
3088         fastcall attribute.
3089         (function_arg): Use registers ECX and EDX if function has fastcall
3090         attribute.
3091         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
3092         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
3093         (FASTCALL_PREFIX): Define as '@'.
3094         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
3095         attributes.
3096         * doc/extend.texi: Add documentation of fastcall attribute.
3097
3098 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3099
3100         * configure.in: FORBUILD when build!=host changed from
3101         ../$build-alias to ../build-$build_alias to match change made
3102         in top directory.
3103         * configure: Regenerated.
3104
3105 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3106
3107         PR optimization/8988
3108         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
3109         the biv when eliminating.
3110
3111 2002-12-19  Devang Patel  <dpatel@apple.com>
3112         * gcc.c (struct default_compiler): Recognizes input file name with
3113         .CPP extension as C++ source files
3114         * cp/lang-spec.h: Same
3115         * doc/invoke.texi:  Add documentation for .CPP support.
3116
3117 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3118
3119         PR 8553
3120         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3121         registers.
3122         ("absv16qi2"): Same.
3123         ("absv4si2"): Same.
3124         ("absv4sf2"): Same.
3125         ("altivec_abss_v16qi"): Same.
3126         ("altivec_abss_v8hi"): Same.
3127         ("altivec_abss_v4si"): Same.
3128
3129 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3130
3131         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3132         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3133
3134 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3135
3136         PR target/8340
3137         * stmt.c (expand_asm_operands): Produce an error when
3138         the PIC register is clobbered.
3139
3140 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3141
3142         * Makefile.in (OBJS): Add alloc-pool.o
3143         (alloc-pool.o): New object.
3144
3145         * alloc-pool.c: New file.
3146         * alloc-pool.h: New file.
3147
3148 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3149
3150         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3151
3152 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3153
3154         * config.gcc: Set extra_objs in the generic Darwin rule,
3155         not in the machine-specific rules.
3156
3157 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3158
3159         * ChangeLog: Follow spelling conventions.
3160         * ChangeLog.2: Likewise.
3161         * ChangeLog.4: Likewise.
3162         * ChangeLog.5: Likewise.
3163         * cppexp.c: Likewise.
3164         * df.c: Likewise.
3165         * gcov.c: Likewise.
3166         * gengtype.c: Likewise.
3167         * reload1.c: Likewise.
3168         * sched-rgn.c: Likewise.
3169         * stmt.c: Likewise.
3170         * stor-layout.c: Likewise.
3171         * timevar.c: Likewise.
3172         * toplev.c: Likewise.
3173         * tree.h: Likewise.
3174         * varasm.c: Likewise.
3175         * config/fr30/fr30.md: Likewise.
3176         * config/i386/i386.c: Likewise.
3177         * config/ia64/ia64.c: Likewise.
3178         * config/pa/pa.c: Likewise.
3179
3180 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3181
3182         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3183
3184 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3185
3186         PR 8551
3187         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3188         macro.
3189         (vec_cmplt C++ functions): Reverse arguments.
3190
3191 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3192
3193         * config/rs6000/t-rs6000: Move contents to t-fprules,
3194         add rules for dependencies of rs6000.o and to build rs6000-c.o
3195         * config/rs6000/t-fprules: New file from t-rs6000.
3196         * config/rs6000/t-beos: Remove soft-fp rules.
3197         * config/rs6000/t-ppccomm: Likewise.
3198         * config/rs6000/t-newas: Likewise.
3199         * config/rs6000/t-rs6000-c-rule: Delete.
3200         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3201         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3202         Create generic Darwin rules.
3203
3204         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3205
3206 2002-12-18  Doug Evans  <dje@sebabeach.org>
3207
3208         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3209         and LIT_NAME_P.
3210         (move_src_operand): Remove compile-time warning.
3211         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3212
3213 2002-12-18  Jason Merrill  <jason@redhat.com>
3214
3215         * unwind-dw2-fde.c (frame_downheap): Split out from...
3216         (frame_heapsort): Here.
3217
3218 2002-12-17  Jason Merrill  <jason@redhat.com>
3219
3220         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3221         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3222
3223         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3224
3225         * calls.c (expand_call): Don't try to be clever about expanding
3226         the return slot address.
3227
3228 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3229
3230         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3231         Define.
3232
3233 2002-12-17  Jason Merrill  <jason@redhat.com>
3234
3235         * genmultilib: Use 'cd ./foo'.
3236
3237 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3238
3239         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3240
3241 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3242
3243         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3244         * doc/cpp.texi: Likewise.
3245         * doc/extend.texi: Likewise.
3246         * doc/gty.texi: Likewise.
3247         * doc/install.texi: Likewise.
3248         * doc/invoke.texi: Likewise.
3249         * doc/md.texi: Likewise.
3250         * doc/passes.texi: Likewise.
3251         * doc/rtl.texi: Likewise.
3252         * doc/sourcebuild.texi: Likewise.
3253         * doc/tm.texi: Likewise.
3254
3255 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3256
3257         * doc/invoke.texi: Minor spelling and grammar fixes.
3258
3259 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3260
3261         * config/s390/s390.c (s390_output_constant_pool): Replace
3262         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3263
3264 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3265
3266         * convert.c (convert_to_real): Disable function transformation for
3267         now.
3268
3269 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3270
3271         * gcc.c (handle_braces): Allow '@' as a switch name.
3272
3273 2002-12-16  Jason Merrill  <jason@redhat.com>
3274
3275         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3276         with special struct-return ABIs.
3277
3278         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3279         doesn't match the begin SCOPE_STMT in partialness.
3280
3281 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3282
3283         * genmultilib: Create temporary files in unique subdirectory.
3284
3285         * gcc.c (validate_switches): Allow '@' as a switch name.
3286
3287 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3288
3289         * Makefile.in (gcov-iov.h): Improve portability.
3290
3291 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3292
3293         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3294         gas
3295         * mips.md (tablejump insn): Likewise.
3296
3297 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3298
3299         * doc/include/gcc-common.texi: Change version number to 3.4.
3300
3301 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3302
3303         * fixinc/fixlib.h: add: #include <signal.h>
3304         * fixinc/fixincl.c: remove: #include <signal.h>
3305
3306 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3307
3308         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3309         (EXTRA_CONSTRAINT): Use it.
3310         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3311
3312 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3313
3314         * config.gcc (need_64bit_hwint): New variable.
3315         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3316         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3317         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3318         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3319         Set it.
3320         (powerpc*-*-darwin*): Unset it.
3321         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3322         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3323         deleted/nonexistent xm-*.h headers.
3324         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3325         target set need_64bit_hwint in config.gcc.
3326         * configure, config.in: Regenerate.
3327
3328         * hwint.h: Overhaul.  Don't bother trying int for
3329         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3330         decision to force 64-bit HOST_WIDE_INT on
3331         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3332         not visible at this point.  Don't allow prior definition of
3333         any macro defined by this file.
3334
3335         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3336         HOST_BITS_PER_WIDE_INT.
3337         * config/c4x/c4x.h: Adjust redefinition of
3338         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3339         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3340         config/i386/xm-i386-interix.h: Delete file.
3341
3342 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3343             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3344
3345         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3346         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3347
3348 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3349
3350         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3351
3352 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3353
3354         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3355         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3356         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3357         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3358         config/v850/t-v850:  Correct dependencies and normalize
3359         compilation commands for files that include coretypes.h and tm.h.
3360
3361         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3362         not config.h and system.h.
3363
3364 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3365
3366         * i386.c (flags_reg_operand):  New function.
3367         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3368         * i386.md (cmov splitter, movqicc): Use new predicate.
3369
3370 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3371
3372         * i386.md (movqicc splitter): Fix template.
3373
3374 2002-12-13  Jason Merrill  <jason@redhat.com>
3375
3376         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3377         * calls.c (expand_call): Handle it.
3378         * tree-inline.c (struct inline_data): Remove target_exprs field.
3379         (optimize_inline_calls): Don't initialize it.
3380         (expand_call_inline): Don't modify it.  Handle
3381         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3382         (declare_return_variable): Take return slot addr.
3383         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3384         to return_slot_addr.
3385         * langhooks-def.h, langhooks.c: Adjust.
3386         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3387         a decl with no DECL_INITIAL.
3388
3389         * expr.c (expand_expr): Don't discard the target of a call which
3390         returns in memory.
3391
3392 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3393
3394         * cppinit.c (path_include): Take an environment variable name.
3395         Tidy up.
3396         (init_standard_includes): Simplify environment handling, and
3397         move to ...
3398         (cpp_read_main_file): ...here as -nostdinc should not affect
3399         environment variable paths.
3400
3401 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3402
3403         * pa.c (output_millicode_call): Correct typo.
3404         (output_call): Likewise.
3405
3406 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3407
3408         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3409         operand's range.  Print value directly, without aid from
3410         output_address.
3411         <case U>: New.
3412         <case S>: Make sure argument to fprintf has the right type.
3413         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3414         (EXTRA_CONSTRAINT): Adjust.
3415         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3416         bclr.  Use %U for immediate operands of bset and bclr.
3417         (iorqi3): New expand, with insns for AM33 and mn10300.
3418
3419 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3420
3421         * sh.c (sh_register_operand): New function.
3422         (prepare_move_operands): Use it.
3423         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3424         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3425         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3426         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3427         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3428         (movv2si_i): Likewise.
3429
3430 2002-12-13  Jim Wilson  <wilson@redhat.com>
3431
3432         * doc/extend.texi (Complex Numbers): Update info on debug info.
3433
3434 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3435
3436         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3437         alternative.
3438
3439 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3440
3441         * hooks.h (hook_tree_tree_bool_false): Declare
3442         hook_bool_tree_tree_false instead.
3443
3444 2002-12-12  Devang Patel  <dpatel@apple.com>
3445
3446         * doc/invoke.texi: Document Darwin linker options, -bundle
3447         -bind_at_load, -all_load and -arch_errors_fatal
3448
3449 2002-12-12  Jim Wilson  <wilson@redhat.com>
3450
3451         * dbxout.c (dbxout_fptype_value): New.
3452         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3453
3454 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3455
3456         * c-decl.c: Fix a comment typo.
3457         * cfg.c: Likewise.
3458         * cfgcleanup.c: Likewise.
3459         * cfglayout.c: Likewise.
3460         * cfgrtl.c: Likewise.
3461         * c-typeck.c: Likewise.
3462         * dominance.c: Likewise.
3463         * dwarf2asm.c: Likewise.
3464         * dwarfout.c: Likewise.
3465         * expmed.c: Likewise.
3466         * expr.c: Likewise.
3467         * final.c: Likewise.
3468         * flow.c: Likewise.
3469         * function.c: Likewise.
3470         * gcc.c: Likewise.
3471         * genautomata.c: Likewise.
3472         * integrate.c: Likewise.
3473         * loop.c: Likewise.
3474         * loop.h: Likewise.
3475         * output.h: Likewise.
3476         * profile.c: Likewise.
3477         * ra.h: Likewise.
3478         * reload1.c: Likewise.
3479         * reload.c: Likewise.
3480         * sched-rgn.c: Likewise.
3481         * stmt.c: Likewise.
3482         * tree.h: Likewise.
3483         * vmsdbgout.c: Likewise.
3484
3485 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3486
3487         * config/h8300/h8300.md: Add a new peephole2.
3488
3489 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3490
3491         * config/h8300/h8300.md (a peephole2): Accept a constant
3492         that's accepted by CONST_OK_FOR_J.
3493
3494 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3495
3496         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3497         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3498         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3499         (*addhi_h8300hs): Likewise.
3500
3501 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3502
3503         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3504         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3505         Increase cost for moves involving multiple general purpose registers.
3506         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3507         TARGET_FMOVD.
3508         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3509         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3510         (enum reg_class reg_class_from_letter): No longer const.
3511         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3512         REGCLASS_HAS_GENERAL_REG.
3513         Handle SImode moves from/to fp registers.
3514         ! TARGET_SHMEDIA && TARGET_FMOVD.
3515         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3516         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3517
3518 2002-12-12  Andreas Schwab  <schwab@suse.de>
3519
3520         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3521         change and some warnings.
3522
3523 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3524
3525         * doc/md.texi (pushm): Fix a typo.
3526
3527 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3528
3529         * config/mips/mips.c (mips_output_conditional_branch): Support
3530         PIC-safe out-of-range branch and branch-likely.
3531         * config/mips/mips.md (attr length): PIC-safe out-of-range
3532         branches are longer.
3533         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3534         unused code to support indirect jumps.
3535
3536 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3537
3538         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3539         $(tm_file_list).
3540
3541 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3542
3543         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3544
3545 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3546
3547         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3548
3549 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3550
3551         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3552         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3553         BIGGEST_ALIGNMENT.
3554         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3555         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3556
3557 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3558
3559         * doc/invoke.texi: Correct dump file names.
3560
3561 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3562
3563         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3564         name to globalize_label or assemble_name.
3565
3566 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3567
3568         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3569         if not TARGET_SHMEDIA.
3570
3571 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3572
3573         * sh.h (REG_CLASS_HAS_FP_REG): New.
3574         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3575         move it into:
3576         * sh.c (sh_register_move_cost).
3577         * sh-protos.h (sh_register_move_cost): Declare.
3578
3579         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3580         (sh_adjust_cost): Always return a value.
3581
3582 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3583
3584         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3585         (REGISTER_MOVE_COST): Use it.
3586
3587 2002-12-11  Richard Henderson  <rth@redhat.com>
3588
3589         * tree.h (MODULE_LOCAL_P): Kill.
3590         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3591
3592 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3593
3594         * config/h8300/h8300.md (two define_peephole2): New.
3595
3596 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3597
3598         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3599         (CONST_OK_FOR_K): Likewise.
3600         (CONST_OK_FOR_M): Likewise.
3601         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3602
3603 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3604
3605         * c-common.c (builtin_define_type_max): Handle unsigned
3606         types too.
3607
3608 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3609
3610         * haifa-sched.c (rank_for_schedule): Correct style.
3611
3612 2002-12-10  Per Bothner  <pbothner@apple.com>
3613
3614         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3615         directive_index into an unsigned field and a new is_directive field.
3616         * cppinit.c (mark_named_operators):  Update to set new fields.
3617         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3618         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3619         No longer need to subtract 1 from directive_index.
3620         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3621         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3622
3623 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3624
3625         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3626         check for evaluating sqrt of a constant at compile time.
3627         * simplify-rtx.c (simplify_unary_operation): Likewise.
3628
3629 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3630
3631         PR other/8882
3632         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3633
3634 2002-12-10  Devang Patel  <dpatel@appple.com>
3635
3636         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3637         * doc/invoke.texi: Add new "Darwin Options" section.
3638
3639 2002-12-10  Jim Wilson  <wilson@redhat.com>
3640
3641         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3642         memory.
3643
3644 2002-12-10  Andrew Haley  <aph@redhat.com>
3645
3646         * cse.c (cse_insn): Don't cse past a basic block boundary.
3647
3648 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3649
3650         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3651         -shared.
3652         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3653         * config/alpha/linux.h (LIB_SPEC): Likewise.
3654         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3655         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3656         * config/sparc/linux.h (LIB_SPEC): Likewise.
3657         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3658
3659 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3660
3661         * doc/invoke.texi: Document UltraSparc III option.
3662
3663 2002-12-09  Richard Henderson  <rth@redhat.com>
3664
3665         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3666         __tune_pentium2__ and __tune_pentium3__ as necessary.
3667
3668 2002-12-09  Richard Henderson  <rth@redhat.com>
3669
3670         * target.h (gcc_target): Add cannot_force_const_mem.
3671         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3672         (TARGET_INITIALIZER): Add it.
3673         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3674         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3675         * reload1.c (reload): Likewise.
3676         * hooks.c (hook_bool_rtx_false): New.
3677         * hooks.h: Declare it.
3678
3679         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3680         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3681         (ix86_expand_move): Remove de-const-pooling hack.
3682
3683 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3684
3685         * toplev.c (dump_file): Fix order to match reality.
3686
3687 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3688
3689         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3690         (store_multiple): Likewise.
3691
3692 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3693
3694         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3695         function pointers in page 0.
3696
3697 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3698
3699         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3700         definition
3701         (MEMBER_TYPE_FORCES_BLK): Move.
3702         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3703         aggregate arguments.
3704         (ia64_function_value): Use PARALLEL to return aggregate values.
3705
3706 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3707
3708         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3709         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3710         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3711         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3712         * stmt.c (expand_return): Ditto.
3713         * expr.c (move_block_from_reg): Ditto.
3714         (copy_blkmode_from_reg): Ditto.
3715         * expmed.c (store_bit_field): Ditto.
3716
3717 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3718
3719         * config.gcc: Added tic4x-* target as an alias to c4x-*
3720
3721 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3722
3723         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3724         constructing insn directly.
3725
3726 2002-12-06  Per Bothner  <pbothner@apple.com>
3727
3728         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3729         char to an int bit-field, for hosts where char is unsigned.
3730
3731 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3732             Richard Henderson <rth@redhat.com>
3733
3734         * real.c (ieee_extended_motorola_format,
3735         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3736         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3737         Provide appropriate values for new signbit field.
3738
3739 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3740
3741         * real.h (real_format): Add signbit field.
3742         * real.c (ieee_single_format, ieee_double_format,
3743         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3744         ieee_extended_intel_128_format, ibm_extended_format,
3745         ieee_quad_format, vax_f_format, vax_d_format,
3746         vax_g_format, i370_single_format, i370_double_format,
3747         c4x_single_format, c4x_extended_format, real_internal_format):
3748         Provide suitable signbit value, or -1 to avoid bit twiddling.
3749
3750         * optabs.c (expand_unop): Try implementing negation of
3751         floating point modes by flipping the sign bit.
3752         (expand_abs): Try implementing abs of floating point modes
3753         by clearing the sign bit.
3754
3755 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3756
3757         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3758         of constructing insn directly.
3759
3760 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3761
3762         * config/h8300/h8300.md (*iorhi_shift_8): New.
3763
3764 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3765
3766         * doc/invoke.texi: Document FRV port options.
3767         * doc/md.texi: Document FRV register classes.
3768
3769 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3770
3771         * doc/install.texi (Configuration): Improve description of cases
3772         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3773
3774 2002-12-06  Per Bothner  <pbothner@apple.com>
3775
3776         * cpplib.h (NODE_MACRO_ARG):  New flag.
3777         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3778         Remove value.operator field.  Move arg_index field to value union.
3779         (directive_index):  Make signed, since also used for C++ operators.
3780         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3781         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3782         Save node->value, and set node->value.arg_index.
3783         (_cpp_create_definition):  For each paramater, restore node->value.
3784         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3785         * cpptrad.c (scan_out_logical_line): Likewise.
3786         (scan_out_logical_line): Check for directive > 0.
3787         * cpplib.c (cpp_handle_directive):  Likewise.
3788         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3789         by negative of directive_index.
3790         * cppinit.c (mark_named_operators):  Likewise.
3791
3792         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3793
3794 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3795
3796         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3797         FPU.
3798         (push): Generate push_fpscr.
3799         (pop): Generate pop_fpscr.
3800         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3801         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3802
3803 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3804
3805         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3806         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3807
3808 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3809
3810         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3811
3812 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3813         Merged from basic improvements branch (excerpt):
3814
3815         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3816         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3817
3818 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3819
3820         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3821
3822 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3823
3824         * i386.md (dimode peep2s): Re-add "&& 1".
3825
3826 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3827
3828         * i386.c (ix86_expand_prologue):  Add comment, do not use
3829         fast prologues for cold and normal functions.
3830
3831 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3832
3833         * i386.c (x86_rep_movl_optimal): New variable.
3834         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3835         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3836
3837         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3838         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3839         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3840         generate unnecesary subregs.
3841
3842 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3843
3844         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3845         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3846
3847 2002-12-05  Dale Johannesen  <dalej@apple.com>
3848
3849         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3850
3851 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3852
3853         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3854         PROFILE_HOOK.
3855         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3856
3857 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3858
3859         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3860         (__ev_mwlufia): Remove.
3861         (__ev_mwlumfaaw): Remove.
3862         (__ev_mwlusfaaw): Remove.
3863         (__ev_mwlumfanw): Remove.
3864         (__ev_mwlusfanw): Remove.
3865
3866 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3867
3868         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3869
3870 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3871
3872         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3873         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3874         (get_shift_alg): Return optimal assembly instructions for the
3875         shifts mentioned above.
3876
3877 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3878
3879         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3880         condtiional moves.
3881
3882 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3883
3884         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3885         implement ashiftrt:HI by 13 bits on H8S.
3886
3887 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3888
3889         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3890         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3891         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3892         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3893         CTOR_LIST_BEGIN): New defines.
3894         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3895         (fptr.c): Add make rules.
3896
3897 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3898
3899         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3900         * doc/md.texi (Insn Canonicalizations): Document new
3901         canonicalizations for multiply/add combinations.
3902         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3903         patterns to ensure they're used whenever they can be.
3904
3905 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3906
3907         * config/h8300/h8300.c: Update the comments related to shifts.
3908
3909 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3910
3911         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3912
3913 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3914
3915         * config/h8300/h8300.md (*extzv_8_8): New.
3916         (*extzv_8_16): Likewise.
3917
3918 2002-12-04  Jason Merrill  <jason@redhat.com>
3919
3920         PR c++/8461, c++/8625
3921         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3922         references.
3923         * tree-inline.c (initialize_inlined_parameters): Likewise.
3924
3925         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3926
3927 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3928
3929         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3930         macro instruction in a branch delay slot, to avoid assembler
3931         warnings.
3932
3933 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3934
3935         PR c/7622
3936         * c-semantics (genrtl_scope_stmt): Do not output inlined
3937         nested functions that contain no code.
3938
3939 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3940
3941         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3942         to be forced into nonfallthru.
3943
3944 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3945
3946         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3947
3948 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3949
3950         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3951
3952 2002-12-03  Richard Henderson  <rth@redhat.com>
3953
3954         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3955
3956 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3957
3958         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3959         Initialize tmp.using_obstack to 0.
3960
3961 2002-12-03  Andreas Schwab  <schwab@suse.de>
3962
3963         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3964         (EH_RETURN_STACKADJ_RTX): Define.
3965         (EH_RETURN_HANDLER_RTX): Define.
3966         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3967         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3968         registers and don't save fixed registers.
3969         (m68k_output_function_prologue): Use it.
3970         (use_return_insn): Likewise.
3971         (m68k_output_function_epilogue): Likewise.
3972
3973 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3974
3975         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3976         (single_zero_operand): Likewise.
3977
3978 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3979
3980         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3981         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3982         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3983         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3984         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3985         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3986         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3987         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3988         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3989
3990 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3991
3992         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3993         (ffsdi): Likewise.
3994         (cntlzw2, cntlzd2): New patterns.
3995
3996 2002-12-02  H.J. Lu <hjl@gnu.org>
3997
3998         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3999         (mips*-*-linux*): Remove mips/t-linux.
4000
4001 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
4002
4003         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4004
4005 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4006
4007         * config/h8300/h8300.c (dosize): Replace argument op with
4008         sign.
4009         (h8300_output_function_prologue): Update the call to dosize.
4010         (h8300_output_function_epilogue): Likewise.
4011
4012 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
4013
4014         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
4015
4016 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4017
4018         * configure.in: Use "missing" script to generate warning if
4019         flex or bison programs not found, instead of invoking "false".
4020         * configure: Rebuilt.
4021
4022 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4023
4024         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
4025
4026 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
4027
4028         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
4029
4030 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4031
4032         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
4033         (push): Likewise.
4034         (pop): Likewise.
4035         (h8300_output_function_prologue): Likewise.
4036         (h8300_output_function_epilogue): Likewise.
4037
4038 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
4039
4040         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4041         corresponding mode of non-integer mode, unless it is VOIDmode.
4042
4043 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4044
4045         * config/h8300/h8300.md (stm_h8300s_2): New.
4046         (stm_h8300s_3): Likewise.
4047         (stm_h8300s_4): Likewise.
4048         (five define_peephole2): Likewise.
4049
4050 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
4051
4052         * ra-build.c: Fix a comment typo.
4053
4054 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4055
4056         * i386.c (ix86_expand_int_movcc): fix
4057         reversed BRANCH_COST test; be curefull about infinite recursion.
4058
4059 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4060
4061         * config/h8300/h8300.c (h8300_output_function_prologue):
4062         Remove variable idx.
4063         (h8300_output_function_epilogue): Likewise.
4064
4065 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
4066
4067         * config/frv/xm-frv.h: Delete, unnecessary.
4068
4069 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
4070
4071         * config/h8300/h8300.md: Add comments for define_peephole2.
4072
4073 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
4074
4075         * builtin-types.def (BT_SIZE): Use size_type_node.
4076         * builtins.c (fold_builtin): Make the builtin strlen returns a
4077         size_t, not a sizetype.
4078         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
4079         c_size_type_node.
4080         (c_alignof_expr): Likewise.
4081         (c_common_nodes_and_builtins): Likewise.
4082         * c-common.h (CTI_C_SIZE_TYPE): Remove.
4083         (c_size_type_node): Likewise.
4084         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
4085         * tree.h (TI_SIZE_TYPE): New enumeral.
4086         (size_type_node): Likewise.
4087
4088 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
4089
4090         * configure.in: Don't put ${tm_file} into host_xm_file,
4091         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
4092         Take location of tm-preds.h into account when calculating
4093         tm_p_file_list.
4094         * configure: Regenerate.
4095         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
4096         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
4097         Remove special case code for tm_p.h and *config.h; add new
4098         special case code for tm.h and tconfig.h. Clean up a bit.
4099
4100         * Makefile.in (tm_file, tm_file_list): New variables set from
4101         @-substitutions.
4102         (GCONFIG_H): Deleted.
4103         (GTM_H, TM_H): New.
4104         (CONFIG_H): Is now just config.h $(host_xm_file_list).
4105         (TM_P_H): Move up with the other mkconfig.sh-generated
4106         headers; don't mention tm-preds.h explicitly.
4107         (tm.h, cs-tm.h): New rule.
4108         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
4109         invocations of mkconfig.sh for changes to that program.
4110         (mostlyclean): Delete print-rtl1.c.
4111         (clean): Delete tm.h.
4112         Update dependencies for the files listed below.
4113
4114         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4115
4116         * coretypes.h: New file.
4117         * system.h: #define malloc to xmalloc and realloc to xrealloc
4118         when FLEX_SCANNER or YYBISON is defined, independent of the
4119         value of GCC_VERSION.
4120         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4121         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4122         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4123         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4124         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4125         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4126         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4127         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4128         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4129         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4130         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4131         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4132         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4133         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4134         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4135         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4136         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4137         genconstants.c, genemit.c, genextract.c, genflags.c,
4138         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4139         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4140         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4141         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4142         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4143         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4144         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4145         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4146         print-tree.c, profile.c, protoize.c, ra-build.c,
4147         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4148         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4149         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4150         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4151         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4152         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4153         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4154         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4155         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4156         xcoffout.c, config/darwin-c.c, config/darwin.c,
4157         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4158         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4159         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4160         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4161         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4162         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4163         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4164         config/i960/i960-c.c, config/i960/i960.c,
4165         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4166         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4167         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4168         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4169         config/mmix/mmix.c, config/mn10200/mn10200.c,
4170         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4171         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4172         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4173         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4174         config/sparc/sparc.c, config/stormy16/stormy16.c,
4175         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4176         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4177         Include coretypes.h and tm.h.
4178
4179         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4180         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4181         genrecog.c: Include coretypes.h and tm.h from the file
4182         generated by this program.
4183
4184         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4185         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4186         coretypes.h and tm.h, and tsystem.h when not already included.
4187         No need to include stddef.h nor stdlib.h.
4188
4189         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4190         include auto-host.h or ansidecl.h/
4191         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4192         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4193         include auto-host.h, ansidecl.h, or system.h.
4194         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4195         and do not redefine volatile.
4196
4197 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4198
4199         * i386.md (movdf_integer):  Always enable in 64bit.
4200         (movdf_nointeger): Always disable in 64bit.
4201
4202 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4203
4204         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4205         pseudo register number plus 1.
4206
4207 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4208
4209         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4210         corresponding mode of non-integer mode, unless it is VOIDmode.
4211
4212 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4213
4214         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4215
4216         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4217
4218 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4219
4220         * config/s390/t-crtstuff: New target makefile fragment.
4221         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4222
4223 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4224
4225         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4226         alternatives to correct the length when the memory operand is
4227         either pre_dec or post_inc.
4228
4229 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4230
4231         * config/h8300/h8300.md (an anonymous pattern): Give an
4232         internal name *tst_extzv_bitqi_1_n.
4233         Accept bit_operand instead of bit_memory_operand.
4234         Do not accept bit tests with the MSB.
4235         (*tst_extzv_memqi_1_n): New.
4236
4237 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4238
4239         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4240         sharing when operand is SUBREG.
4241
4242 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4243
4244         * athlon.md (athlon-decodev): New reservation unit.
4245         (athlon-direct0): New reservation.
4246         (athlon-vector): New use athlon-decodev.
4247         (athlon-double, athlon-direct): Better model.
4248         (athlon_imul_k8): Use athlon-direct0.
4249         (athlon_movlpd_load): New insn reservation.
4250
4251 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4252
4253         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4254         Fix a comment typo.
4255         (h8300_tiny_constant_address_p): Likewise.
4256
4257 2002-11-28  Michael Matz  <matz@suse.de>
4258
4259         * doc/passes.texi: Mention the other register allocator.
4260
4261 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4262
4263         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4264
4265 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4266
4267         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4268         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4269         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4270
4271 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4272
4273         * config/h8300/h8300.c (h8300_and_costs): New.
4274         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4275         * config/h8300/h8300-protos.h: Add a prototype for
4276         h8300_and_costs.
4277
4278 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4279
4280         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4281         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4282         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4283         * i386.md (truncdfsf patterns and splitters): Use
4284         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4285
4286 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4287
4288         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4289         pointer argument in the prototypes of the following builtins
4290         be (const TYPE *) rather than (TYPE *):
4291          + __builtin_altivec_ld_internal_4sf
4292          + __builtin_altivec_ld_internal_4si
4293          + __builtin_altivec_ld_internal_8hi
4294          + __builtin_altivec_ld_internal_16qi
4295          + __builtin_altivec_lvsl
4296          + __builtin_altivec_lvsr
4297          + __builtin_altivec_lvebx
4298          + __builtin_altivec_lvehx
4299          + __builtin_altivec_lvewx
4300          + __builtin_altivec_lvxl
4301          + __builtin_altivec_lvx
4302          + __builtin_altivec_dst
4303          + __builtin_altivec_dstt
4304          + __builtin_altivec_dstst
4305          + __builtin_altivec_dststt
4306
4307 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4308
4309         * except.c (default_exception_section): Move variable into the
4310         scope where it is used.
4311
4312 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4313
4314         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4315         correct version.
4316
4317 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4318
4319         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4320
4321 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4322
4323         * config/h8300/h8300.c (h8300_shift_costs): New.
4324         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4325         * config/h8300/h8300-protos.h: Add a prototype for
4326         h8300_shift_costs.
4327
4328 2002-11-27  Jim Wilson  <wilson@redhat.com>
4329
4330         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4331         in output template.
4332
4333 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4334
4335         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4336         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4337         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4338         (i386_pe_dllimport_name_p): Likewise.
4339         (i386_pe_mark_dllexport): Likewise.
4340         (i386_pe_mark_dllimport): Likewise.
4341         (i386_pe_encode_section_info): Likewise.
4342         (i386_pe_strip_name_encoding): Likewise.
4343
4344 2002-11-27  Richard Henderson  <rth@redhat.com>
4345
4346         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4347         (nm && NF == 3): Set sawsymbol true.
4348         (END): Exit if no symbols seen.
4349         (output): Fix map syntax error if no globals for the version.
4350
4351 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4352
4353         * builtins.def (DEF_C99_BUILTIN): Fix.
4354
4355 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4356
4357         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4358         (all): Add .size and .type information.
4359
4360 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4361
4362         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4363         partial_reg_stall target.
4364
4365 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4366
4367         * i386.md (movhicc): Allow general operand.
4368         (movqicc): New expander.
4369         (movqicc_noc): New pattern.
4370         * i386.c (ix86_expand_carry_flag_compare): New function.
4371         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4372         HImode conversion; support QImode conditional moves
4373
4374 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4375
4376         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4377         (ix86_expand_prologue): Multiply the count by amount of registers to be
4378         pushed.
4379
4380 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4381
4382         * i386.c (override_options): Error about wrong -mcpu on x86-64
4383         compilation.
4384
4385 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4386
4387         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4388
4389 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4390
4391         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4392         x86_extended_reg_mentioned_p): Declare.
4393         * i386.c (extended_reg_mentioned_1): New static function.
4394         (x86_extended_QIreg_mentioned_p,
4395         x86_extended_reg_mentioned_p): New global functions.
4396         * i386.h (REX_SSE_REGNO_P): New macro.
4397         * i386.md (prefix_rex): New attribute.
4398         (length attribute): Add rex.
4399
4400 2002-11-26  Andrew Haley  <aph@redhat.com>
4401
4402         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4403         from_Unwind_Find_Enclosing_Function.
4404         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4405         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4406         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4407         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4408         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4409
4410 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4411
4412         * config/s390/s390.c (390_output_constant_pool): Set alignment
4413         before label in 64 bit mode, behind otherwise.
4414
4415 2002-11-26  Richard Henderson  <rth@redhat.com>
4416
4417         * c-common.c (handle_visibility_attribute): Accept "default".
4418         * tree.h (enum symbol_visibility): New.
4419         (decl_visibility): Declare.
4420         * target.h (gcc_target.visibility): Take visibility arg as integer.
4421         * varasm.c (default_assemble_visibility): Likewise.
4422         (decl_visibility): New.
4423         (maybe_assemble_visibility): Use it.
4424         * output.h (default_assemble_visibility): Update prototype.
4425         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4426         visibility arg as integer.
4427         * doc/extend.texi: Document default visibility.
4428
4429 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4430
4431         * config/h8300/h8300.c: Adjust spacing.
4432         * config/h8300/h8300.h: Likewise.
4433
4434 2002-11-26  Richard Henderson  <rth@redhat.com>
4435
4436         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4437         hook_void_FILEptr_constcharptr): Rename so that the return
4438         type is first.
4439         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4440         hook_bool_tree_false): New.
4441         * hooks.h: Update.
4442         * langhooks-def.h: Update for renames.
4443         * target-def.h: Likewise.
4444         * tree.c (default_comp_type_attributes,
4445         default_set_default_type_attributes, default_insert_attributes,
4446         default_function_attribute_inlinable_p,
4447         default_ms_bitfield_layout_p): Remove.
4448         * tree.h: Update.
4449
4450 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4451
4452         * pa-protos.h (function_value): New prototype.
4453         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4454         TARGET_64BIT.
4455         * pa.h (FUNCTION_VALUE): Use function_value.
4456         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4457         call_value_internal_reg, sibcall_value_internal_symref,
4458         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4459         value.
4460
4461 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4462
4463         * expr.c (gen_group_rtx, emit_group_move): New functions.
4464         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4465         * function.c (expand_function_start): Use gen_group_rtx to create a
4466         PARALLEL rtx to hold the return value when the real return rtx is a
4467         PARALLEL.
4468         (expand_function_end): Use emit_group_move to move the return value
4469         from a PARALLEL to the real return registers.
4470         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4471         in PARALLELs.
4472
4473 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4474
4475         * config/t-libc-ok: Fix typo.
4476
4477 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4478
4479         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4480         before AC_PROG_CC.
4481         * configure: Rebuilt.
4482
4483 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4484
4485         * c-decl.c: (start_struct): Commonize flag setting.
4486
4487 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4488
4489         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4490         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4491         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4492         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4493
4494 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4495
4496         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4497         insns.
4498         * config/s390/s390.c (struct machine_function): Introduction of
4499         struct machine_function.
4500         (s390_output_symbolic_const): Use of cfun.
4501         (s390_optimize_prolog): Likewise.
4502         (s390_fixup_clobbered_return_reg): Likewise.
4503         (s390_frame_info): Likewise.
4504         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4505         (s390_init_machine_status): New function.
4506         (override_options): call s390_init_machine_status.
4507         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4508         prototype.
4509
4510 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4511
4512         * varasm.c (output_constant_pool): For pool constants in mergeable
4513         section ensure each constant is padded to multiple of entity size.
4514
4515 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4516
4517         * varasm.c (default_exception_section): Move to...
4518         * except.c (default_exception_section): ... here. Make
4519         .gcc_except_table read-only if it is not expected to have any
4520         dynamic relocations and linker handles it.
4521         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4522         if it is not expected to have any dynamic relocations and linker
4523         handles it.
4524         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4525         when linking read-only and read-write sections together.
4526         * configure, config.in: Rebuilt.
4527         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4528         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4529
4530 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4531
4532         * i386.md (pushsf_rex64): Fix typo.
4533
4534 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4535
4536         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4537         new function.
4538         (__ev_create_ufix32_fs): Same.
4539         (__ev_get_sfix32_fs_internal): New.
4540         (__ev_get_sfix32_fs): Define to use function.
4541         (__ev_get_ufix32_fs_internal): New.
4542         (__ev_get_ufix32_fs): Define to use function.
4543         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4544         (__ev_get_lower_ufix32_fs): Same.
4545         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4546         (__ev_get_lower_sfix32_fs): Same.
4547         (__ev_set_sfix32_fs_internal): New.
4548         (__ev_set_ufix32_fs_internal): New.
4549         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4550         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4551         (__ev_set_upper_sfix32_fs): Call function.
4552         (__ev_set_lower_sfix32_fs): Same.
4553         (__ev_set_upper_ufix32_fs): Same.
4554         (__ev_set_lower_ufix32_fs): Same.
4555
4556 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4557
4558         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4559
4560 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4561
4562         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4563         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4564         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4565         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4566         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4567         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4568         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4569         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4570         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4571         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4572         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4573         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4574         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4575         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4576         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4577         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4578         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4579         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4580         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4581         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4582         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4583         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4584         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4585         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4586         defining.
4587         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4588         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4589
4590 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4591
4592         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4593
4594 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4595
4596         * config/h8300/h8300.md (an anonymous pattern): New.
4597
4598 2002-11-25  Richard Henderson  <rth@redhat.com>
4599
4600         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4601         (copying_arguments): Make boolean.
4602
4603 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4604
4605         * gcc.c (static_spec_functions): Add if-exists-else spec
4606         function.
4607         (if_exists_else_spec_function): New function.
4608         * doc/invoke.texi: Document the if-exists-else spec function.
4609
4610         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4611         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4612
4613 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4614
4615         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4616         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4617         "${tmake_file} rs6000/t-netbsd".
4618         * config/rs6000/netbsd.h: Rewrite.
4619         * config/rs6000/t-netbsd: New file.
4620
4621 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4622
4623         * config/h8300/h8300.md (an anonymous pattern): Relax the
4624         condition for the pattern.
4625
4626 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4627
4628         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4629         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4630         evmwlssfanw, evmwlsmfanw.
4631
4632         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4633
4634         * config/rs6000/spe.md: Same for patterns.
4635
4636 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4637
4638         PR c/8639
4639         * fold-const.c (extract_muldiv): Don't propagate division unless
4640         both arguments are multiples of C.
4641
4642 2002-11-25  Andrew Haley  <aph@redhat.com>
4643
4644         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4645         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4646         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4647         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4648
4649 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4650
4651         * i386.c (x86_use_ffreep): New global variable.
4652         * i386.h (x86_use_frfeep): Declare
4653         (TARGET_USE_FFREEP): New macro
4654         * i386.md  (movs?f*): Use freep when asked for.
4655         (push?f): Remove dead code.
4656
4657 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4658
4659         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4660         target help message.
4661
4662 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4663
4664         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4665         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4666         crtbeginT.o".
4667         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4668         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4669         to "" for a.out configurations.
4670         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4671
4672 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4673
4674         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4675         NETBSD_CPP_SPEC directly.
4676         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4677         netbsd_endfile_spec.
4678         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4679
4680 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4681
4682         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4683         NETBSD_STARTFILE_SPEC.
4684         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4685         (ENDFILE_SPEC): Likewise.
4686         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4687
4688 2002-11-24  Andreas Schwab  <schwab@suse.de>
4689
4690         * Makefile.in (install-driver): Remove versioned link before
4691         trying to create it.
4692
4693         * config/m68k/m68k.c: Fix typo in last change defining
4694         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4695
4696 2002-11-23  H.J. Lu <hjl@gnu.org>
4697
4698         * aclocal.m4: Include ../config/accross.m4.
4699         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4700         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4701         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4702         instead of $ac_cv_c_compile_endian.
4703
4704         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4705         AC_COMPILE_CHECK_SIZEOF.
4706         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4707         * configure: Rebuild.
4708
4709 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4710
4711         * config/h8300/h8300.c (print_operand): Update the use of
4712         h8300_tiny_constant_address_p.
4713         (h8300_adjust_insn_length): Likewise.
4714         (h8300_tiny_constant_address_p): Check if the given rtx is a
4715         variable declared with __attribute__ ((tiny_data)).
4716
4717 2002-11-22  Dale Johannesen  <dalej@apple.com>
4718
4719         * toplev.c (rest_of_compilation):  Fix comments.
4720
4721 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4722
4723         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4724         allow mmap from /dev/zero.  Don't make decisions for the host
4725         based on presence or absence of /dev/zero on the build machine.
4726         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4727         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4728         * configure: Regenerate.
4729
4730 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4731
4732         * gcc.c (make_relative_prefix, split_directories)
4733         (free_split_directories): Removed.
4734
4735 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4736
4737         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4738         * configure: Regenerated.
4739
4740 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4741
4742         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4743         length computation when xor.l is output.
4744
4745 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4746
4747         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4748         (call_vms_1, call_value_vms_1): Cleanup syntax.
4749
4750 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4751
4752         * athlon.md (define_atuomaton): Add athlon_load.
4753         (athlon-double): New reservation.
4754         (athlon-ieu0): New CPU unit.
4755         (athlon-load?): Use athlon_load automaton.
4756         (*_k8 reservations): New.
4757         (other insn revervations): Activate for K8.
4758
4759 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4760
4761         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4762
4763 2002-11-21  Jim Wilson  <wilson@redhat.com>
4764
4765         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4766         vectors to SI.
4767
4768 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4769
4770         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4771         * config/xtensa/xtensa.c (struct machine_function): Add
4772         incoming_a7_copied flag.
4773         (xtensa_copy_incoming_a7): Define.
4774         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4775         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4776
4777 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4778
4779         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4780         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4781         x86_64_nonmemory_operand, x86_64_movabs_operand,
4782         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4783         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4784         (local_symbolic_operand): Do not care the 64bit limits.
4785         (x86_64_sign_extended_value): Remove allow_rip support.
4786         (legitimate_pic_address_disp_p): Handle all cases allowed
4787         with RIP addressing.
4788         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4789         (legitimize_pic_address): Reorganize.
4790         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4791
4792 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4793
4794         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4795         * config/arm/netbsd-elf.h: New file.
4796
4797 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4798
4799         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4800         subtarget_asm_float_spec.
4801         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4802         defaults from...
4803         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4804
4805 2002-11-21  Nick Clifton  <nickc@redhat.com>
4806
4807         * config/fr30/fr30.md (movsf_constant_store): Move code to
4808         detect 0.0 into fr30.c.
4809         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4810         Prototype.
4811         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4812         function.  Return true if the rtx is 0.0.
4813
4814 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4815
4816         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4817         if -mlittle-endian is specified.
4818
4819 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4820
4821         PR optimization/2903
4822         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4823         (anddi_notsesidi_di): Likewise.
4824
4825 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4826
4827         * config/h8300/h8300.c (print_operand): Use
4828         h8300_eightbit_constant_address_p and
4829         h8300_tiny_constant_address_p.
4830         (h8300_adjust_insn_length): Likewise.
4831         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4832         (TINY_CONSTANT_ADDRESS_P): Likewise.
4833         (OK_FOR_U): Use eightbit_constant_address_p.
4834
4835 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4836
4837         * config/s390/libgcc-libc.ver: Add multilib support.
4838         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4839         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4840         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4841         EXTRA_MULTILIB_PARTS): Define.
4842
4843 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4844
4845         * arm.c (arm_get_frame_size): A leaf function does not need its
4846         stack padding to an aligned boundary if it has no frame.
4847         (thumb_get_frame_size): Likewise.
4848
4849 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4850
4851         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4852         (override_options): Likewise.
4853
4854 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4855
4856         * config.gcc: Add k8 target alias support
4857         * i386.c (_cost): Declare costs for various variants of divides and
4858         multiplies.
4859         (k8_cost): New.
4860         (m_K8, m_ATHLON_K8): New macros.
4861         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4862         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4863         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4864         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4865         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4866         x86_prologue_using_move, x86_epilogue_using_move,
4867         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4868         x86_sse_typeless_stores): Set for K8
4869         (override_options): Add k8 support; fix athlon alignment;
4870         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4871         (ix86_issue_rate): Set for K8.
4872         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4873         x86_machine_dependent_reorg): Handle K8 like
4874         * i386.h
4875         (x86_costs):  Change mult_init and divide into array.
4876         (TARGET_K8, TARGET_ATHLON): New macros.
4877         (MODE_INDEX): New macro.
4878         (RTX_COST): Use new costs.
4879         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4880         (TARGET_CPU_DEFAULT_NAMES): Add k8
4881         (TARGET_CPU_DEFAULT_k8): New constant
4882         (enum processor_type): Add PROCESSOR_K8.
4883         * i386.md (cpu attribute): Add k8.
4884
4885         * invoke.texi: Document -march=k8.
4886
4887         * i386.md (type attribute): Add leave
4888         (mode attribute): Remove unknownfp.
4889         (length_immediate, modrm, memory attributes): Handle leave correctly.
4890         (fp comparison patterns): Determine FP mode.
4891         (leave, leave_rex64): Remove special cases.
4892         * ppro.md (ppro_uops, ppro_p2): Add leave
4893         * pentiun.md (pent_pop): Handle leave too.
4894         * k6.md (k6_load): Handle leave.
4895         * athlon.md (athlon_leave, athlon_pop): Fix.
4896         (athlon_decode): Handle leave.
4897
4898 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4899
4900         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4901         to component type using GET_MODE_INNER.
4902         * expr.c (emit_move_insn_1): Ditto.
4903         * optabs.c (expand_binop): Ditto.
4904         (expand_unop): Ditto.
4905         (expand_complex_abs): Ditto.
4906
4907 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4908
4909         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4910
4911 2002-11-20  DJ Delorie  <dj@redhat.com>
4912
4913         * config/stormy16/stormy16.c (s16builtins,
4914         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4915         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4916
4917 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4918
4919         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4920         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4921         (executing gencheck, genconfigs, genconditions, genflags,
4922         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4923         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4924         gengtype, genprotos): Prepend $(RUN_GEN).
4925         * configure.in: Move host compiler tests before --enable-checking
4926         tests.
4927         (--enable-checking=valgrind): New.
4928         * config.in, configure: Regenerate.
4929         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4930         Define as empty.
4931         (read_include_file): When doing the mmap+1 trick,
4932         valgrind-annotate the byte after the mmap:ed area as readable.
4933         (purge_cache): Remove above annotation.
4934         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4935         VALGRIND_PATH -q to each command.
4936
4937         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4938         Define as empty.
4939         (ggc_realloc): Update valgrind annotations.
4940         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4941         Define as empty.
4942         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4943         valgrind-annotate memory.
4944
4945 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4946
4947         * recog.c (constrain_operands): Prefer exact match over reloadable
4948         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4949
4950         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4951         operands in Pmode.
4952
4953 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4954
4955         PR c/8518
4956         * c-decl.c (duplicate_decls): Outline the second definition
4957         of an extern inline function in all cases.
4958
4959 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4960
4961         * stor-layout.c (place_field): Update rli->offset as well as
4962         rli->bitpos.
4963
4964 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4965
4966         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4967
4968 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4969
4970         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4971         into a libcall block.
4972         (divsi3): Likewise divsi3_i4_media.
4973
4974 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4975
4976         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4977         out another register.
4978
4979 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4980
4981         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4982         (not just mask) are set in C.
4983
4984 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4985
4986         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4987
4988 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4989
4990         * profile.c (index_counts_file): Fix obvious mistake.
4991
4992 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4993
4994         * Makefile.in (profile.o): Add hashtab.h dependency.
4995         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4996         * profile.c: Include hashtab.h.
4997         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4998         cleanup_counts_index, index_counts_file, struct section_reference,
4999         struct da_index_entry, counts_file_name, counts_file_index): New.
5000         (get_exec_counts, init_branch_prob): Modified.
5001
5002 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5003
5004         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
5005         to tmake_file. Remove setting gas and gnu_ld here.
5006         * config/sh/libgcc-glibc.ver: New file.
5007         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5008         (SHLIB_MAPFILES): New.
5009         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
5010         (MD_STARTFILE_PREFIX): Likewise.
5011         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
5012         (DWARF2_UNWIND_INFO): Redefine.
5013         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5014         (LINK_EH_SPEC): Redefine.
5015         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
5016         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
5017         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
5018         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
5019         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
5020         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
5021         SH_DWARF_FRAME_FPSCR): Likewise.
5022         * config/sh/sh-protos.h (sh_set_return_address): Declare.
5023         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
5024         registers if the current function calls EH return.
5025         (sh_expand_epilogue): Handle EH stack adjustments.
5026         (sh_set_return_address): New function.
5027         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5028         Don't abort even if the number is mapped to -1.
5029         (EH_RETURN_DATA_REGNO): Define.
5030         (EH_RETURN_STACKADJ_RTX): Define.
5031         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
5032         (eh_return): New pattern.
5033         (eh_set_ra_di, eh_set_ra_si): Likewise.
5034         Add splitter to perform EH return after reload.
5035
5036 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
5037
5038         * stor-layout.c (excess_unit_span): New function.
5039         (place_field): Use it.
5040
5041 2002-11-19  Andreas Schwab  <schwab@suse.de>
5042
5043         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
5044         not valid in C++.
5045
5046 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5047
5048         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
5049         * configure: Regenerate.
5050
5051 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5052
5053         * convert.c (strip_float_extensions): New function.
5054         (convert_to_real): Optimize some cases.
5055
5056 2002-11-19  Andreas Jaeger  <aj@suse.de>
5057
5058         * loop.c (record_giv): Initialize not_replaceable.
5059         (check_final_value): Likewise.
5060
5061 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5062
5063         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
5064         MASK_H8300S.
5065
5066 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
5067
5068         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
5069         only if -mh or -ms present.
5070         (h8300_eightbit_constant_address_p): Support the normal mode.
5071         (h8300_tiny_constant_address_p): Likewise.
5072         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
5073         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
5074         (Pmode): Evaluate to HImode for the normal mode.
5075         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
5076         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
5077         (ASM_WORD_OP): Evaluate to word for the normal mode.
5078         * config/h8300/h8300.md (tablejump_normal_mode): New.
5079         (indirect_jump_normal_mode): New.
5080         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
5081         directory.
5082         (MULTILIB_DIRNAMES): Create target dependent directory
5083         'normal'.
5084         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
5085         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
5086
5087 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5088
5089         * i386.md (length_immediate): Do not refer to insn address.
5090         (jcc*, jmp patterns):  Compute length explicitly.
5091
5092 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5093
5094         PR c/8588
5095         * optabs.c (expand_binop): Convert CONST_INTs in shift
5096         operations too.
5097
5098 2002-11-19  Roger Sayle  <roger@eyesopen.com>
5099
5100         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
5101
5102 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * config/h8300/h8300.md (an anonymous pattern): Relax the
5105         condition to accept the same operands and/or subregs.
5106
5107 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
5108
5109         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5110         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5111         reload_completed.
5112
5113 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5114
5115         * config/h8300/h8300.c (print_operand): Update the use of
5116         EIGHTBIT_CONSTANT_ADDRESS_P.
5117         (h8300_adjust_insn_length): Likewise.
5118         (h8300_eightbit_constant_address_p): Check if the given rtx is
5119         a variable with __attribute__((eightbit_data)).
5120         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5121         EIGHTBIT_CONSTANT_ADDRESS_P.
5122
5123 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5124
5125         * doc/contrib.texi (Contributors): Add self as second contact in
5126         addition to Jeff Law.
5127
5128 2002-11-19  Andreas Jaeger  <aj@suse.de>
5129
5130         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5131         find_alloca_call to right place.
5132
5133 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5134
5135         * cppfiles.c: Fix formatting.
5136
5137 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5138
5139         * gcc.c (The Specs Language): Document spec functions.
5140         (static_spec_functions, lookup_spec_function)
5141         (eval_spec_function, handle_spec_function)
5142         (if_exists_spec_function, alloc_args): New.
5143         (execute): Abort if processing_spec_function is true.
5144         (do_spec_1): Hand off spec to handle_spec_function if %:
5145         is encountered.  If processing_spec_function is true,
5146         end any pending argument when the end of the string is reached.
5147         (main): Use alloc_args to allocate the initial argument vector.
5148         * gcc.h (struct spec_function): New.
5149         (lang_specific_spec_functions): New extern.
5150
5151         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5152         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5153         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5154
5155         * doc/invoke.texi: Document spec functions.
5156
5157         * cppspec.c (lang_specific_spec_functions): New.
5158         * gccspec.c: Likewise.
5159
5160 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5161
5162         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5163         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5164         (fixunstfsi_libfunc): Change.
5165         (fixunstfdi_libfunc): Change.
5166         (sdiv_optab): Don't zero out SImode handler.
5167         (udiv_optab): Don't zero out SImode handler.
5168         (smod_optab): Don't zero out SImode handler.
5169         (umod_optab): Don't zero out SImode handler.
5170
5171 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5172
5173         PR preprocessor/8524
5174         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5175         Add a new one in its place, which hopefully works.
5176         (skip_rest_of_line): Change test for bottom-of-context-stack.
5177
5178 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5179
5180         * i386.md (addqi_1_slp): Fix output template.
5181         (subqi_1_slp): Fix type.
5182
5183 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5184
5185         * calls.c (alloca_call_p): New global function.
5186         * tree.h (alloca_call_p): New.
5187         * tree-inline.c (inlinable_function_p):  Do not inline when
5188         function calls alloca.
5189         (find_alloca_call, find_alloca_call_1): New functions.
5190
5191 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5192
5193         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5194         bst.  Update the insn length.
5195         (*andorhi3): Likewise.
5196         (*andorsi3): Likewise.
5197
5198 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5199
5200         * config/sh/sh-protos.h (sh_mark_label): Declare.
5201         * config/sh/sh.c (sh_mark_label): New function, taken from
5202         movdi_const, but fixing the case when the address has an addend.
5203         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5204
5205 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5206
5207         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5208         (add_constant): Set it.
5209         (dump_table): Don't reorder a constant if part_of_sequence_p.
5210         (machine_dependent_reorg): Assume that float constants will
5211         stay in their original order if used as a sequence.
5212
5213 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5214
5215         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5216         in compact code.
5217
5218 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5219
5220         * config/sh/sh.md (initialize_trampoline): Do not force the
5221         trampoline address into R0_REGS here.
5222
5223 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5224
5225         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5226         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5227         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5228         generate unnecesary subregs.
5229
5230 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5231
5232         * df.c: Fix formatting.
5233
5234 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5235
5236         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5237         lengths.
5238
5239 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5240
5241         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5242         is not an arith_reg_operand.
5243
5244 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5245
5246         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5247         is smaller than representation.
5248
5249 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5250
5251         * builtins.c: Fix formatting.
5252
5253 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5254
5255         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5256         floats?dff2_i387):
5257         Work around regclass stupidity.
5258         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5259
5260 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5261
5262         * i386.md (fop_df_6): New pattern.
5263         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5264         (fop_xf_6): Rewrite
5265         (fop_xf_7): Delete.
5266         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5267         (fop_tf_6): Rewrite
5268         (fop_tf_7): Delete.
5269
5270 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5271
5272         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5273
5274 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5275
5276         * config/h8300/h8300.md: Fix formatting.
5277
5278 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5279
5280         * config/h8300/h8300.md: Replace spaces with tabs.
5281         * config/h8300/t-h8300: Remove a trailing empty line.
5282
5283 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5284
5285         * tlink.c: Fix formatting.
5286
5287 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5288
5289         PR 8362
5290         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5291         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5292         when scratch register never needed.
5293         (ldmsi[3-8]): New patterns.
5294
5295 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5296
5297         * hard-reg-set.h: Follow spelling conventions.
5298         * real.c: Likewise.
5299         * target.h: Likewise.
5300
5301 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5302
5303         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5304
5305 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5306
5307         * optabs.c: Fix formatting.
5308
5309 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5310
5311         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5312         * i386.md (attribute type): Add type shift1 and rotate1.
5313         (*_slp): Rewrite to have just two operands to avoid reload problems.
5314
5315 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5316
5317         * config/h8300/h8300.md (4 anonymous patterns): New.
5318
5319 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5320
5321         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5322         * doc/invoke.texi: Correct description of what needs to be done to
5323         force collection at every ggc_collect call.
5324
5325 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5326
5327         * config/s390/s390.c (optimization_options): Set
5328         flag_asynchronous_unwind_tables to 1 by default.
5329
5330 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5331
5332         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5333
5334 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5335
5336         * i386-protos.h (x86_function_profiler): New function
5337         * i386.h (MCOUNT_NAME): New.
5338         (PROFILE_COUNT_REGISTER): New.
5339         (FUNCTION_PROFILER): Move offline to ...
5340         * i386.c (x86_function_profiler) ... here; fix 64bit support
5341         * beos-elf.h (FUNCTION_PROFILER): Kill.
5342         (MCOUNT_NAME): New.
5343         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5344         (MCOUNT_NAME): New.
5345         (PROFILE_COUNT_REGISTER): New.
5346         * linux.h (FUNCTION_PROFILER): Kill.
5347         (MCOUNT_NAME): New.
5348         * x86-64.h (FUNCTION_PROFILER): Kill.
5349         (MCOUNT_NAME): New.
5350         * freebsd.h (FUNCTION_PROFILER): Kill.
5351         (MCOUNT_NAME): New.
5352
5353 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5354
5355         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5356         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5357         * config/arm/arm.c (arm_va_arg,
5358         arm_function_arg_pass_by_reference): New.
5359         * config/arm/arm-protos.h: Add prototypes.
5360
5361 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5362
5363         * gthr-single.h: Fix formatting.
5364
5365 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5366
5367         * tree.c (tree_vec_elt_check_failed): New function.
5368         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5369         (TREE_VEC_ELT): Use it.
5370
5371         * tree-inline.c (optimize_inline_calls): Don't copy a
5372         zero-length vector.
5373
5374 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5375
5376         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5377
5378 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5379
5380         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5381         both operands contain local relocations.
5382         (categorize_decl_for_section): Don't use mergeable sections if
5383         initializer has any relocations.
5384
5385 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5386
5387         * gthr-vxworks.h: Fix formatting.
5388
5389 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5390
5391         * doc/install.texi (Testing): Document extra Java testing.
5392         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5393
5394 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5395
5396         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5397         beginning of the spec.
5398         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5399         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5400         regarding problems with global constructors when using GNU ld.
5401
5402 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5403
5404         * gthr-solaris.h: Fix formatting.
5405
5406 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5407
5408         * gthr-posix.h: Fix formatting.
5409
5410 2002-11-12  Devang Patel <dpatel@apple.com>
5411         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5412         (process_command): Same.
5413         * doc/invoke.texi: Info about these two new options.
5414
5415 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5416
5417         * config/h8300/h8300.md (*andorsi3): New.
5418
5419 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5420
5421         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5422
5423 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5424
5425         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5426         expressions appropriately.
5427
5428 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5429
5430         * gthr-win32.h: Fix formatting.
5431
5432 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5433
5434         * config/h8300/h8300.c (single_one_operand): Correctly compute
5435         mask when mode is SImode.
5436         (single_zero_operand): Likewise.
5437         * config/h8300/h8300.md (two new anonymous insns): New.
5438
5439 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5440
5441         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5442         to that entire project.
5443
5444 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5445
5446         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5447         directories.
5448
5449 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5450
5451         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5452         * doc/invoke.texi: Document them.
5453
5454         * ggc-page.c: Include params.h.  Remove definitions of
5455         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5456         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5457         (init_gcc): Don't set G.allocated_last_gc here.
5458         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5459         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5460         perform collection.
5461         * ggc-simple.c: Similarly.
5462         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5463         dependencies.
5464
5465 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5466
5467         * gthr-dce.h: Fix formatting.
5468
5469 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5470
5471         PR c/8467
5472         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5473         mode of DECL_RTL case.
5474
5475 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5476
5477         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5478
5479 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5480
5481         * i386.c (construct_container): Fix handling of SSE_CLASS.
5482
5483 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5484
5485         * config/m68k/t-crtstuff (crti.o): Use this...
5486         ($(T)crti.o): ... instead.
5487         (crtn.o): Use this...
5488         ($(T)crtn.o): ... instead.
5489
5490 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5491
5492         PR c/8439
5493         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5494         if there is something new to be simplified.
5495
5496 2002-11-10  H.J. Lu <hjl@gnu.org>
5497
5498         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5499         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5500
5501         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5502
5503 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5504
5505         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5506         * config/rs6000/linux.h, config/rs6000/linux64.h,
5507         config/rs6000/windiss.h: ... not here.
5508
5509 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5510
5511         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5512         __ABICALLS__ if TARGET_ABICALLS.
5513
5514 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5515
5516         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5517
5518 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5519
5520         * c-decl.c (grokdeclarator): Make error for duplicate type
5521         qualifiers into a pedwarn, disabled for C99.
5522
5523 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5524
5525         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5526         as FUNCTION_ARG_PASS_BY_REFERENCE.
5527
5528 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5529
5530         * doc/install.texi: Add *-*-vxworks* specific installation
5531         instructions.
5532
5533         * config/vxlib.c: Rewrite using generation numbers to identify
5534         valid TSD keys.
5535
5536 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5537
5538         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5539
5540 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5541
5542         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5543
5544         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5545         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5546         * pa.c (output_millicode_call): Use symbol difference rather than
5547         $PIC_pcrel$0 when using HP assembler.
5548         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5549         not elfos.h (i.e., gas) is being used.
5550         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5551         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5552         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5553         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5554         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5555         using elfos.h.
5556         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5557         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5558         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5559         using elfos.h.
5560         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5561         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5562         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5563         Don't define when not using elfos.h.
5564         (ASM_DECLARE_RESULT): Don't define.
5565         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5566         doesn't work on hppa64-hp-hpux11.
5567         (hppa*-hp-hpux11): Update.
5568
5569 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5570
5571         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5572         to the assembler if -mno-abicalls was specified.
5573
5574 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5575
5576         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5577         ASM_OUTPUT_DEF): Delete.
5578
5579 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5580
5581         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5582
5583 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5584
5585         * real.c (real_sqrt): Update comment with bibliographic reference.
5586
5587 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5588
5589         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5590
5591 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5592
5593         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5594
5595 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5596
5597         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5598         (expand_builtin): Likewise.
5599         * builtins.def: Add
5600         __builtin_floor, __builtin_floorf, __builtin_floorl
5601         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5602         __builtin_round, __builtin_roundf, __builtin_roundl
5603         __builtin_trunc, __builtin_truncf, __builtin_truncl
5604         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5605         * genopinit.c (optabs): Initialize the new optabs.
5606         * optab.c (init_optabs): Likewise.
5607         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5608         OTI_round, OTI_nearbyint.
5609         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5610         * doc/md.texi: Document new named patterns.
5611         * doc/extend.texi (builtin functions)  Document
5612         floor, floorf, floorl, ceil, ceilf,
5613         ceill, round, roundf, roundl, trunc,
5614         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5615
5616 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5617
5618         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5619
5620 2002-11-08  Dale Johannesen  <dalej@apple.com>
5621
5622         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5623
5624 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5625
5626         PR preprocessor/8497
5627         PR preprocessor/8501
5628         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5629         start a directive.  In assembler, #NUM is not a line directive.
5630
5631 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5632
5633         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5634         buffers.
5635
5636 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5637
5638         * config/h8300/h8300.md (two anonymous test insns): New.
5639
5640 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5641
5642         * jump.c (mark_jump_label): Handle subregs of label_refs.
5643
5644 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5645
5646         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5647         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5648
5649 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5650
5651         * config/ia64/crtend.asm: Include "auto-host.h".
5652         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5653         * config/ia64/crtbegin.asm: Similarly.
5654         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5655         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5656
5657         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5658         * configure.in: Use it if --enable-initfini-array not specified.
5659         * doc/install.texi (Configuration): Document --enable-initfini-array.
5660         * configure, config.in: Rebuild.
5661
5662 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5663
5664         * config/arm/arm-protos.h (arm_get_frame_size)
5665         (thumb_get_frame_size): New prototypes.
5666         * config/arm/arm.c (arm_get_frame_size)
5667         (thumb_get_frame_size): New functions.
5668         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5669         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5670         arm_get_frame_size.
5671         (thumb_expand_prologue, thumb_expand_epilogue): Use
5672         thumb_get_frame_size.
5673         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5674         (machine_function): Add frame_size member.
5675         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5676
5677 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5678
5679         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5680         Adjust code to use portable unsigned bit manipulation.
5681         (insn_flags, tune_flags): Change type to unsigned.
5682         (struct processors): Make flags unsigned long.
5683         (arm_override_options): Change type of count and current_bit_count
5684         to unsigned.
5685
5686 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5687
5688         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5689
5690 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5691
5692         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5693
5694 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5695
5696         * reg-stack.c (compensate_edge): Fix sanity check.
5697
5698 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5699
5700         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5701         crt2.o.  Rearrange t-darwin makefiles.
5702         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5703         * unwind-dw2-fde-darwin.c: New.
5704         * unwind-dw2-fde-glibc.c: Correct comment.
5705         * unwind-dw2-fde.c (__register_frame_info_bases)
5706         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5707         (classify_object_over_fdes): Use last_fde.
5708         (add_fdes): Likewise.
5709         (linear_search_fdes): Likewise.
5710         * unwind-dw2-fde.h (struct object)
5711         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5712         (last_fde): New.
5713         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5714         (ENDFILE_SPEC): No crtend.o.
5715         * config/t-darwin: New.
5716         * config/i386/t-darwin: Delete.
5717         * config/darwin-crt2.c: New.
5718         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5719         or config/t-darwin.
5720
5721 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5722
5723         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5724         MASK_MS_BITFIELD_LAYOUT
5725         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5726         MS bitfields for Objective-C.
5727         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5728         defines.
5729
5730         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5731         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5732         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5733
5734         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5735         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5736         (TARGET_SWITCHES): Add above mask.
5737
5738         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5739         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5740         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5741         flags for interix.
5742
5743 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5744
5745         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5746         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5747         assembler.
5748         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5749         before jump on ABI_N32 too.
5750         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5751         length to match.
5752
5753 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5754
5755         * i386.md (negsf splitter): Accept memory operand in second register.
5756         (abssf/absdf splitters): Simplify
5757         (sse_loadss, sse_loadsd): Turn into expander.
5758
5759 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5760
5761         PR target/8480
5762         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5763         FPR to FPR moves.
5764
5765 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5766
5767         * doc/contrib.texi: Merge in the list from the Java web pages.
5768
5769 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5770
5771         * config/sparc/freebsd: Fix typo.
5772
5773 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5774
5775         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5776
5777 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5778
5779         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5780         non-SImode addresses.
5781
5782 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5783
5784         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5785         stack register.
5786         (float SSE splitters): Reorder conditional.
5787
5788 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5789
5790         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5791
5792 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5793
5794         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5795         (STARTFILE_SPEC): Remove p and pg options.
5796
5797 2002-11-05  Andrew Haley  <aph@redhat.com>
5798
5799         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5800         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5801
5802 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5803
5804         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5805         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5806
5807 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5808
5809         * gthr-vxworks.h: Rewritten from scratch.
5810         * config/vxlib.c: New file.
5811         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5812         * config/rs6000/t-vxworks: Add config/vxlib.c to
5813         LIB2FUNCS_EXTRA here too, because of clash with
5814         config/rs6000/t-ppccomm.
5815
5816 2002-11-04  Dale Johannesen  <dalej@apple.com>
5817
5818         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5819         for unrolled loops.
5820         * loop.c (loop_invariant_p):  Support calling from unroller.
5821
5822 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5823
5824         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5825         for comparison.
5826
5827 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5828
5829         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5830
5831         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5832         (CLASS_CANNOT_CHANGE_MODE): Remove.
5833         (CANNOT_CHANGE_MODE_CLASS): New.
5834
5835         * config/alpha/alpha.h: Same.
5836
5837         * config/ia64/ia64.h: Same.
5838
5839         * config/mips/mips.h: Same.
5840
5841         * config/s390/s390.h: Same.
5842
5843         * config/sh/sh.h: Same.
5844
5845         * config/pa/pa64-regs.h: Same.
5846
5847         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5848
5849         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5850
5851         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5852         prototype.
5853
5854         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5855
5856         * doc/tm.texi (Register Classes): Remove
5857         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5858         Document CANNOT_CHANGE_MODE_CLASS.
5859
5860         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5861         (push_reload): Same.
5862
5863         * simplify-rtx.c (simplify_subreg): Same.
5864
5865         * reload1.c (choose_reload_regs): Same.
5866
5867         * recog.c (register_operand): Same.
5868
5869         * regrename.c (mode_change_ok): Change to use new
5870         CANNOT_CHANGE_MODE_CLASS infrastructure.
5871
5872         * regclass.c (cannot_change_mode_set_regs): New.
5873         Declare subregs_of_mode.
5874         (regclass): Use subregs_of_mode.
5875         Remove references to reg_changes_mode.
5876         (init_reg_sets_1): Remove class_can_change_mode and
5877         reg_changes_mode code.
5878         (invalid_mode_change_p): New.
5879         (dump_regclass): Use invalid_mode_change_p instead of
5880         class_can_change_mode.
5881         (regclass): Same.
5882         (record_operand_costs): Do not set reg_changes_mode.
5883
5884         * local-alloc.c (struct qty): Remove changes_mode field.
5885         (alloc_qty): Remove changes_mode initialization.
5886         (update_qty_class): Remove set of changes_mode.
5887         (find_free_reg): Use subregs_of_mode.
5888
5889         * global.c (find_reg): Use subregs_of_mode info.
5890
5891         * rtl.h (cannot_change_mode_set_regs): New prototype.
5892         (invalid_mode_change_p): Same.
5893         (REG_CANNOT_CHANGE_MODE_P): New macro.
5894
5895         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5896         REG_CHANGES_MODE.
5897         (life_analysis): Clear subregs_of_mode.
5898
5899         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5900         Remove use of CLASS_CANNOT_CHANGE_MODE.
5901         (simplify_set): Same.
5902         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5903         REG_CHANGES_MODE.
5904
5905         * regs.h: Add extern for subregs_of_mode;
5906         Include hard-reg-set and basic-block.
5907         (REG_CHANGES_MODE): Delete.
5908
5909 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5910
5911         * real.c (real_sqrt): New function to calculate square roots.
5912         * real.h (real_sqrt): Add function prototype.
5913         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5914         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5915         of constant argument.
5916
5917 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5918
5919         * jump.c (never_reached_warning): Don't set contains_insn until the
5920         first line note is seen.
5921
5922 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5923
5924         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5925
5926 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5927
5928         PR c/7128
5929         * c-typeck.c (c_expand_asm_operands): Defend against
5930         error_mark_nodes in the output argument to avoid ICE.
5931
5932 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5933
5934         PR middle-end/8408
5935         * genrecog.c (preds): Handle ADDRESSOF.
5936         (validate_pattern): Mark it as an lvalue.
5937
5938 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5939
5940         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5941         instructions when optimizing for size.
5942
5943 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5944
5945         * config/h8300/h8300.h: Fix comment typos.
5946         * config/h8300/h8300.md: Likewise.
5947         * config/h8300/lib1funcs.asm: Likewise.
5948
5949 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5950
5951         Revert this change:
5952
5953         *doc/install.texi (Installing GCC: Configuration): Clarify
5954         the only supported ways to configure gcc.
5955
5956 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5957
5958         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5959         instead of 'O' for the constraint for the second operand.
5960
5961 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5962
5963         PR c++/8391
5964         * toplev.c (rest_of_compilation): Do not refuse to output code for
5965         an inline function in a local class.
5966
5967 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5968
5969         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5970         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5971         Add comment.
5972
5973 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5974
5975         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5976
5977 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5978
5979         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5980
5981 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5982
5983         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5984         (MASK_INLINE_DIV_THR): Remove.
5985         (TARGET_INLINE_DIV_LAT): Remove.
5986         (TARGET_INLINE_DIV_THR): Remove.
5987         (TARGET_INLINE_DIV): Remove.
5988         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5989         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5990         (MASK_INLINE_INT_DIV_LAT): New macro.
5991         (MASK_INLINE_INT_DIV_THR): New macro.
5992         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5993         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5994         (TARGET_INLINE_INT_DIV_LAT): New macro.
5995         (TARGET_INLINE_INT_DIV_THR): New macro.
5996         (TARGET_INLINE_FLOAT_DIV): New macro.
5997         (TARGET_INLINE_INT_DIV): New macro.
5998         * config/ia64/ia64.md (divsi3): Change to use new macros.
5999         (modsi3): Ditto.
6000         (udivsi3): Ditto.
6001         (umodsi3): Ditto.
6002         (divsi3_internal): Ditto.
6003         (divdi3): Ditto.
6004         (moddi3): Ditto.
6005         (udivdi3): Ditto.
6006         (umoddi3): Ditto.
6007         (divdi3_internal_lat): Ditto.
6008         (divdi3_internal_thr): Ditto.
6009         (divsf3): Ditto.
6010         (divsf3_internal_lat): Ditto.
6011         (divsf3_internal_thr): Ditto.
6012         (divdf3): Ditto.
6013         (divdf3_internal_lat): Ditto.
6014         (divdf3_internal_thr): Ditto.
6015         (divtf3): Ditto.
6016         (divtf3_internal_lat): Ditto.
6017         (divtf3_internal_thr): Ditto.
6018         * config/ia64/ia64.c (ia64_override_options): Change
6019         to check new macros for conflicts in settings.
6020         * doc/invoke.texi (-minline-divide-min-latency): Remove.
6021         (-minline-divide-max-throughput): Remove.
6022         (-minline-float-divide-min-latency): New.
6023         (-minline-float-divide-max-throughput): New.
6024         (-minline-int-divide-min-latency): New.
6025         (-minline-int-divide-max-throughput): New.
6026
6027 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
6028
6029         PR target/7856
6030         * arm.c (use_return_insn): Don't use a return insn if there are
6031         saved integer regs, but LR is not one of them.
6032
6033 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6034
6035         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
6036         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
6037
6038 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6039
6040         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
6041         (movps, movpd splitters): Use canonical form.
6042         (movv2di): Fix merge problem.
6043
6044 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
6045
6046         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6047
6048 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6049
6050         PR optimization/6162
6051         * doc/md.texi: Document restriction on commutative operand
6052         specification.
6053
6054 2002-10-31  Eric Christopher  <echristo@redhat.com>
6055
6056         * explow.c (convert_memory_address): Use shallow_copy_rtx.
6057
6058 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6059
6060         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
6061
6062 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
6063
6064         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
6065
6066 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6067
6068         * config/rs6000/darwin.h:  Correct formatting in previous.
6069
6070 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
6071
6072         * config/rs6000/darwin.h:  Enable -falign-xxx options.
6073
6074 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
6075
6076         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
6077         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
6078         * i386.c (optimization_options): Set flag_omit_frame_pointer,
6079         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
6080         Do not clear -momit-leaf-frame-pointer when profiling.
6081         (ix86_frame_pointer_required): Frame pointer is always required when
6082         profiling.
6083
6084 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6085
6086         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
6087
6088 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
6089
6090         * sh.h (binary_logical_operator): Declare.
6091         * sh.c (binary_logical_operator): New function.
6092         * sh.md (xordi3+1): New combiner splitter pattern.
6093
6094 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
6095
6096         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6097         __enable_execute_stack function.
6098
6099 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
6100
6101         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
6102         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
6103         * unwind-sjlj.c (fc_key_dtor): Delete.
6104         (fc_key_init): Adjust __gthread_key_create call to match.
6105
6106 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
6107
6108         * c-common.c: Add GTY to vector_type_node_list.
6109
6110 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6111
6112         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6113         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6114         pa_init_machine_status): Declare new global functions.
6115         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6116         implement new functions.
6117         (attr_length_millicode_call, attr_length_call): Implement.
6118         (total_code_bytes): Change type to long.
6119         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6120         Reset counter if flag_function_sections.
6121         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6122         (output_cbranch): Move call to gen_label_rtx.
6123         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6124         delay slot in all variants, shorten pc-relative calls.
6125         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6126         slot usage and exposure, various new call variants, and shortened
6127         sequences for some variants on TARGET_PA_20.
6128         Miscellaneous format changes.
6129         * pa.h (total_code_bytes): Change type to long.
6130         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6131         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6132         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6133         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6134         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6135         stores on TARGET_ELF32.
6136         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6137         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6138         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6139         attr_length_millicode_call().
6140         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6141         Calculate attribute length using attr_length_call().
6142         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6143         to delay slot.
6144         (sibcall, sibcall_value): Rewrite.
6145         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6146         register 1.  Use attr_length_call().
6147         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6148         New patterns.
6149         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6150         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6151         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6152         * doc/invoke.texi (mlong-calls): Document.
6153
6154 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6155
6156         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6157         handling of cases where one or both branches of the conditional
6158         have void type, i.e. throw an exception or don't return.
6159         (fold): Only apply (and undo) type conversion to the non-void
6160         branches of a COND_EXPR.
6161
6162 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6163
6164         PR c++/8333
6165         * varasm.c (asm_output_aligned_bss): Do not call
6166         ASM_GLOBALIZE_LABEL.
6167
6168 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6169             Torbjorn Granlund  <tege@swox.com>
6170
6171         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6172         for addressibility.
6173         (load_toc_v4_PIC_1b): Same.
6174
6175 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6176
6177         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6178         Truncate the addresses for H8/300 using HImode.
6179
6180 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6181
6182         * i386.md (negdf splitter): Fix construction of the constant.
6183
6184 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6185
6186         * i386.md (negsf, negdf): Reorganize to use vector modes
6187         for SSE variants.
6188         (abssf, absdf): Use force_reg.
6189         (movv4sf, movv2df): New splitters.
6190         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6191         * i386.c (zero_extended_scalar_load_operand
6192
6193         * i386-protos.h (ix86_expand_call): Update prototype.
6194         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6195         (ix86_expand_call): Use r11 for indirect sibcalls.
6196         * i386.md (call, call_value, untyped_call, call_value_pop):
6197         update x86_expand_call call.
6198         (sibcall, sibcall_value): new patterns
6199         (call_rex64, call_value_rex64): Do not accept sibcalls.
6200         (sibcall_rex64, sibcall_value_rex64,
6201         sibcall_rex64_v, sibcall_value_rex64_v): New.
6202
6203 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6204
6205         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6206         before final pass.
6207
6208 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6209
6210         * toplev.c (rest_of_type_compilation): Return early in case of
6211         errors.
6212         (check_global_declarations): Don't call debug_hooks->global_decl
6213         in case of errors.
6214
6215 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6216
6217         * doc/c-tree.texi (Tree overview): Fix typos.
6218
6219 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6220
6221         * Makefile.in (gnucompare*):  Only record bad comparisons
6222         if there really was a bad comparison.
6223
6224 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6225
6226         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6227         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6228         * md.texi (machine dependent constraints): Document 'C'
6229
6230         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6231
6232         * i386.c (ix86_expand_vector_move): Fix.
6233
6234         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6235         * i386.md (sse2_maskmovdqu_rex64): New pattern
6236
6237         PR target/8322
6238         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6239         (ix86_init_mmx_sse_builtins): Fix type.
6240
6241 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6242
6243         * gthr-posix.h: Include <unistd.h> for feature tests.
6244         (sched_get_priority_max, sched_get_priority_min)
6245         (pthread_getschedparam, pthread_setschedparam): Only use
6246         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6247         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6248         returns from sched_get_priority_max and sched_get_priority_min
6249         as an error.
6250
6251 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6252
6253         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6254         MASK_QUICKCALL.
6255
6256 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6257
6258         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6259         (h8300_tiny_constant_address_p): Likewise.
6260         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6261         h8300_eightbit_constant_address_p.
6262         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6263         * config/h8300/h8300-protos.h: Add the prototypes for the two
6264         new functions.
6265
6266 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6267
6268         * reload1.c (update_eliminables): Unconditionally check if
6269         frame_pointer_needed has changed.
6270
6271 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6272
6273         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6274         before final pass.
6275
6276 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6277
6278         PR optimization/8334
6279         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6280         check for zero operands explicitly.
6281
6282 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6283
6284         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6285         memory after adjusting to BLKmode.
6286
6287 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6288
6289         * config/h8300/h8300.h (MASK_*): New.
6290         (TARGET_*): Use MASK_*.
6291
6292 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6293
6294         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6295         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6296         config/rs6000/vxworks.h: New files.
6297         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6298
6299         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6300         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6301         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6302         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6303         sparc-*-vxsim*): Delete stanzas.
6304         * gthr-vxworks.h: Rip out all substantive code and just
6305         include gthr-single.h.
6306
6307         * config/alpha/vxworks.h, config/arm/vxarm.h,
6308         config/i386/vxi386.h, config/i960/t-vxworks960,
6309         config/i960/vx960-coff.h, config/i960/vx960.h,
6310         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6311         config/mips/vxworks.h, config/rs6000/vxppc.h,
6312         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6313         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6314         config/sparc/vxsparc64.h: Delete files.
6315
6316 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6317
6318         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6319         tm_defines if pthreads are enabled.
6320         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6321         if NETBSD_ENABLE_PTHREADS is defined.
6322
6323 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6324
6325         * ChangeLog.1: Fix typos.
6326         * cse.c: Fix a comment typo.
6327         * reload1.c: Likewise.
6328
6329 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6330
6331         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6332         * fixinc/tests/base/_G_config.h: New file.
6333
6334 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6335
6336         * combine.c: Fix comment formatting.
6337         * loop.c: Likewise.
6338         * real.c: Likewise.
6339         * regclass.c: Likewise.
6340         * regmove.c: Likewise.
6341         * regrename.c: Likewise.
6342         * reg-stack.c: Likewise.
6343         * reload1.c: Likewise.
6344         * reload.c: Likewise.
6345         * reload.h: Likewise.
6346         * unroll.c: Likewise.
6347
6348 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6349
6350         * reload1.c (reload): Fix a comment typo.
6351
6352 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6353
6354         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6355
6356 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6357
6358         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6359         * dwarf2out.c: Include hashtab.h.
6360         (is_main_source): New static variable.
6361         (attr_checksum, die_checksum): Modified to handle die references.
6362         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6363         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6364         record_comdat_symbol_number): New static functions.
6365         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6366         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6367         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6368         declarations added.
6369
6370 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6371
6372         * config/h8300/h8300.c (initial_offset): Change to
6373         h8300_initial_elimination_offset.
6374         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6375         h8300_initial_elimination_offset.
6376         * config/h8300/h8300-protos.h: Update the prototype.
6377
6378 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6379
6380         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6381         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6382         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6383         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6384         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6385         and RTX_CODE.
6386         (mmix_function_value_regno_p): Declare.
6387
6388         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6389         invalid for floating point mode result, with fix.
6390
6391 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6392
6393         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6394         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6395         (stage1_build): Likewise.
6396
6397 2002-10-25  Mike Stump  <mrs@apple.com>
6398
6399         Fixes gcc.dg/warn-1.c.
6400         * c-typeck.c (warn_for_assignment): Don't print argument number,
6401         if zero.
6402
6403 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6404
6405         * toplev.c (dump_file_index): Add DFI_ce3.
6406         (dump_file_info): Likewise.
6407         (rest_of_compilation): Run first ifcvt pass before tracer.
6408
6409 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6410
6411         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6412
6413 2002-10-25  Richard Henderson  <rth@redhat.com>
6414
6415         * real.c (real_to_decimal): If the >1 tens reduction loop results
6416         in a negative exponent, fall into the <1 pten computation.
6417
6418 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6419
6420         PR middle-end/6994
6421         * c-objc-common.c (inline_forbidden_p): Can not inline
6422         functions containing structures or unions containing VLAs.
6423         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6424         TYPE_SIZE and TYPE_SIZE_UNIT.
6425         (copy_tree_r): Copy types if they are variably modified.
6426
6427 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6428
6429         * config/s390/s390.md: Remove old-style peepholes.
6430
6431 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6432
6433         * config/s390/s390.c (s390_decompose_address): Do not range check the
6434         displacement if base or index is the argument pointer register.
6435
6436 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6437
6438         PR other/3337
6439         PR bootstrap/6763
6440         PR bootstrap/8122
6441         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6442         * fixinc/fixincl.x: Regenerate.
6443         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6444         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6445         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6446         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6447         * config.in, configure: Regenerate.
6448
6449 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6450
6451         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6452
6453 2002-10-24  Richard Henderson  <rth@redhat.com>
6454
6455         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6456
6457 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6458
6459         * config/h8300/h8300.c (initial_offset): Simplify by using
6460         round_frame_size.
6461
6462 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6463
6464         * doc/install.texi (avr): Update required binutils version.
6465
6466 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6467
6468         * doc/install.texi: Point avr users at more up-to-date information.
6469
6470 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6471
6472         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6473         to pull operands out of the literal pool where possible.
6474
6475 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6476
6477         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6478
6479 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6480
6481         * expr.c (convert_move): If unsignedp is less then zero there
6482         is no equivalent code.
6483
6484 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6485
6486         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6487
6488 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6489
6490         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6491         according to the sequence they are defined in the manual.
6492         (POINTER_BOUNDARY): Remove.
6493
6494 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6495
6496         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6497         BITS_PER_UNIT.
6498
6499 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6500
6501         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6502         64-bit safe.
6503         (TINY_CONSTANT_ADDRESS_P): Likewise.
6504
6505 2002-10-24  Richard Henderson  <rth@redhat.com>
6506
6507         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6508         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6509         vcall offset.
6510
6511 2002-10-24  Richard Henderson  <rth@redhat.com>
6512
6513         PR opt/7944
6514         * reload.c (find_reloads_toplev): Mode of X is not important
6515         when simplifying subregs of constants.
6516
6517 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6518
6519         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6520         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6521         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6522         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6523         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6524
6525 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6526
6527         * optabs.c (expand_binop): Don't reuse the shift target in the
6528         middle of shift sequences.
6529
6530 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6531
6532         * i386.md (abs splitters): Do not produce nested subregs.
6533
6534 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6535
6536         * i386.md (movti_rex64): Fix constraints.
6537
6538 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6539
6540         * i386.md (abssf,absdf): Use vector operands for SSE
6541         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6542         vector operand.
6543
6544 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6545
6546         * objc/objc-act.c (get_static_reference): Remove unneeded
6547         TYPE_BINFO initialization.
6548         (get_object-reference): Likewise.
6549         (build_constructor): Tighten precondition check.
6550         (finish_message_expr): Likewise.
6551
6552 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6553
6554         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6555         after CONST test.
6556
6557 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6558
6559         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6560         in HFAs.
6561
6562 2002-10-23  Richard Henderson  <rth@redhat.com>
6563
6564         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6565         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6566
6567 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6568
6569         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6570         var_mod_type_p.
6571         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6572         hook_tree_bool_false.
6573
6574         * tree.c (variably_modified_type_p): Moved here from
6575         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6576         language-specific cases.  Due to this, must weaken some 'if
6577         and only if' checks to merely 'if'.
6578         * tree.h: Prototype variably_modified_type_p.
6579
6580         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6581
6582 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6583
6584         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6585         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6586
6587         * config/s390/s390-protos.h (fp_operand): Remove.
6588         * config/s390/s390.c (fp_operand): Remove.
6589         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6590         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6591         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6592         (movdi_31, movdf_31 splitters): Likewise.
6593
6594         * config/s390/s390.h (IEEE_FLOAT): Remove.
6595         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6596         (INT_REGNO_P): Rename to ...
6597         (GENERAL_REGNO_P): ... this.
6598         (FLOAT_REGNO_P): Rename to ...
6599         (FP_REGNO_P): ... this.
6600         (ADDR_REGNO_P): New macro.
6601         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6602         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6603         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6604         (HARD_REGNO_NREGS): Adapt to macro renaming.
6605         (HARD_REGNO_MODE_OK): Likewise.
6606
6607 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6608             Geoff Keating  <geoffk@apple.com>
6609
6610         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6611         (rs6000_memory_move_cost): New function.
6612         * config/rs6000/rs6000-protos.h: Declare them.
6613         * config/rs6000/rs6000.h: Use them.
6614
6615 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6616
6617         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6618         inlining it into other libgcc2 routines.
6619         (__udivmoddi4): Likewise.
6620
6621 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6622
6623         * doc/sourcebuild.texi (Test Suites): Improve.
6624
6625 2002-10-22  Stan Shebs  <shebs@apple.com>
6626
6627         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6628         case for Darwin.
6629
6630 2002-10-22  Jim Wilson  <wilson@redhat.com>
6631
6632         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6633
6634 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6635
6636         PR other/8289
6637         * xmmintrin.h: Add const to the argument of loads.
6638
6639         * i386.md (pushv2di): New pattern.
6640         PR target/6890
6641         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6642
6643 2002-10-22  Richard Henderson  <rth@redhat.com>
6644
6645         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6646         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6647         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6648         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6649         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6650         (TARGET_ASM_OUT): Update.
6651         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6652         (hook_bool_tree_hwi_hwi_tree_true): New.
6653         (default_can_output_mi_thunk_no_vcall): New.
6654         * hooks.h: Declare them.
6655         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6656
6657         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6658         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6659         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6660         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6661         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6662         config/stormy16/stormy16.c: Similarly.
6663
6664         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6665         Handle 64-bit properly.  Streamline.
6666         (x86_output_mi_vcall_thunk): Remove.
6667         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6668         (x86_can_output_mi_thunk): New.
6669         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6670         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6671         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6672
6673         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6674         output_mi_thunk; make static; always use function_section.
6675         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6676         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6677         (rs6000_ra_ever_killed): Test no_new_pseudos not
6678         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6679         * config/rs6000/rs6000-protos.h: Update.
6680         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6681         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6682         xcoffout_declare_function when using rs6000_output_mi_thunk.
6683
6684         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6685         s390_output_mi_vcall_thunk.
6686         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6687         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6688
6689         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6690         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6691         * config/vax/vax-protos.h: Update.
6692         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6693
6694 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6695
6696         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6697         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6698         * i386.md (movti_internal): Use 'C'
6699
6700         * xmmintrin.h (_mm_cmplt_epi*): New.
6701
6702 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6703
6704         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6705         ("*movdf_64"): Likewise.
6706         ("*lshrdi3_64"): Likewise.
6707         ("blockage"): Add length attribute.
6708         ("lit"): Likewise.
6709
6710 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6711
6712         * i386.md: FIx typo.
6713         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6714         (sse2_umulv2siv2di3): Fix predicate.
6715         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6716         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6717         * xmmintrin.h (_mm_mul_epu16): Rename to...
6718         (_mm_mul_epu32): This one.
6719         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6720
6721         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6722
6723 2002-10-22  Eric Christopher  <echristo@redhat.com>
6724
6725         * config/sparc/sparc.h: Add #error.
6726
6727 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6728
6729         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6730         [s390x-*-linux*]: Likewise.
6731         * config/s390/t-linux: Remove.
6732         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6733
6734 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6735
6736         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6737         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6738         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6739         * i386.md (mmx_punpck?dq): Simplify.
6740         (sse2_pubpcklqdq): Fix.
6741         (sse2_pubpckhqdq): New.
6742         * xmmintrin.h (_mm_unpackhi_epi32): New.
6743
6744         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6745         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6746
6747 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6748
6749         PR c++/7209
6750         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6751         build compound_expr if we used save_expr.
6752
6753 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6754
6755         * output.h (SECTION_NOTYPE): Define.
6756         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6757         init array sections.
6758         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6759         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6760         merge TLS support.
6761
6762 2002-10-21  Richard Henderson  <rth@redhat.com>
6763
6764         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6765         the function type, not the return type.
6766
6767 2002-10-21  Richard Henderson  <rth@redhat.com>
6768
6769         * real.c (sticky_rshift_significand): Return inexact, don't
6770         or it in immediately.
6771         (sub_significands): Accept incomming carry.
6772         (div_significands, rtd_divmod): Update for sub_significands change.
6773         (round_for_format): Update for sticky_rshift_significand change.
6774         (do_add): Don't involve the inexact bit in addition, do give the
6775         inexact bit as the subtraction carry-in.
6776         (encode_internal, decode_internal, real_internal_format): New.
6777         * real.h (real_internal_format): Declare.
6778
6779 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6780
6781         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6782         don't define sdiv_qrnnd.
6783
6784 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6785
6786         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6787         using IN_RANGE.
6788         (TINY_CONSTANT_ADDRESS_P): Likewise.
6789
6790 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6791
6792         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6793         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6794         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6795         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6796         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6797         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6798         __builtin_ia32_setzero128.
6799         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6800         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6801         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6802         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6803         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6804         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6805         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6806         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6807         sse2_movq): New patterns.
6808         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6809         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6810         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6811         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6812         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6813         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6814         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6815         (_mm_insert_epi16): Fix.
6816
6817 2002-10-21  Dale Johannesen  <dalej@apple.com>
6818
6819         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6820             unsafe math reversals correctly for RTL generation.
6821           (output_cbranch):  Replace rs6000_reverse_condition call
6822             by its former definition.
6823
6824 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6825
6826         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6827         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6828         from constant pool or LABEL_REFs as sign extended if allow_rip.
6829         Change all +-1GB limits to +-16MB.
6830         (x86_64_general_operand, x86_64_szext_general_operand,
6831         x86_64_nonmemory_operand, x86_64_movabs_operand,
6832         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6833         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6834         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6835         in CM_SMALL_PIC model.
6836         (legitimate_pic_address_disp_p): Don't check offsets before
6837         calling local_symbolic_operand.
6838         (legitimize_pic_address): Force offsets bigger than +-16MB into
6839         register.
6840         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6841         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6842         prototype.
6843
6844         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6845         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6846         * configure: Rebuilt.
6847         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6848         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6849         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6850         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6851         -fpic.
6852         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6853         non-pic code if TARGET_64BIT.
6854         (legitimize_address): Generate 64-bit TLS sequences.
6855         (output_pic_addr_const): Support x86-64 TLS operators.
6856         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6857         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6858         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6859         (output_addr_const_extra): Support x86-64 TLS operators.
6860         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6861         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6862         unconditionally.
6863         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6864         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6865         (*tls_global_dynamic_sun): Renamed to...
6866         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6867         (tls_global_dynamic): Renamed to...
6868         (tls_global_dynamic_32): ... this.
6869         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6870         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6871         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6872         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6873         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6874         (tls_local_dynamic_base_dynamic): Renamed to...
6875         (tls_local_dynamic_base_dynamic_32): ... this.
6876         (tls_local_dynamic_base_dynamic_64,
6877         *tls_local_dynamic_base_dynamic_64): New.
6878         (*tls_local_dynamic_once): Renamed to...
6879         (*tls_local_dynamic_32_once): ... this.
6880
6881 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6882
6883         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6884         __divdi3, __umoddi3, or __moddi3.
6885
6886 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6887
6888         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6889         instead of just opt_index as switch expression.
6890
6891         * calls.c (store_one_arg): Change type of 'excess_align'
6892         to unsigned int.
6893
6894         * profile.c (output_gcov_string): Change type of 'temp'
6895         to size_t.
6896
6897 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6898
6899         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6900         (__fixunssfdi, __fixsfdi): Likewise.
6901         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6902         (s390_single_qi): Likewise.
6903         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6904         unsigned comparison warning.
6905         (s390_return_addr_rtx): New function.
6906         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6907         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6908         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6909
6910 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6911
6912         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6913         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6914         (s390_output_mi_thunk): Remove.
6915         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6916
6917 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6918
6919         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6920
6921 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6922
6923         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6924         inverted test in the conditional determining the possibility
6925         of sibcalls in PIC mode.
6926
6927 2002-10-20  Richard Henderson  <rth@redhat.com>
6928
6929         * target.h (struct gcc_target): Line wrap.
6930
6931         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6932         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6933         * config/alpha/alpha.h: ... not here.
6934         * config/alpha/alpha-protos.h: Update.
6935
6936         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6937         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6938         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6939         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6940         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6941         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6942         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6943         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6944         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6945         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6946         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6947         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6948         config/sparc/sparc.c, config/sparc/sparc.h,
6949         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6950         config/stormy16/stormy16.h: Similarly.
6951
6952         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6953         selection logic from call patterns.
6954
6955 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6956
6957         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6958
6959 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6960
6961         PR other/8202
6962         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6963         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6964         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6965         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6966
6967 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6968
6969         PR c/761
6970         * toplev.c (flag_unsafe_profile_arcs): Remove.
6971         (flag_bounded_pointers): Remove.
6972         (flag_bounds_check): Correct comments.
6973         (lang_independent_options): Remove -funsafe-profile-arcs and
6974         -fbounded-pointers.  Correct -fbounds-check comments.
6975
6976         * flags.h: Correct flag_schedule_interblock comments.
6977         (flag_bounded_pointers): Remove prototype.
6978         (flag_bounds_check): Correct comments.
6979
6980         * c-opts.c (c_common_init_options): No need to mark
6981         flag_bounds_check as unspecified.
6982         (c_common_post_options): And no need to set it from
6983         flag_bounded_pointers if its still unspecified.
6984
6985         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6986         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6987         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6988         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6989
6990 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6991         Angela Marie Thomas  <angela@releasedominatrix.com>
6992         Brendan Kehoe  <brendan@zen.org>
6993         Nick Clifton  <nickc@redhat.com>
6994         Andrew Haley  <aph@redhat.com>
6995
6996         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6997         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6998         and CROSS_SYSTEM_HEADER_DIR.
6999         * configure: Rebuilt.
7000         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
7001         (TARGET_SYSTEM_ROOT): New.
7002         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
7003         CROSS_SYSTEM_HEADER_DIR.
7004         (install-gcc-tooldir): New target.
7005         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
7006         if SYSTEM_HEADER_DIR does not exist and it's not the default
7007         sys-include directory.
7008         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
7009         (install-mkheaders): Likewise.
7010         * gcc.c (target_system_root): New variable.
7011         (add_sysrooted_prefix): New function.
7012         (process_command): Recompute run-time target_system_root from
7013         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
7014         does not exist.
7015         (do_spec_1): Process 'R' spec.
7016         (main): Add md_exec_prefix to exec_prefixes regardless of
7017         startfile_prefix_spec.  Use add_sysrooted_prefix for
7018         startfile_prefixes, and don't skip the default ones when cross
7019         compiling with sysroot enabled.  Removed unused case of
7020         non-absolute standard_startfile_prefix.
7021         * config/interix.h: Remove the only potential, yet disabled,
7022         occurrence of non-absolute (empty) standard_startfile_prefix.
7023         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
7024         linking.
7025         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
7026         * doc/install.texi (--with-sysroot): Document.
7027         (--with-headers, --with-libs): Deprecate.
7028
7029 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7030             Mark Mitchell  <mark@codesourcery.com>
7031
7032         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
7033         match target.h.
7034         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
7035         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
7036         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
7037         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
7038         x86_output_mi_thunk): Likewise.
7039         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
7040         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
7041         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
7042         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
7043         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
7044         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
7045         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
7046         Likewise.
7047         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
7048
7049         * target.h (gcc_target): Update output_mi_thunk and
7050         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
7051         vcall_index.
7052
7053         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
7054         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7055         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
7056         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
7057         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
7058         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
7059         signature.
7060         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
7061         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7062         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7063         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
7064         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
7065         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
7066         TARGET_ASM_OUTPUT_MI_THUNK in comments.
7067         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
7068         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
7069
7070         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
7071         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
7072
7073 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
7074
7075         * real.c (do_add): Fix 0+0 sign corner case.
7076         (do_divide): Fix Inf/0 corner case.
7077
7078 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
7079
7080         * i386.c (classify_argument): Pass MMX arguments in memory
7081         (ix86_expand_builtin): Expand proper address mode for cflush.
7082         * i386.md (movdqa): Fix typo.
7083         (sse2_cflush): Accept DImode addresses.
7084
7085         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
7086         (_mm_max_sd): Fix pasto.
7087         (_mm_storeh_pd, _mm_storel_pd): Fix.
7088
7089         * i386.c (bdesc_comi): Fix to match specification.
7090         (ix86_expand_sse_comi): Emit the comparison properly.
7091         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
7092         Do not use comparison operator.
7093         (vnmaskcmp): Fix template.
7094
7095         * xmmintrin.h (_mm_cvtps_pi16): Fix.
7096
7097 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
7098
7099         * dependence.c : Removed.
7100         * Makefile.in : Remove dependence.o.
7101
7102 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
7103
7104         * mmintrin.h (__m64): typedef it to v2si.
7105         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
7106         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
7107         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
7108         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
7109         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7110         * xmmintrin.h (_mm_setzero_si64): Likewise.
7111
7112         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7113         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7114
7115         PR target/7693
7116         Patch by Shawn Wagner
7117         * mmintrin.h: Replace pi64 by si64.
7118
7119 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7120
7121         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7122         Use length of 4 not *.
7123         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7124         (movdf_softfloat64): Likewise.
7125         (movdi_internal32): Use length of 4 not *.
7126         (movti_power): Same.
7127         (ctrsi, ctrdi): Same.
7128
7129 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7130
7131         * c-decl.c (start_decl): Point users of the old initialized-
7132         typedef extension at __typeof__.
7133
7134 2002-10-18  Richard Henderson  <rth@redhat.com>
7135
7136         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7137         (real_to_decimal): Re-implement using the logic from the
7138         gcc 3.2 etoasc.  Comment heavily.
7139         (div_significands): Simplify loop startup and comparison logic.
7140
7141 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7142
7143         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7144         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7145         (TARGET_ASM_OUT): Add them.
7146         * target.h (asm_out): Add output_mi_thunk and
7147         output_mi_vcall_thunk.
7148         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7149         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7150         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7151         * config/arm/arm.c (arm_output_mi_thunk): Define.
7152         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7153         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7154         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7155         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7156         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7157         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7158         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7159         prototype.
7160         (x86_output_mi_vcall_thunk): Declare.
7161         * config/i386/i386.c (override_options): Clear
7162         output_mi_vcall_thunk in 64-bit mode.
7163         (ix86_fntype_regparm): New function.
7164         (ix86_return_pops_args): Use it.
7165         (ia32_this_parameter): New function.
7166         (x86_output_mi_vcall_thunk): New function.
7167         (x86_output_mi_thunk): Use it
7168         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7169         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7170         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7171         * config/i960/i960.c (i960_output_mi_thunk): New function.
7172         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7173         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7174         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7175         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7176         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7177         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7178         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7179         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7180         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7181         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7182         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7183         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7184         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7185         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7186         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7187         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7188         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7189         * config/s390/s390.c (s390_output_mi_thunk): Define.
7190         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7191         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7192         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7193         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7194         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7195         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7196         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7197         * config/vax/vax.c (vax_output_mi_thunk): Define.
7198         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7199         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7200         * doc/tm.texi: Adjust documentation.
7201
7202 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7203
7204         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7205         __enable_execute_stack function.
7206         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7207         as NETBSD_ENABLE_EXECUTE_STACK.
7208         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7209         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7210         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7211         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7212         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7213
7214 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7215
7216         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7217         to __enable_execute_stack with the address of the trampoline
7218         if TRANSFER_FROM_TRAMPOLINE is defined.
7219         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7220         constant if building libgcc2.
7221
7222 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7223
7224         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7225         (ix86_memory_move_cost): Fix for 64bit compilation.
7226
7227 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7228
7229         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7230
7231 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7232
7233         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7234         in CTR/LR/MQ.
7235         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7236         to/from CTR/LR/MQ.
7237         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7238         (movsf_softfloat): Likewise.
7239
7240 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7241
7242         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7243
7244 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7245
7246         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7247         tramp, not addr, to pass the trampoline address to
7248         __enable_execute_stack.
7249
7250 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7251
7252         * mmintrin.h: Guard by __MMX__
7253         * xmmintrin.h: Guard by __SSE__
7254
7255         PR other/8062
7256         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7257         (_mm_load*_?d): New functions.
7258         (_mm_set*_?d): New functions.
7259         (_mm_store*_?d): New functions.
7260
7261 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7262
7263         Really commit patch announced at Oct 14
7264         PR c/7344
7265         * predict.c (can_predict_insn_p): New function.
7266         (estimate_probability): Avoid unnecesary work.
7267         (process_note_prediction): Likewise.
7268         * toplev.c (rest_of_compilation): Account early branch prediction pass
7269         as TV_BRANCH_PROB.
7270
7271         PR other/8048
7272         Found by Ian Ollmann
7273         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7274         (_mm_load?_pd): Likewise.
7275         (_mm_store?_pd): Likewise.
7276
7277         PR target/7386
7278         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7279         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7280         swapped alternative.
7281
7282         PR opt/7630
7283         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7284         (push_reload): Update call.
7285
7286 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7287
7288         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7289         if using mips/elf.h or mips/elf64.h.
7290         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7291         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7292
7293 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7294
7295         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7296         SI.
7297
7298 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7299
7300         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7301         (LPREFIX): Likewise.
7302         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7303         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7304         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7305         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7306         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7307
7308         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7309         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7310         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7311         BSS_SECTION_ASM_OP): Move from linux.h.
7312         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7313         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7314
7315         * config/s390/s390.c (s390_function_profiler): Use
7316         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7317
7318 2002-10-15  Eric Christopher  <echristo@redhat.com>
7319
7320         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7321         * java/parse.y (obtain_incomplete_type): Make pointer
7322         ptr_mode.
7323
7324 2002-10-15  Richard Henderson  <rth@redhat.com>
7325
7326         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7327         as arguments.  Bound DIGITS by the available buffer size.
7328         (real_to_hexadecimal): Likewise.
7329         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7330         (REAL_VALUE_TO_DECIMAL): Remove.
7331         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7332         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7333         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7334         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7335         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7336         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7337         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7338         use real_to_decimal directly, and with the proper arguments.
7339         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7340
7341 2002-10-15  Jim Wilson  <wilson@redhat.com>
7342
7343         * reload1.c (merge_assigned_reloads): After converting overlapping
7344         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7345
7346         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7347
7348 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7349
7350         * expr.c (do_tablejump): Fix typo in my previous commit.
7351
7352 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7353
7354         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7355
7356 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7357
7358         * config/s390/s390.c (s390_split_branches): Add return
7359         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7360
7361         (find_base_register_in_addr): New function.
7362         (find_base_register_ref): New function.
7363         (replace_base_register_ref): New function.
7364
7365         (struct constant_pool): Add members pool_insn, insns, and anchor.
7366         Remove member last_insn.
7367         (s390_start_pool): Initialize them.
7368         (s390_end_pool): Emit pool placeholder insn.
7369         (s390_add_pool_insn): New function.
7370         (s390_find_pool): Use insns bitmap instead of addresses.
7371         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7372         Replace unspec 104 by local-pool-relative references.
7373         (s390_output_constant_pool): Output anchor label if required.
7374         (s390_output_symbolic_const): Handle unspec 104 and 105.
7375         (s390_add_pool): Remove, replace by ...
7376         (s390_add_constant, s390_find_constant): ... these new functions.
7377         (s390_add_anchor): New function.
7378
7379         (s390_chunkify_pool): Delete, replace by ...
7380         (s390_chunkify_start, s390_chunkify_finish,
7381         s390_chunkify_cancel): ... these new functions.
7382         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7383         Recompute register live data for special registers.
7384         (s390_fixup_clobbered_return_reg): New function.
7385         (s390_machine_dependent_reorg): Rewrite to use new
7386         s390_chunkify_... routines.
7387
7388         config/s390/s390.md ("reload_base"): Rename to ...
7389         ("reload_base_31"): ... this.
7390         ("reload_base_64"): New insn.
7391         ("reload_base2"): Remove.
7392         ("reload_anchor"): New insn.
7393         ("pool"): New insn.
7394
7395         s390.c (s390_pool_overflow): Remove.
7396         s390.h (s390_pool_overflow): Likewise.
7397         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7398
7399 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7400
7401         * sh.md (movv8qi_i+2): Don't split if source is -1.
7402
7403 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7404
7405         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7406
7407 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7408
7409         PR opt/7409
7410         * loop.c (loop_regs_scan): Mark registers used for function
7411         argument passing as MAY_NOT_OPTIMIZE.
7412
7413 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7414
7415         * gcov-io.h (gcov_info): Fix type.
7416         * profile.c (create_profiler): Fix type mismatch.
7417
7418 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7419
7420         * i386.md (movv2di_internal): New pattern.
7421         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7422         (movv2di): New expander.
7423         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7424
7425         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7426         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7427         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7428         (ix86_expand_builtin): Likewise.
7429         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7430         sse_andti3,
7431         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7432         sse_andnti3,
7433         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7434         sse_orti3,
7435         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7436         sse_xorti3): Kill.
7437         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7438          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7439         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7440          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7441         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7442          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7443
7444         * xmmintrin.h (__m128i): Define as __v2di.
7445
7446         PR c++/6419
7447         (expand_expr): Use DECL_RTL_SET_P.
7448
7449 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7450
7451         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7452
7453 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7454             Zack Weinberg <zack@codesourcery.com>
7455
7456         * config/i386/i386.c (k6_cost): Correct typo.
7457
7458 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7459
7460         PR optimization/6631
7461         * alias.c (objects_must_conflict_p): Check honor_readonly when
7462         examining TYPE_READONLY.
7463         * function.c (assign_stack_temp_for_type): Likewise.
7464
7465 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7466
7467         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7468         Swap zero extension arguments.
7469         (umaxhi3): Fix instruction class.
7470         PR target/7211
7471         (prefetch): Fix prefetch instructions.
7472         PR target/7238
7473         (pkwb): Fix output constraint.
7474
7475 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7476
7477         * config/mips/mips.c (print_operand): Increase buffer size for
7478         real numbers.
7479
7480 2002-10-14  Richard Henderson  <rth@redhat.com>
7481
7482         PR opt/8165
7483         * gcse.c (adjust_libcall_notes): Revert last change.
7484         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7485
7486 2002-10-14  Andrew Haley  <aph@redhat.com>
7487
7488         * tree-inline.c (remap_block): All local class initialization
7489         flags go in the outermost scope.
7490         (expand_call_inline): Call java_inlining_map_static_initializers.
7491         (expand_call_inline): Call java_inlining_merge_static_initializers.
7492         * java/lang.c (merge_init_test_initialization): New.
7493         (java_inlining_merge_static_initializers): New.
7494         (inline_init_test_initialization): New.
7495         (java_inlining_map_static_initializers): New.
7496
7497         * tree-inline.c (expand_call_inline): Convert retvar to expected
7498         type.
7499
7500 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7501
7502         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7503
7504 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7505
7506         * stmt.c: Fix typo in comment.
7507
7508 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7509
7510         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7511         * tree.c (build_common_tree_nodes_2): Initialize
7512         unsigned_V2HI_type_node and V2HI_type_node.
7513         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7514         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7515
7516 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7517
7518         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7519         Handle TARGET_64BIT.
7520
7521 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7522
7523         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7524         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7525         (MULTILIB_DIRNAMES): Remove long32.
7526         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7527         (MULTILIB_REDUNDANT_DIRS): Remove.
7528
7529 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7530
7531         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7532         * gcc.c (driver_self_specs): New variable.
7533         (do_self_spec): New function.
7534         (main): Use it to process driver_self_specs.
7535
7536 2002-10-13  Richard Henderson  <rth@redhat.com>
7537
7538         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7539         indirect sibcalls when regparm >= 3.
7540
7541         * config/i386/i386.c (sibcall_insn_operand): New.
7542         * config/i386/i386.h (PREDICATE_CODES): Update.
7543         * config/i386/i386-protos.h: Update.
7544         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7545
7546         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7547
7548 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7549
7550         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7551         arithmetic right shifts of ~0 during RTL simplifications.
7552
7553 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7554
7555         PR preprocessor/7862
7556         PR preprocessor/8190
7557         * gcc.c (cpp_unique_options): Don't delete .d files.
7558         Remove stray whitespace.
7559
7560 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7561
7562         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7563         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7564         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7565         (pdp11_output_function_epilogue, output_ascii): Likewise.
7566         (output_addr_const_pdp11): Likewise.
7567         * pdp11.md (movdi): Use offsetable memory for floating store.
7568         (lshrsi3, negsi2): Delete irrelevant comment.
7569
7570 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7571
7572         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7573         indirect calls to be sibcall optimized.
7574         * config/i386/i386.md (sibcall_1): New.
7575         (call_1): Add no-sibcalls condition.
7576         (sibcall_value_1): New.
7577         (call_value_1): Add no-sibcalls condition.
7578
7579 2002-10-11  Eric Christopher  <echristo@redhat.com>
7580
7581        * output.h (default_valid_pointer_mode): Declare.
7582        * varasm.c (default_valid_pointer_mode): Define.
7583        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7584        * target.h: Ditto.
7585        * tree.c (build_pointer_type_for_mode): New function.
7586        (build_pointer_type): Use.
7587        (build_reference_type_for_mode): New function.
7588        (build_reference_type): Use.
7589        * tree.h: Declare new functions.
7590        * c-common.c (handle_mode_attribute): Use new functions, check
7591        for type.
7592        * stor-layout.c (layout_type): Depend on machine mode for
7593        REFERENCE_TYPE and POINTER_TYPE.
7594        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7595        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7596        and REFERENCE_TYPE.
7597        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7598        (TARGET_VALID_POINTER_MODE): Use and define.
7599        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7600
7601 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7602
7603         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7604         not the address of the REG.
7605         (struct cse_reg_info): Make subreg_ticked unsigned.
7606
7607 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7608
7609         * doc/compat.texi: Add info about C++ libraries.
7610
7611 2002-10-11  Richard Henderson  <rth@redhat.com>
7612
7613         PR opt/8165
7614         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7615
7616 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7617
7618         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7619         * genautomata.c (output_insn_code_cases): Likewise.
7620         * real.c (real_format): Likewise.
7621         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7622         ensure value is promoted before doing subtraction.
7623
7624 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7625
7626         * calls.c (expand_call): Simplify noreturn call.
7627
7628         PR c/7344
7629         * cfgbuild.c (make_edges): Create edge cache when we do have
7630         large jumptable.
7631         * expr.c (do_tablejump): Note size of maximal jumptable.
7632         * function.c (prepare_function_start): Zero out size.
7633         * function.h (function): Add max_jumptable_ents.
7634
7635         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7636
7637 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7638
7639         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7640         register for mperm_w operation.
7641
7642 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7643
7644         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7645         an integer, use simplify_gen_subreg.
7646
7647 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7648
7649         * calls.c (flags_from_decl_or_type): Make extern.
7650         (ECF_*): Move ...
7651         * rtl.h (ECF_*): ... here.
7652         (flags_from_decl_or_type): Declare.
7653
7654 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7655             Nathan Sidwell <nathan@codesourcery.com>
7656
7657         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7658         shifts of the form -1 >> x.
7659
7660 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7661
7662         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7663
7664 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7665
7666         * extend.texi (Vector Extensions): Remove comment about single
7667         element vectors.
7668
7669 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7670
7671         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7672         * function.c (insns_for_mem_hash): Likewise.
7673         * varasm.c (STRHASH): Likewise.
7674
7675 2002-10-10  Stuart Hastings  <stuart@apple.com>
7676
7677         * cse.c (struct cse_reg_info): Add subreg_ticked.
7678         (SUBREG_TICKED): New.
7679         (get_cse_reg_info): Initialize SUBREG_TICKED.
7680         (mention_regs): Use it.
7681         (invalidate): Set SUBREG_TICKED.
7682         (invalidate_for_call): Likewise.
7683         (addr_affects_sp_p): Likewise.
7684
7685 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7686
7687         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7688         into proper operand.
7689
7690 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7691
7692         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7693         deallocation.
7694         * config/ip2k/libgcc.S: Combine routines used by function
7695         epilogue.
7696
7697 2002-10-10  Jim Wilson  <wilson@redhat.com>
7698
7699         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7700         UDIV.
7701
7702 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7703
7704         * config/rs6000/aix52.h: New file.
7705         * config/rs6000/t-aix52: New File.
7706         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7707         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7708
7709 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7710
7711         PR target/5610
7712         * invoke.texi (-msse-math): Kill
7713         (-msse): Add note to mfpmath=sse.
7714
7715 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7716
7717         PR target/7723
7718         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7719
7720 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7721
7722         PR preprocessor/8179
7723         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7724         as cc1_options.
7725         (default_compilers): Pass debug options when preprocessing
7726         stdin.
7727
7728 2002-10-06  Richard Henderson  <rth@redhat.com>
7729
7730         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7731
7732 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7733
7734         * i386.c (*_cost): Add branch costs.
7735         (override_options): set ix86_branch_cost.
7736         (ix86_expand_int_movcc): Use BRANCH_COST.
7737         * i386.h (costs): Add branch_cost.
7738
7739 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7740
7741         PR c/7353
7742         * c-decl.c (start_decl): Unconditionally issue error for
7743         'typedef foo = bar'.
7744         (finish_decl): Remove special case for TYPE_DECL with initializer.
7745
7746         * doc/extend.texi: Delete "Naming Types" section.  Change all
7747         cross-references to that section to refer to "Typeof" instead.
7748         Add the useful safe-max()-macro example from "Naming Types" to
7749         "Typeof", rewritten using that extension.  Add some compatibility
7750         notes to "Typeof."
7751
7752 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7753
7754         * loop.c: Revert 2002-08-15 change.
7755         (LOOP_REGNO_NREGS): Ensure type is int.
7756
7757 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7758
7759         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7760         which copies first FPR and clears second.
7761         (extendsftf2): Same.
7762         (floatditf2): Fix typo.
7763         (floatsitf2): Same.
7764         (fix_trunctfdi2): Same.
7765         (fix_trunctfsi2): Same.
7766
7767 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7768
7769         * conflict.c (arc_hash): Change return type to hashval_t.
7770         * cselib.c (get_value_hash): Likewise.
7771         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7772         state_hash, automata_list_hash): Likewise.
7773         * read-rtl.c (def_hash): Likewise.
7774         * tree.c (type_hash_hash): Likewise.
7775
7776 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7777
7778         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7779         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7780
7781 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7782
7783         * sh.md (ffssi2): Fix emitted code.
7784
7785 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7786
7787         * cse.c (insn_live_p): Pass insn pattern, not full insn
7788         to may_trap_p.
7789
7790 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7791
7792         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7793
7794 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7795
7796         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7797         64-bit hosts.
7798         (movtf_internal): Reference correct displacement for second value
7799         in memory.
7800         (movtf splitter): Correct generation of constants in 64-bit mode.
7801
7802 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7803
7804         * libgcc2.c (__floatdisf): Properly cure double rounding.
7805
7806 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7807
7808         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7809         * doc/cpp.texi (Common Predefined Macros): Document.
7810
7811 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7812
7813         PR doc/7484
7814         * doc/invoke.texi (Option Summary): List
7815         -Wmissing-declarations as a C only option.
7816
7817 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7818
7819         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7820         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7821         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7822
7823 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7824
7825         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7826         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7827         variables.
7828         (safe_vector_operand): Update sse_clrv4sf call.
7829         (ix86_expand_buildin): Likewise
7830         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7831         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7832         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7833         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7834         macros.
7835         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7836         movv4si):  Obey the new flags.
7837         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7838         reformating penalty.
7839         (anddf, cmov patterns): Avoid reformating by first converting.
7840         (sse_cvtsd2ss): Fix predicate.
7841         (sse2_clrti): Fix mode,
7842         (sse_clrv4sf): Avoid unspec.
7843
7844 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7845
7846         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7847         mno-app-regs|mcmodel=medany.
7848         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7849         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7850         (CRTSTUFF_T_CFLAGS): Define.
7851
7852 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7853
7854         PR target/8087
7855         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7856         pool references that are constructed using LO_SUM.
7857
7858 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7859
7860         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7861         -Wall.
7862         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7863         message.
7864         * flags.h (warn_strict_aliasing): Declare.
7865         * toplev.c (warn_strict_aliasing): Define.
7866         (lang_independent_options): Add it.
7867         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7868
7869 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7870
7871         * system.h (GCCBUGURL): Delete.
7872         * version.c (bug_report_url): New.  Add commentary about
7873         modifying both these strings in modified distributions.
7874         * version.h: Declare bug_report_url.
7875
7876         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7877         bug_report_url.
7878
7879 2002-10-08  Nick Clifton  <nickc@redhat.com>
7880
7881         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7882         convert uint64_t into __ev64_opaque__.
7883         (__ev_set_acc_s64): Likewise, but using signed types.
7884
7885 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7886
7887         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7888         ("*doloop_di_long"): Likewise.
7889
7890 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7891
7892         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7893
7894 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7895
7896         * config/mips/mips.md (define_attr cpu): Add r4111.
7897
7898 2002-10-08  Anthony Green  <green@redhat.com>
7899
7900         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7901
7902 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7903
7904         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7905         for REAL_VALUE_TO_DECIMAL output.
7906
7907 2002-10-07  Richard Henderson  <rth@redhat.com>
7908
7909         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7910         function; cleanup PLUS case by using recursion.  Update all users.
7911         (NONZERO_BASE_PLUS_P): Remove.
7912         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7913         (fold_rtx): Use nonzero_address_p.
7914         * rtl.h (nonzero_address_p): Declare.
7915         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7916         (rtx_addr_can_trap_p): Likewise.
7917         (nonzero_address_p): New.
7918         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7919         (simplify_relational_operation): Use nonzero_address_p.
7920
7921 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7922
7923         * config/rs6000/rs6000.c (rs6000_override_options): Set
7924         real_format_for_mode for IBM extended format, if enabled.
7925         (easy_fp_constant): Add TFmode.
7926         (rs6000_legitimize_address): Add TFmode.
7927         (rs6000_legitimate_address): Same.
7928         (function_arg_advance): TFmode uses two FPRs.
7929         (rs6000_emit_prologue): Fix warning.
7930         (rs6000_output_function_epilogue): Add TFmode.
7931         (output_toc): Add TFmode.
7932         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7933         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7934         * rs6000.md (movtf splitter): Load TFmode constant.
7935
7936 2002-10-07  Dale Johannesen  <dalej@apple.com>
7937
7938         * rtl.h:  Add NOTE_PRECONDITIONED.
7939         * unroll.c:  Set it.
7940         * loop.c:  Set loop_info->preconditioned from it.
7941         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7942
7943 2002-10-07  Richard Henderson  <rth@redhat.com>
7944
7945         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7946         new rtx for comparing the argument pointer against zero.
7947         (i960_va_start): Similarly.
7948
7949 2002-10-07  Richard Henderson  <rth@redhat.com>
7950
7951         * config/i960/i960.md (*): Use TFmode, not XFmode.
7952         * config/i960/i960.c (*): Likewise.
7953         (i960_arg_size_and_align): Remove XFmode alignment hack.
7954         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7955         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7956         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7957         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7958
7959 2002-10-07  Richard Henderson  <rth@redhat.com>
7960
7961         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7962         entry points; use void return value and argument list.
7963
7964 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7965
7966         * calls.c (expand_call): Fix function-is-volatile check.
7967
7968 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7969
7970         * t-pdp11: Add MULTILIB support for msoft-float.
7971         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7972
7973         * t-pdp11: Add LIB2FUNCS_EXTRA.
7974         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7975         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7976         'fldd' to 'ldd', rename 'fstd' to 'std'.
7977         (pdp11_output_function_epilogue): Likewise.
7978         (output_move_quad): Make the comment gas compatible.
7979         (output_ascii): Add preceding 0 to the octal constant.
7980         (print_operand_address): Add pre_modify, post_modify.
7981         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7982         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7983         with the indication of Paul Koning.
7984         (PRINT_OPERAND): Fix floating constant.
7985         * pdp11.md (movdi): Restrict matching pattern.
7986         (movqi): Generalize the matching pattern.
7987         (movdf): Restrict matching pattern.
7988         (zero_extendqihi2): Change constant representation.
7989         (floatsidf2): Fix wrong operands.
7990         (addqi3): Fix wrong instruction name.
7991         (subqi3): Fix wrong instruction name.
7992         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7993         (xorsi3): Fix wrong insn.
7994         (one_cmplqi2): Add two operand pattern.
7995         (lsrsi3): New.
7996         (negsi2): New.
7997         (call): Add register indirect case.
7998         (mod): Fix wrong subreg.
7999
8000 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
8001             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
8002
8003         PR c/7411
8004         * expr.c (expand_expr) [PLUS]: Simplify after the operands
8005         have been expanded in EXPAND_NORMAL mode.
8006
8007 2002-10-06  Richard Henderson  <rth@redhat.com>
8008
8009         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
8010
8011 2002-10-06  Richard Henderson  <rth@redhat.com>
8012
8013         PR optimization/2960
8014         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
8015         optimize_size.
8016
8017 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
8018
8019         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
8020         previously definitions.
8021
8022 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
8023
8024         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
8025         * c-opts.c (find_opt): Similarly.
8026
8027 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
8028
8029         * athlon.md: rewrite to DFA.
8030         * i386 (ix86_adjust_cost): Drop memory latency code.
8031         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
8032
8033 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
8034
8035         * gcc.c (set_multilib_dir): Don't access *end.
8036         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
8037         (print_multilib_info): Don't show paths starting with ".:".
8038         * genmultilib: Add new option, "yes" if multilibs are enabled.
8039         Update comments.  If multilibs not enabled, print .:${osdirout}
8040         for each directory.  If multilibs are enabled, always print
8041         ${dirout}:${osdirout}, even if the two are the same.
8042         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
8043         Pass all MULTILIB_* variables to genmultilib even if
8044         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
8045
8046 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
8047
8048         * gcc.c (process_command): Set .validated for -pipe.  Correct
8049         grammar in comment.
8050
8051 2002-10-04  Bruce Korb  <bkorb@gnu.org>
8052
8053         * fixinc/inclhack.def(hpux11_abs):  use format fix
8054         * fixinc/fixincl.x: regenerate
8055         * fixinc/tests/base/stdlib.h: accommodate new fix test
8056
8057 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
8058
8059         * c-common.c (cb_register_builtins):  Use really_no_inline.
8060
8061 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
8062
8063         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
8064         copied instruction if the note is not loop invariant.
8065
8066 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
8067
8068         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
8069
8070 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8071
8072         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
8073         and -mhp-ld options to list of options.  Add -mgnu-ld
8074         and -mhp-ld option descriptions.
8075
8076 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
8077
8078         * fixinc/inclhack.def (hpux11_abs):  New.
8079         (stdio_va_list): change __va_list__ to __gnuc_va_list.
8080         * fixinc/fixincl.x: Rebuild.
8081
8082 2002-10-04  Roger Sayle  <roger@eyesopen.com>
8083
8084         * config/i386/i386.h (processor_costs): Add new fields fadd,
8085         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
8086         (RTX_COSTS): Use these fields to determine the RTX costs
8087         of floating point addition/subtraction, multiplication,
8088         division, fabs, negation and square root respectively.
8089         * config/i386/i386.c (size_cost): Provide instruction sizes
8090         for these new fields.
8091         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
8092         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
8093         counts for these new fields for all x86 processor variants.
8094
8095 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8096
8097         * mips.c (mips_const_double_ok): Delete unused variable.
8098
8099         * gengtype.c (rtx_next): Change type to int.
8100
8101 2002-10-04  Andreas Jaeger  <aj@suse.de>
8102
8103         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
8104
8105 2002-10-04  Richard Henderson  <rth@redhat.com>
8106
8107         * real.h (SIGNIFICAND_BITS): Add one more word.
8108         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
8109         * real.c (times_pten): New.
8110         (real_to_decimal, real_from_string): Use it.
8111         (sticky_rshift_significand): Use & to find modulus.
8112         (rshift_significand, lshift_significand): Likewise.
8113         (do_divide): Apply sticky bit after normalization.
8114         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8115
8116 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8117
8118         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8119         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8120
8121 2002-10-03  Andreas Jaeger  <aj@suse.de>
8122
8123         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8124         to unsigned long, adjust printf format string.
8125         (output_mangled_typename): Likewise.
8126
8127 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8128
8129         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8130         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8131         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8132         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8133         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8134         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8135         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8136         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8137
8138 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8139
8140         * doc/invoke.texi (-Wabi): Document mangling bug.
8141
8142 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8143
8144         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8145         name for the tbtab label that depends on the function asm name.
8146         Don't output tbtab label unless optional_tbtab.
8147         (output_mi_thunk): Formatting.
8148
8149 2002-10-03  Richard Henderson  <rth@redhat.com>
8150
8151         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8152         * config/m68k/m68k.c (override_options): ... here.
8153         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8154         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8155         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8156         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8157
8158 2002-10-03  Richard Henderson  <rth@redhat.com>
8159
8160         * real.h (struct real_value): Use ENUM_BITFIELD.
8161
8162 2002-10-03  Richard Henderson  <rth@redhat.com>
8163
8164         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8165
8166 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8167
8168         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8169
8170 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8171
8172         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8173         * config/pa/pa.h (MASK_GNU_LD): New.
8174         (TARGET_GNU_LD): New.
8175         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8176         on gnu-ld and MASK_GNU_LD.
8177         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8178
8179 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8180
8181         * i386.c (athlon_cost): Fix the move costs.
8182
8183 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8184
8185         * final.c (final): Use symbol name as function name for profiling.
8186         * profile.c (get_exec_counts): Likewise.
8187         (branch_prob): Likewise.
8188
8189 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8190
8191         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8192
8193 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8194
8195         * gcc.c (print_multi_os_directory): New variable.
8196         (option_map): Support --print-multi-os-directory.
8197         (struct prefix_list): Add os_multilib field.
8198         (multilib_os_dir): New variable.
8199         (static_specs): Add multilib_options.
8200         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8201         subdirs if nonzero.
8202         (read_specs, execute): Update callers.
8203         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8204         pass 1 as multilib option.
8205         (display_help): Include --print-multi-os-directory.
8206         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8207         (process_command): Update callers.  Handle --print-multi-os-directory.
8208         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8209         set.
8210         (main): Update find_a_file and add_prefix callers.
8211         Handle print_multi_os_directory.
8212         (struct mdswitchstr): New.
8213         (mdswitches, n_mdswitches): New variables.
8214         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8215         present on the command line nor their mutually incompatible
8216         switches.
8217         (default_arg): Optimize.
8218         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8219         array.
8220         (print_multilib_info): Only print GCC multilib dir name, not OS
8221         multilib dirname.
8222         * genmultilib: Add osdirnames parameter.  Output multilib_options
8223         variable.  If osdirnames is specified, output dirnames as
8224         dirname:osdirname.
8225         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8226         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8227         to compute libgcc_s soname and install path.
8228         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8229         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8230         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8231         argument.
8232
8233         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8234         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8235         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8236         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8237         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8238         and -m64.
8239         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8240         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8241         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8242         (STARTFILE_ARCH_SPEC): Remove.
8243         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8244         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8245         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8246         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8247         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8248
8249 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8250
8251         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8252
8253 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8254
8255         * i386.md (lea to mul peep2): Fix condition.
8256
8257 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8258
8259         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8260         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8261
8262 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8263
8264         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8265         attribute "unused".
8266
8267         * config/t-libunwind: Mention unwind-sjlj.c.
8268         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8269         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8270
8271         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8272         before inclusion of config.gcc, but after configuring the compiler etc.
8273         Determine default value for --enable-libunwind-exceptions based on
8274         whether the host has a libunwind library (not guaranteed to be correct,
8275         but it's a reasonable first guess and can always be overridden with an
8276         explicit --enable/disable-libunwind-exceptions.
8277         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8278         tmake_file when $use_libunwind_exceptions is enabled.
8279         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8280         ia64 (e.g., config/t-linux also updates it).
8281         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8282         along with the shared version of libgcc since the latter requires
8283         the former.
8284         * unwind-libunwind.c: New file.
8285         * config/t-libunwind: Ditto.
8286
8287 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8288
8289         * config.gcc: Remove support for vax-*-vms*.
8290         * config/vax/vms.h: Remove.
8291         * config/vax/xm-vms.h: Remove.
8292         * config/vax/vax-protos.h: Remove VMS-specific code.
8293         * config/vax/vax.c: Remove VMS-specific code.
8294
8295 2002-10-02  Richard Henderson  <rth@redhat.com>
8296
8297         PR opt/7124
8298         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8299         for secondary_memory_needed pairs.
8300
8301 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8302
8303         * doc/vms.texi: Blow away false include file section.
8304
8305 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8306
8307         PR optimization/6627
8308         * toplev.c (force_align_functions_log): New global variable.
8309         * flags.h (force_align_functions_log): Add extern prototype.
8310         * varasm.c (assemble_start_function): Use it to force minimum
8311         function alignment.
8312         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8313         minimum function alignment to one byte.
8314         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8315         the least significant bit of vtable member function pointers.
8316         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8317         here from cp/cp-tree.h.
8318
8319 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8320
8321         * i386.c (print_operand_address): Use RIP addressing for offsetted
8322         label refs too.
8323
8324 2002-09-30  David S. Miller  <davem@redhat.com>
8325
8326         PR middle-end/7151
8327         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8328         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8329
8330 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8331
8332         * calls.c (expand_call): Remove the `no indirect check'
8333         for sibcall optimization; use function_ok_for_sibcall
8334         target hook; refine check for `function is volatile'.
8335         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8336         * hooks.c (hook_tree_tree_bool_false): New.
8337         * hooks.h (hook_tree_tree_bool_false): Declare.
8338         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8339         (TARGET_INITIALIZER): Add it.
8340         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8341         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8342         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8343         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8344         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8345         Remove function declaration.
8346         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8347         function static and accept another argument of type `tree'.
8348         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8349         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8350         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8351         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8352         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8353         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8354         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8355         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8356         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8357         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8358         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8359         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8360         Remove function declaration.
8361         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8362         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8363         rename first argument to `decl'; accept another argument
8364         of type `tree'; make static.
8365         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8366         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8367         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8368         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8369         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8370         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8371         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8372         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8373         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8374
8375 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8376
8377         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8378
8379 2002-10-01  Richard Henderson  <rth@redhat.com>
8380
8381         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8382         (real_to_hexadecimal): Likewise.
8383         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8384         dump the XWINT fields of a floating point CONST_DOUBLE.
8385
8386 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8387
8388         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8389
8390 2002-10-01  Richard Henderson  <rth@redhat.com>
8391
8392         * calls.c (precompute_register_parameters): Force non-legitimate
8393         constants into pseudos.
8394
8395 2002-10-01  Nick Clifton  <nickc@redhat.com>
8396
8397         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8398         to assembler template.
8399
8400 2002-10-01  Richard Henderson  <rth@redhat.com>
8401
8402         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8403         for TLS debug info to !DECL_EXTERNAL.
8404
8405 2002-10-01  Matt Thomas  <matt@3am-software.com>
8406             Jason Thorpe  <thorpej@wasabisystems.com>
8407
8408         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8409         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8410         if not already defined.
8411         * config/vax/elf.h: New file.
8412         * config/vax/netbsd-elf.h: New file.
8413         * config/vax/vax.c: Include "debug.h".
8414         (vax_output_function_prologue): Add dwarf2 support.  Use
8415         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8416         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8417         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8418         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8419         (VAX_ISTREAM_SYNC): Remove.
8420         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8421         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8422         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8423         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8424         and assemble_name.
8425         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8426         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8427         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8428         (INCOMING_RETURN_ADDR_RTX): Define.
8429         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8430         (VUNSPEC_SYNC_ISTREAM): Define.
8431         (blockage): Use VUNSPEC_BLOCKAGE.
8432         (sync_istream): New insn.
8433
8434 2002-10-01  Richard Henderson  <rth@redhat.com>
8435
8436         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8437         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8438         (*call): New insn.
8439
8440 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8441
8442         PR c/8083
8443         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8444         type based aliasing.
8445
8446 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8447
8448         * stor-layout.c (update_alignment_for_field): New function.
8449         (place_union_field): Use it.
8450         (place_field): Likewise.
8451
8452 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8453
8454         PR other/8077
8455         * gcc.c (cc1_options): Add space on -auxbase-strip.
8456
8457 2002-10-01  Jim Wilson  <wilson@redhat.com>
8458
8459         * config/v850/v850.h (EPILOGUE_USES): Define.
8460
8461 2002-09-30  Andrew Haley  <aph@redhat.com>
8462
8463         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8464         eliminate insns that may trap.
8465         * cse.c (insn_live_p): Likewise.
8466
8467 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8468
8469         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8470         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8471         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8472         * config/mips/mips.md: Apply same renaming here.
8473
8474 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8475
8476         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8477         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8478         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8479         * config/mips/mips.md (define_attr cpu): Remove r4320.
8480         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8481
8482 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8483
8484         * config/mips/mips.c (mips16_strings): New variable.
8485         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8486         symbol in mips16_strings.  Free the list.
8487         (mips_encode_section_info): Keep track of local strings.
8488
8489 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8490
8491         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8492         (sordered_df, sordered_sf): Remove.
8493         * config/mips/mips.c (get_float_compare_codes): New fn.
8494         (gen_int_relational, gen_conditional_move): Use it.
8495
8496 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8497
8498         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8499         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8500         * config/mips/mips.c (fcc_register_operand): New function.
8501         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8502         (override_options): Allow TFmode values in float registers
8503         if ISA_HAS_8CC.
8504         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8505         to fcc_register_operand.  Remove misleading source constraint.
8506         Use mips_emit_fcc_reload.
8507         (reload_outcc): Duplicate reload_incc.
8508
8509 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8510
8511         * gcc.c (validate_switches): Handle all new forms of spec
8512         syntax introduced recently.  Now returns a char *.
8513         (validate_all_switches): Repetitive logic broken out to...
8514         (validate_switches_from_spec): ...here.
8515         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8516
8517 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8518
8519         * longlong.h: Partially synchronize with GMP-4.1 version:
8520         Use i370 definitions also for s390.
8521         Add generic definition of umul_ppmm in terms of smul_ppmm.
8522         [s390] (umul_ppmm): Remove.
8523         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8524         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8525
8526 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8527
8528         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8529         Add new RL_REGS register class.
8530         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8531         Call xtensa_preferred_reload_class for both input and output reloads.
8532         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8533         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8534         instead of either AR_REGS or GR_REGS classes.
8535         (xtensa_secondary_reload_class): Use new RL_REGS class.
8536         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8537
8538 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8539
8540         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8541         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8542         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8543         there is a '*' prefix in NAME.
8544
8545 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8546
8547         * reload.c (push_reload): Handle subregs and secondary memory.
8548         * reload1.c (gen_reload): Likewise.
8549
8550         * jump.c (reg_or_subregno): New function.
8551         * rtl.h (reg_or_subregno): Declare
8552         * unroll.c (find_splittable_givs): Handle subregs.
8553
8554 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8555
8556         * store-layout.c (finish_record_layout): Add free_p parameter.
8557         (layout_type): Pass it.
8558         * tree.h (finish_record_layout): Update prototype.
8559
8560 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8561
8562         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8563
8564         * gcse.c (cprop_jump): Check that the register has not
8565         been modified
8566         (cprop_jump): Likewise.
8567
8568 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8569
8570         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8571         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8572         that we have a SImode access, and only then if reload hasn't completed;
8573         for all other cases, use LO_REGS.
8574
8575 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8576
8577         * openbsd.h: Fix typo in last change.
8578
8579 2002-09-29  Richard Henderson  <rth@redhat.com>
8580
8581         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8582
8583 2002-09-29  Richard Henderson  <rth@redhat.com>
8584
8585         PR c/8002
8586         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8587         for CONST_INT.
8588
8589 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8590
8591         * real.h (ibm_extended_format): Declare.
8592         * real.c (encode_ibm_extended, decode_ibm_extended): New
8593         functions.
8594
8595 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8596
8597         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8598
8599         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8600
8601 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8602
8603         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8604
8605 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8606
8607         * builtins.def: Fix comment formatting.
8608         * c-common.def: Likewise.
8609         * cfgcleanup.c: Likewise.
8610         * combine.c: Likewise.
8611         * gengtype.c: Likewise.
8612         * params.def: Likewise.
8613         * predict.def: Likewise.
8614         * rtl.def: Likewise.
8615         * stab.def: Likewise.
8616         * stor-layout.c: Likewise.
8617         * tree.def: Likewise.
8618         * config/darwin.c: Likewise.
8619         * config/darwin.h: Likewise.
8620         * config/dbxcoff.h: Likewise.
8621         * config/elfos.h: Likewise.
8622         * config/fp-bit.c: Likewise.
8623         * config/freebsd-spec.h: Likewise.
8624         * config/interix.h: Likewise.
8625         * config/libgloss.h: Likewise.
8626         * config/linux-aout.h: Likewise.
8627         * config/linux.h: Likewise.
8628         * config/lynx-ng.h: Likewise.
8629         * config/lynx.h: Likewise.
8630         * config/netbsd-aout.h: Likewise.
8631         * config/netbsd.h: Likewise.
8632         * config/netware.h: Likewise.
8633         * config/psos.h: Likewise.
8634         * config/ptx4.h: Likewise.
8635
8636 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8637
8638         * ChangeLog.4: Fix typos.
8639         * ChangeLog.6: Likewise.
8640         * FSFChangeLog.10: Likewise.
8641         * genattrtab.c: Fix comment typos.
8642         * haifa-sched.c: Likewise.
8643         * real.c: Likewise.
8644         * tree.h: Likewise.
8645         * config/arm/arm.c: Likewise.
8646         * config/arm/crti.asm: Likewise.
8647         * config/arm/crtn.asm: Likewise.
8648         * config/frv/frv.c: Likewise.
8649         * config/frv/frv.md: Likewise.
8650         * config/h8300/h8300.md: Likewise.
8651         * config/i386/rtemself.h: Likewise.
8652         * config/ia64/unwind-ia64.c: Likewise.
8653         * config/ip2k/ip2k.h: Likewise.
8654         * config/m88k/m88k.c: Likewise.
8655         * config/m88k/m88k.md: Likewise.
8656         * config/mips/sr71k.md: Likewise.
8657         * config/mmix/mmix.c: Likewise.
8658         * config/rs6000/rs6000.c: Likewise.
8659         * config/sh/sh.md: Likewise.
8660
8661 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8662
8663         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8664         * config/avr/avr.md: Ditto.
8665
8666 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8667
8668         PR preprocessor/8055
8669         * cppmacro.c (stringify_arg): Do not overflow the buffer
8670         with the terminating NUL when the argument to be stringified
8671         has no tokens.
8672
8673 2002-09-27  Richard Henderson  <rth@redhat.com>
8674
8675         * unroll.c (simplify_cmp_and_jump_insns): New.
8676         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8677         instead of expand_simple_foo.
8678
8679 2002-09-27  Richard Henderson  <rth@redhat.com>
8680
8681         PR optimization/7520
8682         * cfganal.c (flow_active_insn_p): New.
8683         (forwarder_block_p): Use it.
8684
8685 2002-09-27  Richard Henderson  <rth@redhat.com>
8686
8687         * emit-rtl.c (active_insn_p): Revert last change.
8688
8689 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8690
8691         * doc/extend.texi (tls_model): Document.
8692         * varasm.c (decl_tls_model): New.
8693         * c-common.c (handle_tls_model_attribute): New.
8694         (c_common_attribute_table): Add tls_model.
8695         * config/alpha/alpha.c (alpha_encode_section_info): Use
8696         decl_tls_model.
8697         * flags.h (enum tls_model, flag_tls_default): Move...
8698         * tree.h (enum tls_model, flag_tls_default): ...here.
8699         (decl_tls_model): New prototype.
8700         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8701         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8702         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8703         Allow !flag_pic.
8704
8705 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8706
8707         * LANGUAGES: Follow spelling conventions.
8708         * rtl.def: Likewise.
8709         * sbitmap.c: Likewise.
8710         * sched-int.h: Likewise.
8711         * sched-rgn.c: Likewise.
8712         * sibcall.c: Likewise.
8713         * simplify-rtx.c: Likewise.
8714         * ssa.c: Likewise.
8715         * stab.def: Likewise.
8716         * stmt.c: Likewise.
8717         * stor-layout.c: Likewise.
8718         * target.h: Likewise.
8719         * timevar.c: Likewise.
8720         * toplev.c: Likewise.
8721         * tree-dump.c: Likewise.
8722         * tree-inline.c: Likewise.
8723         * tree.c: Likewise.
8724         * tree.def: Likewise.
8725         * tree.h: Likewise.
8726         * unroll.c: Likewise.
8727         * varasm.c: Likewise.
8728         * vmsdbgout.c: Likewise.
8729         * treelang/treelang.texi: Likewise.
8730         * treelang/treetree.c: Likewise.
8731
8732 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8733
8734         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8735         instead of a hard register number.
8736         (get_shift_alg): Use an enumerated type instead of numbers.
8737         (h8300_shift_needs_scratch_p): Likewise.
8738
8739 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8740
8741         * varasm.c (force_data_section): Remove.
8742         (assemble_constant_align): Likewise.
8743         * output.h: Remove corresponding prototypes.
8744
8745 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8746
8747         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8748         jump, if the loop to exit is the top of the current nesting stack.
8749
8750 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8751
8752         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8753         arithmetic.
8754
8755 2002-09-26  David S. Miller  <davem@redhat.com>
8756
8757         PR optimization/7335
8758         * calls.c (emit_library_call_value_1): Passing args by reference
8759         converts a CONST function into a PURE one.
8760
8761 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8762
8763         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8764         text_section.
8765         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8766         text section.
8767         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8768         function-sections and data-sections functionality on AIX.
8769
8770 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8771             Dale Johannesen  <dalej@apple.com>
8772
8773         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8774         in RTL for sub-word loads from memory.
8775
8776 2002-09-26  Richard Henderson  <rth@redhat.com>
8777
8778         PR c/7160
8779         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8780         on call insns.
8781
8782 2002-09-26  Richard Henderson  <rth@redhat.com>
8783
8784         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8785
8786 2002-09-26  Chris Lattner  <sabre@nondot.org>
8787
8788         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8789         handling undefined values.
8790
8791 2002-09-26  Richard Henderson  <rth@redhat.com>
8792
8793         PR opt/7520
8794         * emit-rtl.c (active_insn_p): Consider a clobber of the
8795         function return value to be active even after reload.
8796
8797 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8798
8799         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8800         by absolute loop increment, not loop increment.
8801
8802 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8803
8804         * c-common.h: Follow spelling conventions.
8805         * cpplex.c: Likewise.
8806         * cpplib.h: Likewise.
8807         * gthr-dce.h: Likewise.
8808         * gthr-posix.h: Likewise.
8809         * optabs.c: Likewise.
8810         * output.h: Likewise.
8811         * profile.c: Likewise.
8812         * protoize.c: Likewise.
8813         * ra-rewrite.c: Likewise.
8814         * real.c: Likewise.
8815         * recog.c: Likewise.
8816         * reg-stack.c: Likewise.
8817         * regclass.c: Likewise.
8818         * regmove.c: Likewise.
8819         * reload.c: Likewise.
8820         * reload.h: Likewise.
8821         * reload1.c: Likewise.
8822         * reorg.c: Likewise.
8823         * resource.c: Likewise.
8824         * rtl.h: Likewise.
8825         * rtlanal.c: Likewise.
8826
8827 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8828
8829         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8830         for symbol address.
8831
8832 2002-09-24  Eric Christopher  <echristo@redhat.com>
8833
8834         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8835         * config/mips/elf64.h: Ditto.
8836
8837 2002-09-24  Eric Christopher  <echristo@redhat.com>
8838
8839         * except.c (expand_builtin_extract_return_address): Handle case
8840         where Pmode != ptr_mode.
8841
8842 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8843
8844         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8845
8846 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8847
8848         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8849
8850 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8851
8852         * combine.c (simplify_set): Don't call to force_to_mode if size
8853         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8854
8855 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8856
8857         * Makefile.in (qmtest-g++): Fix file path.
8858
8859 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8860
8861         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8862         A + (-const) on RTX level, even for unsigned types.
8863
8864 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8865
8866         * reload.c (dup_replacements): New function.
8867         (find_reloads): Use it to duplicate replacements at the top level
8868         of match_dup operands.
8869
8870 2002-09-26  Miles Bader  <miles@gnu.org>
8871
8872         * v850.md ("length"): Change default value to 4.
8873
8874 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8875
8876         * ChangeLog.1: Follow spelling conventions.
8877         * ChangeLog.4: Likewise.
8878         * ChangeLog.6: Likewise.
8879         * FSFChangeLog.11: Likewise.
8880         * doc/cpp.texi: Likewise.
8881         * doc/invoke.texi: Likewise.
8882         * doc/tm.texi: Likewise.
8883
8884 2002-09-26  Nick Clifton  <nickc@redhat.com>
8885
8886         * config.gcc: Add x prefix to v850e case for handling
8887         --with-cpu=v850e.
8888
8889 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8890
8891         * gcc.c (input_suffix_matches, switch_matches,
8892         mark_matching_switches, process_marked_switches,
8893         process_brace_body): New functions - split from handle_braces.
8894         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8895         and ignore whitespace in more places.
8896         (specs documentation comment): Document %{S:X;T:Y;:D}.
8897         Clarify other %{...} docs.
8898         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8899         %{...} docs.
8900
8901         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8902         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8903
8904 2002-09-25  David S. Miller  <davem@redhat.com>
8905
8906         PR target/7842
8907         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8908         extend.
8909
8910 2002-09-25  Richard Henderson  <rth@redhat.com>
8911
8912         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8913         fp CONST_DOUBLE; use real_identical.
8914
8915 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8916
8917         * doc/invoke.texi: Add more -Wabi examples.
8918
8919 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8920
8921         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8922
8923 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8924
8925         * profile.c (end_branch_prob): Only look for __gcov_init on
8926         weak-enabled native compilers.
8927
8928 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8929
8930         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8931         cases of optimizing "add sp,w" to "inc sp".
8932
8933 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8934
8935         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8936         epilogue for naked functions.
8937
8938 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8939             Nick Clifton  <nickc@redhat.com>
8940
8941         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8942         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8943         is defined.
8944
8945 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8946
8947         * config/s390/s390.c (preferred_la_operand_p): New function.
8948         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8949         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8950         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8951         ("*la_31"): Deactivate for TARGET_64BIT.
8952         ("*la_31_and", "*la_31_and_cc"): New.
8953
8954 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8955
8956         * real.h (real_value): Make `exp' explicitly signed.
8957
8958 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8959
8960         * config/elfos.h: Follow spelling conventions.
8961         * config/alpha/alpha.h: Likewise.
8962         * config/arc/arc.h: Likewise.
8963         * config/arm/arm.md: Likewise.
8964         * config/avr/avr.h: Likewise.
8965         * config/cris/cris.md: Likewise.
8966         * config/d30v/d30v.h: Likewise.
8967         * config/frv/frv.c: Likewise.
8968         * config/frv/frv.h: Likewise.
8969         * config/h8300/h8300.c: Likewise.
8970         * config/h8300/h8300.h: Likewise.
8971         * config/h8300/h8300.md: Likewise.
8972         * config/i386/cygwin.h: Likewise.
8973         * config/i386/i386.h: Likewise.
8974         * config/i386/sysv3.h: Likewise.
8975         * config/i960/i960.h: Likewise.
8976         * config/ia64/ia64.h: Likewise.
8977         * config/ia64/ia64.md: Likewise.
8978         * config/ip2k/ip2k.h: Likewise.
8979         * config/m32r/m32r.h: Likewise.
8980         * config/m68k/m68k.h: Likewise.
8981         * config/m88k/m88k.h: Likewise.
8982         * config/mcore/mcore.c: Likewise.
8983         * config/mcore/mcore.h: Likewise.
8984         * config/mcore/mcore.md: Likewise.
8985         * config/mips/mips.h: Likewise.
8986         * config/mmix/mmix.h: Likewise.
8987         * config/mmix/mmix.md: Likewise.
8988         * config/ns32k/netbsd.h: Likewise.
8989         * config/ns32k/ns32k.h: Likewise.
8990         * config/ns32k/ns32k.md: Likewise.
8991         * config/pa/pa.h: Likewise.
8992         * config/romp/romp.h: Likewise.
8993         * config/rs6000/rs6000.h: Likewise.
8994         * config/rs6000/rs6000.md: Likewise.
8995         * config/sparc/sparc.h: Likewise.
8996         * config/stormy16/stormy-abi: Likewise.
8997         * config/stormy16/stormy16.h: Likewise.
8998         * config/vax/vax.h: Likewise.
8999
9000 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9001
9002         * config/alpha/alpha.h: Remove commented-out macro
9003         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
9004         * config/avr/avr.h: Likewise.
9005         * config/d30v/d30v.h: Likewise.
9006         * config/dsp16xx/dsp16xx.h: Likewise.
9007         * config/i370/i370.h: Likewise.
9008         * config/i386/i386.h: Likewise.
9009         * config/i960/i960.h: Likewise.
9010         * config/m68k/m68k.h: Likewise.
9011         * config/m88k/m88k.h: Likewise.
9012         * config/mips/mips.h: Likewise.
9013         * config/ns32k/ns32k.h: Likewise.
9014         * config/pdp11/pdp11.h: Likewise.
9015         * config/romp/romp.h: Likewise.
9016         * config/rs6000/rs6000.h: Likewise.
9017         * config/s390/s390.h: Likewise.
9018         * config/sh/sh.h: Likewise.
9019         * config/sparc/sparc.h: Likewise.
9020         * config/stormy16/stormy16.h: Likewise.
9021         * config/vax/vax.h: Likewise.
9022
9023 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
9024
9025         * function.c (push_temp_slots_for_block): Remove.
9026         (push_temp_slots_for_target): Likewise.
9027         (get_target_temp_slot_level): Likewise.
9028         (set_target_temp_slot_level): Likewise.
9029         (get_first_block_beg): Likewise.
9030         * function.h: Remove corresponding prototypes.
9031
9032 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
9033
9034         * version.c (version_string): Now const char[].
9035         * version.h: Update to match.
9036
9037 2002-09-23  Richard Henderson  <rth@redhat.com>
9038
9039         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
9040         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
9041         (TARGET_SWITCHES): Don't reference them.
9042         * config/i386/i386.c (override_options): Use target_flags_explicit
9043         to examine bits set by the user.
9044
9045 2002-09-23  Dale Johannesen  <dalej@apple.com>
9046
9047         * dbxout.c (dbxout_parms):  Set current_sym_code for params
9048         passed on stack by invisible reference.
9049
9050 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
9051
9052         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
9053         at least one byte of space.
9054
9055 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9056
9057         * c-common.h (flag_abi_version): Fix typo in comment.
9058         * doc/invoke.texi (flag_abi_version): Document default value.
9059
9060 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
9061
9062         * doc/extend.texi (Extended Asm): Clarify that overlap between
9063         asm-declared register variables used in an asm and the asm clobber
9064         list is not allowed.
9065         * stmt.c (decl_conflicts_with_clobbers_p): New function.
9066         (expand_asm_operands): Keep track of clobbered registers.  Call
9067         decl_conflicts_with_clobbers_p for each input and output operand.
9068         If no conflicts found before, also do conflict sanity check when
9069         emitting clobbers.
9070
9071 2002-09-23  Richard Henderson  <rth@redhat.com>
9072
9073         * c-common.c (cpp_define_data_format): Remove.
9074         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
9075         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
9076         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
9077         * doc/cpp.texi: Don't document them either.
9078         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
9079         __LONG_LONG_MAX__): Document.
9080         (__TARGET_FLOAT_FORMAT__): Remove.
9081
9082 2002-09-23  Richard Henderson  <rth@redhat.com>
9083
9084         * real.c (do_multiply): Normalize U before addition.
9085
9086 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
9087
9088         * c-common.c (flag_abi_version): New variable.
9089         * c-common.h (flag_abi_version): Declare it.
9090         * c-opts.c (missing_arg): Add -fabi-version.
9091         (c_common_decode_option): Process -fabi-version.
9092         * doc/invoke.texi (-fabi-version): Document it.
9093         (-Wabi): Add information about bit-fields in unions.
9094
9095 2002-09-22  Roger Sayle  <roger@eyesopen.com>
9096
9097         * expr.c (STORE_BY_PIECES_P): New target macro.
9098         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
9099         instead of MOVE_BY_PIECES_P.
9100         * doc/tm.texi: Document this new macro.
9101
9102 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9103
9104         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
9105         unless -fno-pic or -fno-PIC is specified.
9106
9107 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9108
9109         * c-common.c (preprocessing_trad_p): Define.
9110         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9111         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9112         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9113         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9114         * pa-linux.h (CPP_PREDEFINES): Delete.
9115         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9116         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9117         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9118         (TARGET_OS_CPP_BUILTINS): Define.
9119         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9120         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9121         (SUBTARGET_SWITCHES): Provide default definition.
9122         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9123         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9124         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9125         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9126         (TARGET_CPU_CPP_BUILTINS): Define.
9127         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9128         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9129         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9130         preprocessing_trad_p().
9131
9132 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9133
9134         * doc/install.texi: Document behavior of --with-headers and
9135         --with-libs when arguments are omitted.
9136
9137 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9138
9139         * dbxout.c: Follow spelling conventions.
9140         * defaults.h: Likewise.
9141         * df.c: Likewise.
9142         * diagnostic.h: Likewise.
9143         * doloop.c: Likewise.
9144         * dwarf2out.c: Likewise.
9145         * dwarfout.c: Likewise.
9146         * emit-rtl.c: Likewise.
9147         * except.c: Likewise.
9148         * explow.c: Likewise.
9149         * expmed.c: Likewise.
9150         * expr.c: Likewise.
9151         * expr.h: Likewise.
9152         * flags.h: Likewise.
9153         * flow.c: Likewise.
9154         * fold-const.c: Likewise.
9155         * function.c: Likewise.
9156         * function.h: Likewise.
9157         * gcc.c: Likewise.
9158         * gcov-io.h: Likewise.
9159         * gcov.c: Likewise.
9160         * gcse.c: Likewise.
9161         * genattrtab.c: Likewise.
9162         * genconfig.c: Likewise.
9163         * genrecog.c: Likewise.
9164         * ggc-page.c: Likewise.
9165         * ggc.h: Likewise.
9166         * global.c: Likewise.
9167         * gthr-win32.h: Likewise.
9168         * integrate.c: Likewise.
9169         * jump.c: Likewise.
9170         * langhooks.c: Likewise.
9171         * langhooks.h: Likewise.
9172         * line-map.h: Likewise.
9173         * local-alloc.c: Likewise.
9174         * longlong.h: Likewise.
9175         * loop.c: Likewise.
9176         * loop.h: Likewise.
9177
9178 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9179
9180         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9181
9182 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9183
9184         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9185         for -Os/TARGET_64BIT too.
9186
9187 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9188
9189         * ChangeLog: Follow spelling conventions.
9190         * ChangeLog.0: Likewise.
9191         * ChangeLog.1: Likewise.
9192         * ChangeLog.2: Likewise.
9193         * ChangeLog.3: Likewise.
9194         * ChangeLog.4: Likewise.
9195         * ChangeLog.5: Likewise.
9196         * ChangeLog.6: Likewise.
9197         * FSFChangeLog.10: Likewise.
9198         * FSFChangeLog.11: Likewise.
9199         * alias.c: Likewise.
9200         * basic-block.h: Likewise.
9201         * c-aux-info.c: Likewise.
9202         * c-common.c: Likewise.
9203         * c-common.h: Likewise.
9204         * c-decl.c: Likewise.
9205         * c-format.c: Likewise.
9206         * c-semantics.c: Likewise.
9207         * c-typeck.c: Likewise.
9208         * calls.c: Likewise.
9209         * cfganal.c: Likewise.
9210         * cfgloop.c: Likewise.
9211         * collect2.c: Likewise.
9212         * combine.c: Likewise.
9213         * conflict.c: Likewise.
9214         * cppexp.c: Likewise.
9215         * cppfiles.c: Likewise.
9216         * cpphash.h: Likewise.
9217         * cppinit.c: Likewise.
9218         * cpplex.c: Likewise.
9219         * cpplib.c: Likewise.
9220         * cpplib.h: Likewise.
9221         * cppmacro.c: Likewise.
9222         * cse.c: Likewise.
9223
9224 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9225
9226         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9227         LINK_SPEC.
9228         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9229         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9230         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9231
9232 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9233
9234         PR opt/7930
9235         * cse.c (fold_rtx): Calculate old_cost before we fold each
9236         operand.
9237
9238 2002-09-21  Richard Henderson  <rth@redhat.com>
9239
9240         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9241         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9242         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9243         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9244         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9245         * doc/cpp.texi: Don't document them.
9246
9247 2002-09-21  Richard Henderson  <rth@redhat.com>
9248
9249         * c-common.c (builtin_define_float_constants): Use real_format
9250         to get the floating-point parameters.
9251
9252 2002-09-21  Richard Henderson  <rth@redhat.com>
9253
9254         * real.c (struct real_format): Move to real.h.
9255         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9256         initialize with ieee defaults.
9257         (real_to_target_fmt, real_from_target_fmt): New.
9258         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9259         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9260         ieee_quad_format, i370_single_format, i370_double_format,
9261         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9262         (ieee_quad_format): Fix emin.
9263         (format_for_size, init_real_once): Remove.
9264         * real.h (struct real_format): Move from real.c.
9265         (real_format_for_mode): Declare.
9266         (real_to_target_fmt, real_from_target_fmt): Declare.
9267         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9268         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9269         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9270         i370_single_format, i370_double_format, c4x_single_format,
9271         c4x_extended_format): Declare.
9272         * toplev.c (do_compile): Don't call init_real_once.
9273
9274         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9275         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9276
9277         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9278         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9279         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9280         for VAX, if enabled.
9281
9282         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9283         for C4X.
9284
9285         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9286         * config/i370/i370.c (override_options): New.
9287         * config/i370/i370-protos.h: Update.
9288
9289         * config/i386/i386.c (override_options): Set real_format_for_mode
9290         for Intel 80-bit extended.
9291         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9292
9293         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9294         (OVERRIDE_OPTIONS): Move code...
9295         * config/i960/i960.c (i960_initialize): ... here.  Set
9296         real_format_for_mode for Intel 80-bit extended.
9297
9298         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9299         for Intel 80-bit extended, if enabled.
9300
9301         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9302         for Motorola 96-bit extended.
9303
9304         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9305         * config/vax/vax.c (override_options): New.
9306         * config/vax/vax-protos.h: Update.
9307
9308 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9309
9310         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9311         #if TARGET_MACHO.
9312
9313         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9314         insns.  Supply missing clobber of scratch reg.
9315
9316 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9317
9318         * config/m32r/m32r.c: Follow spelling conventions.
9319         * config/m32r/m32r.h: Likewise.
9320         * config/m32r/m32r.md: Likewise.
9321         * config/m68k/m68k.c: Likewise.
9322         * config/m88k/m88k.c: Likewise.
9323         * config/mcore/mcore.c: Likewise.
9324         * config/mips/mips.c: Likewise.
9325         * config/mips/mips.h: Likewise.
9326         * config/mmix/mmix.c: Likewise.
9327         * config/mn10200/mn10200.c: Likewise.
9328         * config/ns32k/ns32k.h: Likewise.
9329         * config/pa/pa.c: Likewise.
9330         * config/pa/pa64-linux.h: Likewise.
9331         * config/pdp11/pdp11.h: Likewise.
9332         * config/romp/romp.c: Likewise.
9333         * config/romp/romp.h: Likewise.
9334         * config/rs6000/eabi.asm: Likewise.
9335         * config/rs6000/linux64.h: Likewise.
9336         * config/rs6000/rs6000.c: Likewise.
9337         * config/rs6000/rs6000.h: Likewise.
9338         * config/rs6000/rs6000.md: Likewise.
9339         * config/rs6000/sysv4.h: Likewise.
9340         * config/rs6000/xcoff.h: Likewise.
9341
9342 2002-09-20  Jim Wilson  <wilson@redhat.com>
9343
9344         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9345
9346 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9347
9348         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9349         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9350         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9351         (legitimate_address_p): Likewise.
9352         (legitimize_address): Use @gotntpoff and @indntpoff.
9353         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9354         (output_addr_const_extra): Likewise.
9355
9356 2002-09-20  Jim Wilson  <wilson@redhat.com>
9357
9358         * combine.c (try_combine): When split an instruction pair, where the
9359         first has a sign_extend src, verify that the src and dest modes match.
9360
9361 2002-09-20  Richard Henderson  <rth@redhat.com>
9362
9363         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9364         (override_options): Do not initialize them.
9365         (mips_const_double_ok): Allow no fp constants except zero,
9366         and not even that for mips16.
9367         (const_float_1_operand): Use dconst1.
9368         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9369         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9370         Don't allow arbitrary constants; fix predicates and C constraint.
9371
9372 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9373
9374         * cppmacro.c: Don't warn about function-like macros without
9375         '(' during pre-expansion.
9376
9377 2002-09-20  Jim Wilson  <wilson@redhat.com>
9378
9379         * config/v850/v850.c (current_function_anonymous_args): Delete.
9380         (expand_prologue): Use current_function_args_info.anonymous_args.
9381         (expand_epilogue): Delete use of current_function_anonymous_args.
9382         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9383         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9384         (current_function_anonymous_args): Delete extern declaration.
9385         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9386
9387 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9388
9389         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9390         to load_macho_picbase.
9391         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9392         (load_macho_picbase): Take the symbol to use as a parameter.
9393         (macho_correct_pic): New insn.
9394         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9395
9396         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9397         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9398         (CAN_ELIMINATE): Likewise.
9399         (INITIAL_ELIMINATION_OFFSET): Likewise.
9400         (TOC_REGISTER): Likewise.
9401
9402 2002-09-20  Richard Henderson  <rth@redhat.com>
9403
9404         * real.c (real_hash): New.
9405         * real.h: Declare it.
9406         * cse.c (canon_hash): Use it.
9407         * cselib.c (hash_rtx): Likewise.
9408         * emit-rtl.c (const_double_htab_hash): Likewise.
9409         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9410         * varasm.c (struct rtx_const): Reduce vector size; separate
9411         integer and fp vectors.
9412         (HASHBITS): Remove.
9413         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9414         take modulus MAX_HASH_TABLE.
9415         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9416         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9417         (SYMHASH): Don't use HASHBITS.
9418         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9419         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9420         (simplify_subtraction): Fix kind comparison.
9421         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9422         Use a union to pun integer array.
9423         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9424         only hash two words of integral CONST_DOUBLE.
9425
9426 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9427
9428         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9429         (STARTFILE_PREFIX_SPEC): New.
9430         (LINK_SPEC): Modify.
9431         (LIB_SPEC): Modify.
9432         (LIBGCC_SPEC): New.
9433
9434 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9435
9436         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9437         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9438
9439 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9440
9441         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9442         Add clobber of the condition code register.
9443
9444 2002-09-20  Richard Henderson  <rth@redhat.com>
9445
9446         * real.c (do_fix_trunc): Static.
9447         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9448         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9449         encode_i370_single, encode_i370_double, encode_c4x_single,
9450         encode_c4x_extended): Add default abort case.
9451
9452 2002-09-20  Richard Henderson  <rth@redhat.com>
9453
9454         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9455         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9456         (struct realvaluetype): Remove.
9457         (REAL_VALUE_TYPE): Use struct real_value.
9458         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9459         (test_real_width): New.
9460         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9461         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9462         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9463         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9464         real_to_integer, real_to_integer2, real_to_decimal,
9465         real_to_hexadecimal, real_from_string, real_from_integer,
9466         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9467         real_from_target): Likewise.
9468         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9469         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9470
9471 2002-09-20  Richard Henderson  <rth@redhat.com>
9472
9473         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9474         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9475         * defaults.h: ... here.
9476         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9477         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9478         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9479         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9480
9481 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9482
9483         * config/mmix/mmix.md ("negdf2"): Rewrite.
9484         ("*expanded_negdf2"): New.
9485
9486 2002-09-19  Jim Wilson  <wilson@redhat.com>
9487
9488         * combine.c (simplify_set): When optimizing a subreg src with a
9489         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9490
9491 2002-09-19  Dale Johannesen <dalej@apple.com>
9492         * combine.c (make_extraction): Don't create
9493         invalid subreg.
9494
9495 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9496
9497         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9498         * tree.h (integer_nonzerop): Add function prototype.
9499         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9500         are no instructions in the test, i.e. the loop is unconditional.
9501         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9502         tests when the condition is always true or always false.
9503         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9504         do-loops when the condition is always true.
9505         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9506         the for-expression is empty.
9507
9508 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9509
9510         * gcc.c (use_pipes): New flag.
9511         (process_command): Set it.  Adjust check for -pipe conflicting
9512         with -time or -save-temps.
9513         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9514         %<SWITCH.  Drop %| (without a SUFFIX).
9515         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9516         (give_switch): Third argument eliminated.
9517         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9518         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9519         (specs documentation comment): Update.
9520
9521         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9522         config/svr4.h, config/i386/freebsd-aout.h,
9523         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9524         config/m68k/openbsd.h, config/mips/openbsd.h,
9525         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9526         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9527         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9528         * config/cris/cris.h: Update comment.
9529
9530         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9531         error messages.  Don't use %{^SWITCH}.
9532         * ada/misc.c (gnat_decode_option): Handle -I with a
9533         separate argument.
9534
9535         * f/lang-specs.h: Use %| and %m.
9536         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9537         uses of %{<SWITCH} to %<SWITCH.
9538
9539         * doc/invoke.texi: Update documentation of specs.
9540         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9541
9542 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9543
9544         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9545         and STRICT_LOW_PART within SET_DEST.
9546         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9547         splitters, replacing pre-reload splitters.
9548         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9549         "*zero_extendqihi2_31"): New insns.
9550         ("*zero_extendqihi2_64"): Do not clobber CC.
9551
9552 2002-09-18  Devang Patel  <dpatel@apple.com>
9553
9554         * cp/cp-tree.h: New prototype for walk_vtables().
9555         * cp/decl.c (walk_vtables_r): New function.
9556         (struct cp_binding_level): Add new members, namespaces,
9557         names_size and vtables.
9558         (add_decl_to_level): Add decl in namespaces or vtables
9559         chain, if conditions match.
9560         (walk_vtables): New function.
9561         (walk_namespaces_r): Travers separate namespace chain
9562         for namespace decls.
9563         (wrapup_globals_for_namespace): Use names_size instead
9564         of list_length().
9565         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9566         walk_globals() to walk vtable decls.
9567
9568 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9569
9570         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9571         (DTORS_SECTION_ASM_OP): Ditto.
9572         (READONLY_DATA_SECTION_ASM_OP): Moved.
9573         (DATA_SECTION_ASM_OP): New.
9574         (SDATA_SECTION_ASM_OP): New.
9575         (BSS_SECTION_ASM_OP): New.
9576         (SBSS_SECTION_ASM_OP): New.
9577         (TEXT_SECTION_ASM_OP): New.
9578
9579 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9580
9581         * config/fp-bit.c: Follow spelling conventions.
9582         * config/d30v/d30v.c: Likewise.
9583         * config/d30v/d30v.h: Likewise.
9584         * config/fr30/fr30.c: Likewise.
9585         * config/fr30/fr30.h: Likewise.
9586         * config/fr30/fr30.md: Likewise.
9587         * config/frv/frv.c: Likewise.
9588         * config/frv/frv.h: Likewise.
9589         * config/h8300/h8300.c: Likewise.
9590         * config/h8300/lib1funcs.asm: Likewise.
9591         * config/i370/i370.c: Likewise.
9592         * config/i386/i386.h: Likewise.
9593         * config/i386/i386.md: Likewise.
9594         * config/i386/pentium.md: Likewise.
9595         * config/i386/winnt.c: Likewise.
9596         * config/i960/i960.c: Likewise.
9597         * config/ia64/ia64.h: Likewise.
9598         * config/ip2k/ip2k.c: Likewise.
9599         * config/ip2k/ip2k.h: Likewise.
9600         * config/ip2k/ip2k.md: Likewise.
9601         * config/ip2k/libgcc.S: Likewise.
9602
9603 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9604
9605         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9606         (GOTOFF_P): Extend to allow gotoff plus constant.
9607
9608 2002-09-18  Richard Henderson  <rth@redhat.com>
9609
9610         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9611         with INSN_B before COND_EARLIEST.  Don't check A and B for
9612         modification in condition range.  Reorder INSN_B for A==B properly.
9613         (if_convert): Iterate until no matches for a block.
9614
9615 2002-09-18  Richard Henderson  <rth@redhat.com>
9616
9617         * calls.c (store_one_arg): Rename default_align to parm_align;
9618         always adjust parm_align for downward padding.
9619
9620 2002-09-18  Richard Henderson  <rth@redhat.com>
9621
9622         * toplev.c (backend_init): Move init_real_once invocation ...
9623         (do_compile): ... here.
9624
9625 2002-09-18  Richard Henderson  <rth@redhat.com>
9626
9627         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9628         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9629
9630 2002-09-18  Richard Henderson  <rth@redhat.com>
9631
9632         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9633
9634 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9635
9636         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9637         floatdisf2_internal1.
9638         (floatdisf2): New define_expand.
9639         (floatdisf2_internal2): Likewise.
9640
9641 2002-09-18  Richard Henderson  <rth@redhat.com>
9642
9643         * real.c (sticky_rshift_significand): Collect sticky as
9644         unsigned long, not bool.
9645
9646 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9647
9648         * config/s390/s390.c (s390_address_cost): New function.
9649         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9650         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9651         (RTX_COST): Use COSTS_N_INSNS.
9652
9653 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9654             Donn Terry  <donnte@microsoft.com>
9655
9656         * stor-layout.c (place_field): Handle alignment of whole
9657         structures when MSVC compatible bitfields are involved.
9658         Change method of computing location of MS bitfields to
9659         be compatible with #pragma pack(n).
9660
9661         * tree.h (record_layout_info): Add new field
9662         remaining_in_alignment.
9663
9664         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9665         (pragma pack): Add paragraph on MSVC bitfield packing.
9666
9667 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9668
9669         PR optimization/7967
9670         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9671         register.
9672
9673 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9674
9675         * config/s390/s390.c: Follow spelling conventions.
9676         * config/sh/lib1funcs.asm: Likewise.
9677         * config/sh/sh.c: Likewise.
9678         * config/sh/sh.h: Likewise.
9679         * config/sparc/sparc.c: Likewise.
9680         * config/sparc/sparc.h: Likewise.
9681         * config/sparc/sparc.md: Likewise.
9682         * config/stormy16/stormy16.c: Likewise.
9683         * config/stormy16/stormy16.h: Likewise.
9684         * config/v850/v850.c: Likewise.
9685         * config/v850/v850.h: Likewise.
9686         * config/vax/vax.c: Likewise.
9687         * config/vax/vax.h: Likewise.
9688
9689 2002-09-18  Nick Clifton  <nickc@redhat.com>
9690
9691         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9692         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9693         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9694
9695 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9696
9697         * function.c (max_parm_reg_num): Remove.
9698         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9699         drop_through_at_end_p, move_cleanups_up,
9700         expand_end_case_dummy, case_index_expr_type): Likewise.
9701         * stor-layout.c (pos_from_byte): Likewise.
9702         * tree.c (chain_member_value, chain_member_purpose, listify,
9703         tree_int_cst_msb, index_type_equal): Likewise.
9704         * tree.h: Remove prototypes for unused functions.
9705
9706 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9707
9708         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9709         statement that the only translation is to en_UK.
9710
9711 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9712
9713         * config/alpha/alpha.c: Follow spelling conventions.
9714         * config/alpha/alpha.h: Likewise.
9715         * config/alpha/alpha.md: Likewise.
9716         * config/arc/arc.h: Likewise.
9717         * config/arm/arm.c: Likewise.
9718         * config/arm/arm.h: Likewise.
9719         * config/arm/arm.md: Likewise.
9720         * config/arm/pe.c: Likewise.
9721         * config/arm/unknown-elf.h: Likewise.
9722         * config/avr/avr.c: Likewise.
9723         * config/avr/avr.h: Likewise.
9724         * config/c4x/c4x.c: Likewise.
9725         * config/cris/cris.c: Likewise.
9726         * config/cris/cris.h: Likewise.
9727
9728 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9729
9730         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9731         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9732         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9733
9734 2002-09-17  Dale Johannesen  <dalej@apple.com>
9735
9736         * cfgcleanup.c (try_forward_edges):  Do not forward a
9737         branch to just after a loop exit before loop optimization;
9738         this interfered with doloop detection.
9739
9740 2002-09-17  Nick Clifton  <nickc@redhat.com>
9741
9742         * config/arm/arm.c (output_return_instruction): Do not
9743         writeback the stack pointer when it is being loaded.
9744         (arm_output_epilogue): Likewise.
9745
9746 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9747
9748         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9749         generate a pseudo reg that receives the result of a libcall.
9750         (prepare_float_lib_cmp): Likewise.
9751
9752 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9753
9754         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9755
9756 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9757
9758         Fix PR/7014 and related objc bugs:
9759         * c-typeck.c (comp_target_types): Added a reflexive argument.
9760         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9761         callers to provide the appropriate reflexive argument.
9762         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9763         typechecking for all cases of comparisons and assignments,
9764         particularly the obscure and less common ones involving protocols.
9765
9766 2002-09-17  Nick Clifton  <nickc@redhat.com>
9767
9768         * machmode.def (V1DImode): New mode.  A single element vector.
9769         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9770         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9771         * tree.c (build_common_tree_nodes_2): Build
9772         unsigned_V1DI_type_node and V1D1_type_node.
9773         * c-common.c (c_common_type_for_mode): Return
9774         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9775         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9776
9777 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9778
9779         * doc/objc.texi (Constant string objects): Extended documentation
9780         to make clear that the constant string class ivar layout is
9781         completely fixed.
9782
9783 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9784
9785         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9786         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9787
9788 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9789
9790         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9791         * gcc.c (make_relative_prefix): Likewise.
9792         * loop.c (check_final_value): Likewise.
9793         * jump.c (init_label_info): Remove return value.
9794         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9795
9796 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9797
9798         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9799         (ASM_PN_FORMAT): Define.
9800
9801 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9802
9803         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9804         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9805         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9806         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9807         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9808         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9809         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9810         Delete.
9811         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9812         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9813         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9814
9815         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9816         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9817
9818 2002-09-16  Richard Henderson  <rth@redhat.com>
9819
9820         * expr.c (emit_block_move): Set memory block size as appropriate
9821         for the copy.
9822
9823 2002-09-16  Richard Henderson  <rth@redhat.com>
9824
9825         PR fortran/3924
9826         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9827
9828 2002-09-16  Richard Henderson  <rth@redhat.com>
9829
9830         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9831         as well as OFFSET for BITPOS.
9832
9833 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9834
9835         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9836         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9837         winchip2 and c3.
9838         * doc/invoke.texi: Mention new aliases.
9839
9840 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9841
9842         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9843         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9844         downward.
9845         * function.c (pad_below):  Always compile.
9846         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9847         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9848         Pad below when the argument is not in a register and the padding
9849         direction is downward.
9850
9851         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9852         (PAD_VARARGS_DOWN): Define.
9853         * pa.c (function_arg_padding): Revise padding directions to make them
9854         compatible with the 32 and 64-bit runtime architecture documentation.
9855         (hppa_va_arg):  Add code to handle variable and size zero arguments
9856         passed by reference on TARGET_64BIT.  Reformat.
9857         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9858         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9859         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9860         Add comments.
9861         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9862         (RETURN_IN_MEMORY): Return size zero types in memory.
9863         (FUNCTION_VALUE): Return TFmode in general registers.
9864         (MUST_PASS_IN_STACK): Define.
9865         (FUNCTION_ARG_BOUNDARY): Simplify.
9866         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9867         by reference.
9868         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9869
9870 2002-09-16  Richard Henderson  <rth@redhat.com>
9871
9872         * real.c (do_fix_trunc): New.
9873         (real_arithmetic): Call it.
9874         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9875         with a floating-point result mode.
9876
9877 2002-09-16  Richard Henderson  <rth@redhat.com>
9878
9879         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9880         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9881         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9882         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9883         * builtins.c (fold_builtin_nan): New.
9884         (fold_builtin): Call it.
9885         * real.c (real_nan): Parse a non-empty string.
9886         (round_for_format): Fix NaN significand truncation.
9887         * real.h (real_nan): Return bool.
9888         * doc/extend.texi: Document new builtins.
9889
9890 2002-09-16  Jason Merrill  <jason@redhat.com>
9891             Danny Smith  <dannysmith@users.sourceforge.net>
9892
9893         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9894         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9895         (i386_pe_mark_dllimport): Not here.
9896
9897 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9898
9899         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9900
9901 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9902
9903         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9904         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9905         < 64.
9906         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9907
9908 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9909
9910         * calls.c (emit_library_call_value_1): Don't refer to
9911         hard_libcall_value.
9912         * optabs.c (prepare_float_lib_cmp): Likewise.
9913
9914 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9915
9916         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9917         mangling.
9918
9919         The following changes are merged from pch-branch:
9920
9921         * doc/gty.texi (GTY Options): Document %a.
9922         * gengtype.c (do_scalar_typedef): New function.
9923         (process_gc_options): Handle `length' option.
9924         (set_gc_used_type): A pointer to an array of structures doesn't
9925         qualify as a pointer to a structure.
9926         (output_escaped_param): Add `%a' escape.
9927         (write_gc_structure_fields): Allow 'desc' on array of unions.
9928         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9929         do_scalar_typedef.
9930
9931         * gengtype.c (enum rtx_code): Make global.
9932         (rtx_format): Make global.
9933         (rtx_next): New.
9934         (gen_rtx_next): New.
9935         (write_rtx_next): New.
9936         (adjust_field_rtx_def): Skip fields marked by chain_next.
9937         (open_base_files): Delete redundant prototype.
9938         (write_enum_defn): New.
9939         (output_mangled_typename): Correct abort call.
9940         (write_gc_marker_routine_for_structure): Handle chain_next and
9941         chain_prev options.
9942         (finish_root_table): Don't output redundant \n.
9943         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9944         * c-tree.h (union lang_tree_node): Add chain_next option.
9945
9946         * gengtype.h (NUM_PARAM): New definition.
9947         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9948         * gengtype.c (find_param_structure): New.
9949         (adjust_field_type): Handle param<n>_is option.
9950         (process_gc_options): Detect use_params option.  Update callers.
9951         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9952         'use_params' option.
9953         (open_base_files): Add splay-tree.h to list of files included.
9954         (output_mangled_typename): New.
9955         (write_gc_structure_fields): Update 'param' parameter to support
9956         multiple parameters.  Change name mangling.  Allow parameterized
9957         fields to have an apparent scalar type.  Handle param<n>_is options,
9958         use_param option.
9959         (write_gc_marker_routine_for_structure): Update for change to name
9960         mangling.  Better guess the output file for parameterized types.
9961         (write_gc_types): Update for change to name mangling.
9962         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9963         param<n>_is options.
9964         * doc/gty.texi (GTY Options): Add description of param<n>_is
9965         options, use_params option.
9966         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9967         * gengtype-lex.l: Produce token for param<n>_is.
9968         * gengtype-yacc.y: Parse param<n>_is.
9969
9970         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9971
9972         * rtl.c: Update comment describing rtx_format.
9973         * rtl.h (union rtunion): Separate definition and typedef.
9974         (struct rtx_def): Use gengtype to mark.
9975         * Makefile.in (gengtype.o): Also depend on rtl.def.
9976         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9977         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9978         * ggc-common.c (ggc_mark_rtx_children): Delete.
9979         (ggc_mark_rtx_children_1): Delete.
9980         (gt_ggc_m_rtx_def): Delete.
9981         * gengtype.c (adjust_field_rtx_def): New.
9982         (adjust_field_type): Call adjust_field_rtx_def.
9983         (write_gc_structure_fields): Add 'default' case to switch if none
9984         is specified; remove unused code.
9985
9986         * tree.h (struct tree_exp): Update for change to meaning
9987         of special.
9988         * gengtype.c (adjust_field_tree_exp): New function.
9989         (adjust_field_type): Handle `tree_exp' special here.
9990         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9991         Handle new `dot' option.
9992
9993         * gengtype.h: Make `info' a pointer-to-const.
9994         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9995
9996         * gengtype.c (write_gc_structure_fields): Remove implementation
9997         of `always' option, add `default' option.
9998         * doc/gty.texi (GTY Options): Remove documentation of `always',
9999         add `default'.
10000
10001 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
10002
10003         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
10004
10005 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10006
10007         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
10008
10009         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
10010         instead of the *-protos.h file directly.
10011         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
10012         * darwin.c (machopic_output_stub): Move prototype ...
10013         * darwin-protos.h (machopic_output_stub): ... here.
10014         * rs6000-protos.h (machopic_output_stub): Don't declare.
10015
10016 2002-09-16  Richard Henderson  <rth@redhat.com>
10017
10018         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
10019
10020 2002-09-16  Richard Henderson  <rth@redhat.com>
10021
10022         * real.c, real.h: Rewrite from scratch.
10023
10024         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
10025         (paranoia): New target.
10026         * builtins.c (fold_builtin_inf): Use new real.h interface.
10027         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
10028         * c-lex.c (interpret_float): Likewise.
10029         * emit-rtl.c (gen_lowpart_common): Likewise.
10030         * optabs.c (expand_float): Use real_2expN.
10031         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
10032         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
10033         (FLOAT_WORDS_BIG_ENDIAN): New.
10034         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
10035         directly to REAL_VALUE_NEGATIVE.
10036         * loop.c (canonicalize_condition): Likewise.
10037         * simplify-rtx.c: Include tree.h.
10038         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
10039         with floating-point result modes.
10040         * toplev.c (backend_init): Call init_real_once.
10041
10042         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
10043         * tree.c (build_real): Likewise.
10044         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
10045         float_values, inited_float_values, check_float_value): Remove.
10046         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
10047         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
10048         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
10049         (VAX_HALFWORD_ORDER): Remove.
10050
10051 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
10052
10053         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
10054         (s390_load_address): ... this new function.
10055         (s390_decompose_address): Allow the argument pointer and all
10056         virtual registers as 'pointer' registers.
10057         (s390_expand_plus_operand): Use s390_load_address.
10058         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
10059         ("force_la_31"): New insn pattern.
10060         config/s390/s390-protos.h (legitimize_la_operand): Remove.
10061         (s390_load_address): Add prototype.
10062
10063         * config/s390/s390.c: Include "optabs.h".
10064         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
10065         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
10066         s390_expand_cmpstr): Add prototypes.
10067         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
10068         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
10069         for operands 0 and 1 to "memory_operand".  Add type attribute.
10070         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
10071         for operands 0 and 1 to "memory_operand".  Add type attribute.
10072         ("movstrdi_long", "movstrsi_long"): Remove.
10073         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
10074         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
10075         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
10076         ("clrstrsico"): Remove, replace by ...
10077         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
10078         ("clrstrsi_64"): Rename to "clrstr_long_64".
10079         ("clrstrsi_31"): Rename to "clrstr_long_31".
10080         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
10081         ("cmpstr_const"): Remove, replace by ...
10082         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
10083         ("cmpstr_64"): Rename to "cmpstr_long_64".
10084         ("cmpstr_31"): Rename to "cmpstr_long_31".
10085
10086 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
10087
10088         * ABOUT-NLS: Follow spelling conventions.
10089         * ChangeLog: Likewise.
10090         * ChangeLog.1: Likewise.
10091         * ChangeLog.2: Likewise.
10092         * ChangeLog.3: Likewise.
10093         * ChangeLog.4: Likewise.
10094         * ChangeLog.5: Likewise.
10095         * ChangeLog.6: Likewise.
10096         * FSFChangeLog.10: Likewise.
10097         * FSFChangeLog.11: Likewise.
10098         * c-common.c: Likewise.
10099         * c-lex.c: Likewise.
10100         * c-objc-common.c: Likewise.
10101         * cppexp.c: Likewise.
10102         * cppinit.c: Likewise.
10103         * cpplex.c: Likewise.
10104         * doloop.c: Likewise.
10105         * flow.c: Likewise.
10106         * function.c: Likewise.
10107         * integrate.c: Likewise.
10108         * loop.c: Likewise.
10109         * reg-stack.c: Likewise.
10110         * reload.h: Likewise.
10111         * ssa.c: Likewise.
10112
10113 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10114
10115         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10116         * vmsdbgout.c: Include "target.h".
10117
10118 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10119
10120         * ChangeLog: Follow spelling conventions.
10121         * ChangeLog.0: Likewise.
10122         * ChangeLog.1: Likewise.
10123         * ChangeLog.2: Likewise.
10124         * ChangeLog.4: Likewise.
10125         * ChangeLog.6: Likewise.
10126         * config.gcc: Likewise.
10127         * dwarfout.c: Likewise.
10128         * reload1.c: Likewise.
10129         * simplify-rtx.c: Likewise.
10130         * unwind-sjlj.c: Likewise.
10131         * config/avr/avr.h: Likewise.
10132         * config/d30v/d30v.h: Likewise.
10133         * config/frv/frv.c: Likewise.
10134         * config/frv/frv.h: Likewise.
10135         * config/ip2k/ip2k.h: Likewise.
10136         * config/m88k/m88k-move.sh: Likewise.
10137         * config/stormy16/stormy16.c: Likewise.
10138         * config/stormy16/stormy16.h: Likewise.
10139         * doc/extend.texi: Likewise.
10140         * doc/interface.texi: Likewise.
10141         * doc/invoke.texi: Likewise.
10142         * doc/md.texi: Likewise.
10143         * doc/rtl.texi: Likewise.
10144         * doc/tm.texi: Likewise.
10145         * doc/trouble.texi: Likewise.
10146         * ginclude/float.h: Likewise.
10147         * treelang/treelang.texi: Likewise.
10148
10149 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10150
10151         * i386-protos.h (i386_pe_dllexport_name_p,
10152         i386_pe_dllimport_name_p, i386_pe_unique_section,
10153         i386_pe_declare_function_type, i386_pe_record_external_function,
10154         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10155         prototype.
10156         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10157         * i386/t-interix (winnt.o): Likewise.
10158
10159         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10160
10161 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10162
10163         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10164         MIPS ABI CPP macros.
10165         (TARGET_CPU_CPP_BUILTINS): Redefine.
10166         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10167         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10168
10169 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10170
10171         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10172
10173 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10174
10175         * ChangeLog: Follow spelling conventions.
10176         * ChangeLog.0: Likewise.
10177         * ChangeLog.1: Likewise.
10178         * ChangeLog.2: Likewise.
10179         * ChangeLog.3: Likewise.
10180         * ChangeLog.4: Likewise.
10181         * ChangeLog.5: Likewise.
10182         * ChangeLog.6: Likewise.
10183         * FSFChangeLog.10: Likewise.
10184         * FSFChangeLog.11: Likewise.
10185         * c-common.c: Likewise.
10186         * c-common.h: Likewise.
10187         * c-format.c: Likewise.
10188         * c-opts.c: Likewise.
10189         * cpplib.c: Likewise.
10190         * langhooks.h: Likewise.
10191         * real.c: Likewise.
10192         * reg-stack.c: Likewise.
10193         * toplev.c: Likewise.
10194         * config/arm/arm.c: Likewise.
10195         * config/arm/arm.md: Likewise.
10196         * config/arm/linux-gas.h: Likewise.
10197         * config/arm/netbsd.h: Likewise.
10198         * config/c4x/c4x.c: Likewise.
10199         * config/c4x/c4x.h: Likewise.
10200         * config/c4x/c4x.md: Likewise.
10201         * config/c4x/libgcc.S: Likewise.
10202         * config/fr30/fr30.md: Likewise.
10203         * config/frv/frv.md: Likewise.
10204         * config/ia64/ia64.md: Likewise.
10205         * config/mips/mips.h: Likewise.
10206         * config/mn10300/mn10300.c: Likewise.
10207         * config/stormy16/stormy16.c: Likewise.
10208         * config/v850/v850.md: Likewise.
10209         * doc/extend.texi: Likewise.
10210         * doc/invoke.texi: Likewise.
10211         * doc/md.texi: Likewise.
10212
10213 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10214
10215         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10216         library if -pthread is specified.
10217
10218 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10219
10220         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10221         for --enable-threads=yes and --enable-threads=posix.
10222
10223 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10224
10225         * config/sparc/cypress.md: Replace Sparc with SPARC.
10226         * config/sparc/freebsd.h: Likewise.
10227         * config/sparc/gmon-sol2.c: Likewise.
10228         * config/sparc/hypersparc.md: Likewise.
10229         * config/sparc/lb1spc.asm: Likewise.
10230         * config/sparc/lb1spl.asm: Likewise.
10231         * config/sparc/linux.h: Likewise.
10232         * config/sparc/linux64.h: Likewise.
10233         * config/sparc/lynx.h: Likewise.
10234         * config/sparc/sol2.h: Likewise.
10235         * config/sparc/sparc-modes.def: Likewise.
10236         * config/sparc/sparc.c: Likewise.
10237         * config/sparc/sparc.h: Likewise.
10238         * config/sparc/sparc.md: Likewise.
10239         * config/sparc/sparclet.md: Likewise.
10240         * config/sparc/supersparc.md: Likewise.
10241         * config/sparc/sysv4.h: Likewise.
10242         * config/sparc/vxsim.h: Likewise.
10243         * config/sparc/vxsparc64.h: Likewise.
10244
10245 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10246
10247         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10248         * collect2.c (ignore_library, aix_std_libs): Move into the context
10249         where it is used.
10250         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10251         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10252         * m88k.c (output_call): Wrap variables with macro controlling use.
10253         * rs6000.md: Likewise.  Const-ify variable.
10254         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10255         * final.c (only_leaf_regs_used): Likewise.
10256         * regrename.c (maybe_mode_change): Mark parameter with
10257         ATTRIBUTE_UNUSED.
10258         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10259         (find_reloads_address_1): Likewise.
10260         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10261
10262 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10263
10264         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10265
10266 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10267
10268         * ChangeLog: Follow spelling conventions.
10269         * ChangeLog.0: Likewise.
10270         * ChangeLog.2: Likewise.
10271         * ChangeLog.3: Likewise.
10272         * ChangeLog.4: Likewise.
10273         * ChangeLog.5: Likewise.
10274         * ChangeLog.6: Likewise.
10275         * cppfiles.c: Likewise.
10276         * cppinit.c: Likewise.
10277         * cpplib.h: Likewise.
10278         * cse.c: Likewise.
10279         * debug.h: Likewise.
10280         * df.c: Likewise.
10281         * dominance.c: Likewise.
10282         * hashtable.c: Likewise.
10283         * hashtable.h: Likewise.
10284         * loop.c: Likewise.
10285         * config/arm/README-interworking: Likewise.
10286         * config/arm/arm.c: Likewise.
10287         * config/arm/arm.h: Likewise.
10288         * config/arm/arm.md: Likewise.
10289         * config/dsp16xx/dsp16xx.h: Likewise.
10290         * config/frv/frv.c: Likewise.
10291         * config/frv/frv.h: Likewise.
10292         * config/ip2k/ip2k.h: Likewise.
10293         * config/rs6000/rs6000.c: Likewise.
10294         * config/stormy16/stormy-abi: Likewise.
10295         * config/stormy16/stormy16.h: Likewise.
10296         * config/v850/v850.c: Likewise.
10297
10298 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10299
10300         * loop.c: Fix a comment typo.
10301
10302 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10303
10304         * config/fr30/fr30.h: Fix comment typos.
10305         * config/frv/frv.c: Likewise.
10306         * config/i386/xmmintrin.h: Likewise.
10307         * config/mips/mips.c: Likewise.
10308         * config/sh/sh.c: Likewise.
10309
10310 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10311
10312         * haifa-sched.c: Follow spelling conventions.
10313         * regclass.c: Likewise.
10314         * regrename.c: Likewise.
10315         * config/fp-bit.c: Likewise.
10316         * config/frv/frv.h: Likewise.
10317         * config/m88k/m88k.c: Likewise.
10318         * config/mcore/mcore.c: Likewise.
10319         * config/rs6000/darwin.h: Likewise.
10320         * config/rs6000/gnu.h: Likewise.
10321         * config/rs6000/linux.h: Likewise.
10322         * config/rs6000/linux64.h: Likewise.
10323         * config/rs6000/rs6000.c: Likewise.
10324         * config/rs6000/rs6000.h: Likewise.
10325         * config/sh/sh.c: Likewise.
10326         * config/sparc/sparc.c: Likewise.
10327         * config/sparc/ultra1_2.md: Likewise.
10328
10329 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10330
10331         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10332         memory operand when source is 0 (K constraint).
10333         ("movsi_internal"): Likewise.
10334         ("movdf_internal"): Likewise.
10335         ("movsf_internal"): Likewise.
10336
10337 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10338
10339         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10340         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10341         (rs6000_xcoff_encode_section_info): Likewise.
10342         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10343
10344 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10345
10346         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10347
10348 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10349
10350         * stmt.c (struct nexting): Remove unused alt_end_label field.
10351         (expand_start_loop): Delete initialization of alt_end_label.
10352         (expand_start_null_loop): Likewise.
10353         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10354
10355 2002-09-13  Richard Henderson  <rth@redhat.com>
10356
10357         * Makefile.in (toplev.o): Depend on real.h.
10358         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10359
10360 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10361
10362         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10363         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10364         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10365
10366 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10367
10368         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10369
10370 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10371
10372         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10373         ia64*-*-linux*): Set extra_parts.
10374         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10375         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10376
10377 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10378
10379         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10380         * config/h8300/h8300.c: Likewise.
10381         * config/h8300/h8300.h: Likewise.
10382         * config/h8300/h8300.md: Likewise.
10383         * doc/invoke.texi: Likewise.
10384
10385 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10386
10387         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10388
10389 2002-09-13  Richard Henderson  <rth@redhat.com>
10390
10391         * config/alpha/alpha.md (attr type): Add callpal.
10392         (imb, trap, load_tp, set_tp): Use it.
10393         * config/alpha/ev4.md (ev4_callpal): New.
10394         * config/alpha/ev5.md (ev5_callpal): New.
10395         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10396         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10397         (alphaev5_insn_pipe): Likewise.
10398
10399 2002-09-13  Andreas Jaeger  <aj@suse.de>
10400
10401         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10402
10403 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10404
10405         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10406         LIB2ADDEH): New, set to NULL.
10407         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10408
10409 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10410
10411         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10412         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10413         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10414         Add declarations.
10415         (_U_Qfneg): Remove.
10416
10417 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10418
10419         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10420         for H8/300, H8S aa:8 mode.
10421         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10422         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10423         for H8/300 aa:8 mode.
10424
10425 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10426
10427         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10428         insns.
10429
10430 2002-09-12  Richard Henderson  <rth@redhat.com>
10431
10432         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10433         (print-rtl.o): Don't define GENERATOR_FILE.
10434         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10435         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10436         unless GENERATOR_FILE.
10437
10438 2002-09-12  Stan Shebs  <shebs@apple.com>
10439
10440         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10441         * config/i386/darwin.h: ... instead of here.
10442
10443         * target.h (struct gcc_target): New field
10444         terminate_dw2_eh_frame_info.
10445         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10446         (TARGET_INITIALIZER): Add it.
10447         * dwarf2out.c (output_call_frame_info): Use target hook.
10448         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10449         ASM_OUTPUT_DWARF_DELTA if defined.
10450         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10451         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10452         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10453         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10454         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10455         (powerpc-*-darwin*): Ditto.
10456         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10457         to work correctly for Darwin.
10458         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10459         (STARTFILE_SPEC): Add crtbegin.o.
10460         (ENDFILE_SPEC): Define.
10461         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10462         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10463         (ASM_OUTPUT_DWARF_DELTA): Define.
10464         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10465         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10466
10467 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10468
10469         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10470         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10471         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10472
10473 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10474
10475         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10476         * defaults.h: ... here.
10477
10478 2002-09-12  Richard Henderson  <rth@redhat.com>
10479
10480         * vax.c: Include tree.h earlier.
10481
10482 2002-09-12  Stan Shebs  <shebs@apple.com>
10483
10484         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10485         (machopic_operand_p): Ditto.
10486
10487 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10488
10489         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10490         Fix a comment typo.
10491
10492 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10493
10494         * toplev.c (do_abort): Fix a comment typo.
10495
10496 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10497
10498         * cselib.c: Fix comment formatting.
10499         * gengtype.c: Likewise.
10500
10501 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10502
10503         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10504         (udivmodhi4): Likewise.
10505
10506 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10507             Roger Sayle  <roger@eyesopen.com>
10508
10509         * i386.c (any_fp_register_operand, fp_register_operand,
10510         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10511         New predicate functions.
10512         * i386-protos.h:  Add their prototypes.
10513         * i386.h: Add them to PREDICATE_CODES.
10514         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10515         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10516         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10517         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10518         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10519         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10520         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10521         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10522         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10523         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10524         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10525         Use these new predicates to simplify and correct the use of
10526         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10527
10528 2002-09-12  Jason Merrill  <jason@redhat.com>
10529
10530         * diagnostic.c (output_add_identifier): New fn.
10531         * diagnostic.h: Declare it.
10532
10533         * calls.c (store_one_arg): Use size_in_bytes to determine the
10534         amount of space to push.
10535
10536 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10537
10538         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10539
10540 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10541
10542         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10543         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10544         (s390_select_ccmode): Likewise.
10545         (s390_branch_condition_mask): Likewise.
10546         (optimization_options): Do not set flag_branch_on_count.
10547         (s390_split_branches): Handle doloop branches.
10548         (s390_chunkify_pool): Likewise.
10549         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10550         ("doloop_end"): New expander.
10551         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10552         associated splitters): New.
10553
10554 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10555
10556         * genattrtab.c (simplify_cond): Remove unused variable(s).
10557         * global.c (record_conflicts): Likewise.
10558         * jump.c (rebuild_jump_labels): Likewise.
10559         * loop.c (scan_loop, check_final_value): Likewise.
10560         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10561         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10562         * rtlanal.c (reg_set_p): Likewise.
10563         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10564         * genautomata.c (empty_reserv): Remove.
10565         * loop.c (max_luid): Likewise.
10566         * sched-rgn.c (bitlst_table_size): Likewise.
10567
10568 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10569
10570         Reimplement gcov format.
10571         * gcov-io.h: Replace.
10572         * gcov.c: Reimplement.
10573         * gcov-iov.c: New file.
10574         * gcov-dump.c: New file.
10575         * libgcc2.c (L_bb): Replace with ...
10576         (L_gcov): ... this.
10577         (struct bb_function_info, struct bb): Remove.
10578         (inhibit_libc): Never inhibit.
10579         (gcov_list, gcov_crc): New static variables.
10580         (gcov_version_mismatch): New static function.
10581         (__bb_exit_func): Renamed to ...
10582         (__gcov_exit): ... here. Made static. Reimplement.
10583         (__gcov_init_func): Rename to ...
10584         (__gcov_init): ... here. Check version, update crc.
10585         (__bb_fork_func): Rename to ...
10586         (__gcov_flush): ... here.
10587         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10588         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10589         * calls.c (expand_call): Call __gcov_flush.
10590         * profile.c (bb_file, last_bb_file_name): Remove.
10591         (bbg_file_name): New global variable.
10592         (output_gcov_string): Remove.
10593         (get_exec_counts): Reimplement.
10594         (branch_prob): Reimplement gcov file writing.
10595         (init_branch_prob): Create bbg_file_name, don't create
10596         bb_file_name.
10597         (end_branch_prob): Adjust. Don't remove counter file when
10598         instrumenting ourselves.
10599         (create_profiler): Adjust.
10600         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10601         point to gcov-io.h.
10602         * Makefile.in (LANGUAGES): Add gcov-dump.
10603         (coverageexts): Remove .bb.
10604         (STAGESTUFF): Add gcov-dump.
10605         (LIB2FUNCS_ST): Replace _bb with _gcov.
10606         (profile.o): Depend on gcov-iov.h.
10607         (final.o): Don't depend on profile.h, gcov.h.
10608         (gcov.o): Depend on gcov-iov.h.
10609         (gcov-iov.o): New target.
10610         (gcov-iov): New target.
10611         (gcov-iov.h): New target.
10612         (gcov-dump.o): New target.
10613         (GCOV_DUMP_OBJS): New variable.
10614         (gcov-dump): New target.
10615         (distclean): Remove coverageexts.
10616         (stage1): Remove coverageexts.
10617
10618 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10619
10620         * fold-const.c (make_range): Only narrow to signed range if
10621         the signed range is smaller than the unsigned range.
10622
10623 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10624
10625         * emit-rtl.c (set_mem_size): New function.
10626         * expr.h (set_mem_size): Declare.
10627         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10628         (expand_block_move): Instead, use adjust_address and
10629         replace_equiv_address to generate proper aliasing info.
10630         Move common code out of conditionals.  Localize vars.
10631
10632 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10633
10634         * optabs.c (expand_binop): Minor cleanup.
10635         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10636
10637 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10638
10639         * print-tree.c (print_node): Print the restrict qualifier.
10640
10641 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10642
10643         * doc/install.texi: Fix typos.
10644
10645 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10646
10647         * Makefile.in: Remove all references to s-under and underscore.c.
10648         * collect2.c, tlink.c: Change all uses of prepends_underscore
10649         to look directly at USER_LABEL_PREFIX.
10650
10651 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10652
10653         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10654         alignment to csect.
10655         (rs6000_xcoff_unique_section): Only set section name for public
10656         data.
10657         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10658         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10659         duplicate definition.
10660
10661 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10662
10663         * pa.md (extzv): Check predicates before emitting extzv_32.
10664         (insv): Likewise.
10665
10666 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10667
10668         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10669         (MAX_MOVE_MAX): Define.
10670         (MOVE_BY_PIECES_P): Define.
10671         (CLEAR_BY_PIECES_P): Define.
10672
10673 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10674
10675         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10676
10677 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10678
10679         PR c/7873
10680         * arm.md (insv): Use reg_or_int_operand for operand[3].
10681
10682 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10683
10684         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10685         inside macro.  Correct function definition typo.
10686         (rs6000_xcoff_section_type_flags): New function.
10687         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10688         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10689         with appropriate PIC test.
10690         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10691         determine readonly.
10692         (rs6000_binds_local_p): Combine PIC flags.
10693         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10694         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10695
10696 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10697
10698         * h8300.md: Fix signed/unsigned warnings.
10699         * mcore.md: Likewise.
10700         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10701
10702 2002-09-09  Per Bothner  <per@bothner.com>
10703
10704         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10705         characters, and only print TREE_STRING_LENGTH chars.
10706
10707 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10708
10709         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10710         (ASM_FILE_END) New.
10711         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10712         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10713         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10714         of external functions if TARGET_HPUX_LD is true.
10715         (ia64_hpux_add_extern_decl): New, routine to put names on
10716         list of external functions.
10717         (ia64_hpux_asm_file_end): Put out declarations for external
10718         functions if and only if they are used.
10719
10720 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10721
10722         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10723         on TARGET_64BIT before pic register restore.
10724
10725 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10726
10727         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10728         (TARGET_HAVE_TLS): New description.
10729
10730 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10731
10732         * doc/extend.texi (Statement Exprs): Fix broken link.
10733
10734 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10735
10736         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10737         right conversion of operands[1].
10738
10739 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10740
10741         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10742         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10743         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10744
10745         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10746         as commutative.
10747
10748         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10749         mark as commutative.  Use "nonimmediate_operand" instead of
10750         "register_operand" as predicate for operand 1.
10751
10752         ("movstrictsi"): Fix typo in insn name.
10753
10754 2002-09-09  Jan Hubicka  <jh@suse.cz>
10755
10756         * i386.c (index_register_operand): New.
10757         * i386.h (predicate_codes): Add new predicate.
10758         * i386.md (lea_general_*): Use index_register_operand
10759         (ashift to lea splitter): Do not produce invalid leas
10760         (ashift to mov+ashift split): New.
10761
10762 2002-09-09  Nick Clifton  <nickc@redhat.com>
10763
10764         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10765         Fix folding marks.
10766
10767 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10768             J"orn Rennecke <joern.rennecke@superh.com>
10769
10770         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10771
10772 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10773
10774         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10775         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10776         attributes.
10777
10778 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10779
10780         * basic_block.h (gcov_type): Explain why it is signed.
10781         * final.c: Don't include profile.h.
10782         (struct function_list, functions_head, functions_tail,
10783         end_final): Moved to profile.c
10784         (final): Move arc chaining code to profile.c.
10785         * function.c (prepare_function_start): Remove duplicate line.
10786         * output.h (end_final): Remove prototype.
10787         * predict.c (estimate_loops_at_level): Use gcov_type.
10788         * profile.c (struct function_list, functions_head,
10789         functions_tail): Moved from final.c
10790         (need_func_profiler): Remove.
10791         (instrument_edges): Don't set need_func_profiler.
10792         (get_exec_counts): Avoid signed/unsigned warning.
10793         (compute_checksum): Use crc32.
10794         (branch_prob): Adjust. Chain onto functions_head.
10795         (init_branch_prob): Absorb init_edge_profiler.
10796         (init_edge_profiler): Remove.
10797         (create_profiler): Moved and renamed from final.c:end_final.
10798         Emit data and constructor.
10799         (output_func_start_profiler): Remove.
10800         * profile.h (struct profile_info): checksum is unsigned.
10801         * rtl.h (output_func_start_profiler): Remove prototype.
10802         (create_profiler): Declare.
10803         * toplev.c (compile_file): Call create_profiler, if instrumenting
10804         arcs. Don't call end_final.
10805
10806 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10807
10808         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10809
10810 2002-09-08  Richard Henderson  <rth@redhat.com>
10811
10812         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10813         (DW_OP_GNU_push_tls_address): New.
10814         (DW_OP_lo_user): Fix.
10815         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10816         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10817         (size_of_loc_descr): Likewise.
10818         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10819         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10820         (loc_descriptor_from_tree): Handle TLS variables.
10821         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10822         (add_location_or_const_value_attribute): ... not here.  Defer
10823         to loc_descriptor_from_tree for TLS variables.
10824
10825         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10826         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10827         * config/i386/i386-protos.h: Update.
10828
10829 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10830
10831         PR optimization/6405
10832         * unroll.c (loop_iterations): last_loop_insn should be the previous
10833         non-note instruction before loop->end.
10834         * loop.c (strength_reduce): The conditional jump is the last
10835         non-note instruction before loop->end (as above).
10836
10837 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10838
10839         * combine.c (try_combine): Handle the case that undobuf.other_insn
10840         has been turned into a return or unconditional jump, by inserting
10841         a BARRIER if necessary.
10842         (simplify_set):  Test if a condition code setter has a constant
10843         comparison at compile time, if so convert this insn to a no-op move
10844         and update/simplify the condition code user (undobuf.other_insn).
10845
10846 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10847
10848         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10849         (CLEAR_INSN_CACHE): Define.
10850
10851 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10852
10853         * basic-block.h: Fix comment formatting.
10854         * c-common.c: Likewise.
10855         * c-common.h: Likewise.
10856         * c-lex.c: Likewise.
10857         * c-pretty-print.c: Likewise.
10858         * cfglayout.c: Likewise.
10859         * cfgloop.c: Likewise.
10860         * defaults.h: Likewise.
10861         * et-forest.c: Likewise.
10862         * explow.c: Likewise.
10863         * function.h: Likewise.
10864         * gcov.c: Likewise.
10865         * genattrtab.c: Likewise.
10866         * gengtype.c: Likewise.
10867         * ifcvt.c: Likewise.
10868         * libgcc2.c: Likewise.
10869         * loop.c: Likewise.
10870         * profile.c: Likewise.
10871         * ra-build.c: Likewise.
10872         * real.c: Likewise.
10873         * rtl.h: Likewise.
10874         * tracer.c: Likewise.
10875         * tree-inline.c: Likewise.
10876         * varasm.c: Likewise.
10877
10878 2002-09-08  Jan Hubicka  <jh@suse.cz>
10879
10880         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10881         handling.
10882
10883         * loop.c (loop_givs_reduce):  Emit addition after.
10884
10885 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10886
10887         * varasm.c (default_assemble_visibility): Rename from
10888         assemble_visibility.
10889         * output.h: Here too.
10890         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10891         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10892
10893 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10894
10895         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10896         find_reloads_address.
10897
10898 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10899
10900         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10901         (anonymous pattern): Likewise.
10902
10903 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10904
10905         * machmode.def: Add modes for half-float vectors.
10906
10907 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10908
10909         PR target/7374
10910         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10911
10912 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10913
10914         * basic-block.h (struct loop): Remove unused cont_dominator field.
10915
10916 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10917
10918         * varasm.c (decode_rtx_const): Don't check undefined field for
10919         CONST_VECTOR.
10920
10921 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10922
10923         PR opt/7814
10924         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10925         to reg_last->sets after flushing the dependency lists to guarantee
10926         that subsequent clobbers will be dependent on it.
10927
10928 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10929
10930         * combine.c (simplify_shift_const): Calculate rotate count
10931         correctly for vector operands.
10932
10933 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10934
10935         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10936         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10937         tree_expr_nonnegative_p.
10938         (build_conditional_expr): Likewise.
10939         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10940
10941 2002-09-07  Richard Henderson  <rth@redhat.com>
10942
10943         * builtins.def (inf, inff, infl): Mark const.
10944         (huge_val, huge_valf, huge_vall): Likewise.
10945         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10946
10947         * real.c (ereal_inf): Clear E before use.
10948
10949 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10950
10951         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10952         an expander and an anonymous pattern.  Zero out the upper half
10953         of the dividend in the expander.
10954         (udivmodqi4): Likewise.
10955
10956 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10957
10958         * config/h8300/h8300.c: Fix formatting.
10959         * config/h8300/h8300.h: Likewise.
10960         * config/h8300/h8300.md: Likewise.
10961
10962 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10963
10964         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10965         information.
10966
10967 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10968
10969        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10970
10971 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10972
10973         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10974
10975         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10976         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10977         (TARGET_ASM_OUT): Add the above here.
10978         * target.h (struct gcc_target): Add "visibility" field.
10979         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10980         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10981         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10982         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10983
10984 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10985
10986         * c-lang.c (objc_is_id): New stub.
10987         * c-tree.h (objc_is_id): New forward declaration.
10988         * c-typeck.c (build_c_cast): Do not strip protocol
10989         qualifiers from 'id' type.
10990         * objc/objc-act.c (objc_comptypes): Correct handling
10991         of protocol qualifiers.
10992         (objc_is_id): New.
10993
10994 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10995
10996         * pentium.md (pentium-firstvboth): Fix typo.
10997
10998 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10999
11000         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
11001         (enum shift_type, enum h8_cpu): Likewise.
11002         (INL, ROT, LOP, SPC macros): Likewise.
11003         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
11004         const designator.
11005         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
11006         space efficient algorithms when optimize for codesize.
11007
11008 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11009
11010         Fix PR/1727 and long-standing failing testcase
11011         objc/formal-protocol-6.m.
11012         * objc-act.c (build_protocol_expr): If compiling for the GNU
11013         runtime, create a list of Protocol statically allocated instances
11014         if it doesn't exist, then add the Protocol object to this same
11015         list.
11016         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
11017         instead of TREE_CHAIN.
11018
11019 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11020
11021         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
11022         10k.  Fixed category dumping - print out category names with the
11023         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
11024         interface.
11025         (finish_objc): Fixed the -gen-decls option.  It was printing out
11026         only the last class.  Dump an interface declaration of all classes
11027         being compiled instead.
11028
11029 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
11030
11031         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
11032         prototype.
11033         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
11034         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
11035         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
11036         rather than GEN_INT.
11037         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
11038         (return_addr_mask, *check_arch2): New.
11039
11040 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
11041
11042         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
11043         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
11044         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
11045         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
11046         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
11047         "adddf3", "*adddf3", "*adddf3_ibm",
11048         "addsf3", "*addsf3", "*addsf3_ibm",
11049         "muldi3", "mulsi3", "mulsidi3",
11050         "muldf3", "*muldf3", "*muldf3_ibm",
11051         "mulsf3", "*mulsf3", "*mulsf3_ibm",
11052         "*anddi3_cc", "*anddi3_cconly", "anddi3",
11053         "*andsi3_cc", "*andsi3_cconly", "andsi3",
11054         "*iordi3_cc", "*iordi3_cconly", "iordi3",
11055         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
11056         "*xordi3_cc", "*xordi3_cconly", "xordi3",
11057         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
11058         instead of "register_operand" as predicate for "%0" operand.
11059
11060 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
11061
11062         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
11063         unconditionally when gcc_cv_as_flags64 checks are gone.
11064         * configure: Rebuilt.
11065
11066 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
11067
11068         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
11069         2002-07-26 change.  Comment.
11070
11071 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11072
11073         * frv.c (frv_unique_section, frv_select_section,
11074         frv_select_rtx_section): Delete.
11075         (frv_in_small_data_p): New.
11076         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
11077         TARGET_ASM_SELECT_RTX_SECTION): Delete.
11078         (TARGET_IN_SMALL_DATA_P): Define.
11079
11080 2002-09-05  Dale Johannesen  <dalej@apple.com>
11081
11082         * reload1.c (reload):  Retain only those memory clobbers
11083         added for variable-array handling.
11084
11085 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11086
11087         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
11088         return-in-memory rules.
11089         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
11090
11091 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11092
11093         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
11094         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
11095
11096 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
11097
11098         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
11099         not a compile-time constant for the non-IBM case.
11100         * config/arm/arm-protos.h (arm_float_words_big_endian): New
11101         prototype.
11102         * config/arm/arm.c (arm_float_words_big_endian): New function.
11103         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
11104         if TARGET_VFP  and not TARGET_HARD_FLOAT.
11105         (ARM_FLAG_VFP, TARGET_VFP): Define.
11106         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
11107
11108 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
11109
11110         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11111         URLs.  Fix AIX wording.
11112
11113 2002-09-05  Stan Shebs  <shebs@apple.com>
11114
11115         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11116         -fPIC equivalent on Darwin.
11117
11118 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11119
11120         * sh.c (sh_expand_builtin): Return early if encountering an
11121         error_mark for a type.
11122
11123 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11124
11125         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11126         double-word scratch register.
11127         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11128
11129         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11130         "*cli"): Replace s_operand by memory_operand.
11131         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11132
11133 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11134
11135         * config/h8300/h8300.c (asm_file_start): Add a missing
11136         semicolon.
11137
11138 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11139
11140         * c-typeck.c (build_function_call): Remove unused variable(s).
11141         (build_c_cast): Likewise.
11142         * calls.c (rtx_for_function_call): Likewise.
11143         * cfglayout.c (duplicate_insn_chain): Likewise.
11144         * cfgloop.c (flow_loop_nodes_find): Likewise.
11145         * cfgrtl.c (split_edge): Likewise.
11146         * df.c (df_ref_create): Likewise.
11147         * except.c (expand_end_catch): Likewise.
11148         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11149         * function.c (emit_return_into_block): Likewise.
11150         (reposition_prologue_and_epilogue_notes): Likewise.
11151         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11152         * combine.c (subst_prev_insn, need_refresh): Remove.
11153         * dwarf2out.c (primary_filename): Remove.
11154         * final.c (new_block): Remove.
11155         * gcse.c (orig_bb_count): Remove.
11156
11157 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11158
11159         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11160         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11161         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11162         directly instead of using a function pointer.
11163
11164 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11165
11166         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11167         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11168         (ix86_output_addr_diff_elt) Likewise.
11169         (x86_output_mi_thunk) Likewise.
11170         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11171
11172 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11173
11174         * frv.c (frv_encode_section_info): Fix error in last change.
11175
11176 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11177
11178         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11179         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11180         (TARGET_BINDS_LOCAL_P): Define.
11181         (rs6000_override_options): Save original flag_pic value.
11182         (rs6000_elf_select_section): Call default_elf_select_section_1.
11183         (rs6000_elf_unique_section): Call default_unique_section_1.
11184         (rs6000_elf_in_small_data_p): New function.
11185         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11186         (rs6000_xcoff_select_section): Update based on defaults.
11187         (rs6000_xcoff_unique_section): Set to basic name if not common.
11188         (rs6000_binds_local_p): New function.
11189         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11190         targetm.have_srodata_section if SDATA_EABI.
11191         (TARGET_IN_SMALL_DATA_P): Define.
11192
11193 2002-09-04  Dale Johannesen  <dalej@apple.com>
11194
11195         * varasm.c (struct rtx_const, decode_rtx_const):
11196         Make veclo and vechi fields not share storage.
11197
11198 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11199
11200         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11201         for moving.
11202         (move_movables): Abort if we see the first insn of a libcall.
11203
11204 2002-09-04  Richard Henderson  <rth@redhat.com>
11205
11206         * builtin-types.def (BT_FN_FLOAT): New.
11207         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11208         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11209         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11210         * builtins.c (fold_builtin_inf): New.
11211         (fold_builtin): Call it.
11212         * real.c (ereal_inf): New.
11213         * real.h: Declare it.
11214         * doc/extend.texi: Document new builtins.
11215
11216 2002-09-04  Richard Henderson  <rth@redhat.com>
11217
11218         * cse.c (cse_insn): Avoid subreg games if the equivalence
11219         is already in the proper mode.
11220
11221 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11222
11223         PR c/7102
11224         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11225
11226 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11227
11228         * pa.md (setccfp0, setccfp1): New patterns.
11229
11230 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11231
11232         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11233         frv_select_section, frv_select_rtx_section,
11234         frv_encode_section_info, frv_unique_section): Delete.
11235         * frv.c: Update for target hooks.
11236         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11237         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11238         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11239
11240 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11241
11242         * ip2k-protos.h (function_prologue, function_epilogue,
11243         encode_section_info): Update to match target hook specification.
11244         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11245         (function_prologue, function_epilogue, encode_section_info):
11246         Update to match target hook specification.
11247         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11248         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11249         (NOTICE_UPDATE_CC): Cast to void.
11250         * ip2k.md: Add defaults in switch statements.
11251
11252 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11253
11254         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11255         issues.
11256
11257 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11258
11259         * config/sparc/t-netbsd64: Disable multilib for now.
11260
11261 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11262
11263         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11264         * target.h (gcc_target): Add have_srodata_section member.
11265         * varasm.c (section_category): Add SECCAT_SRODATA.
11266         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11267         READONLY_SDATA_SECTION defined.
11268         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11269         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11270         (default_unique_section_1): Likewise.
11271
11272 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11273
11274         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11275         into DImode pieces.
11276
11277         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11278         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11279         for floating-point register class.
11280         * pa.c (function_arg): Fix handling of modes wider than one word for
11281         TARGET_64BIT.
11282
11283 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11284
11285         * combine.c (make_compound_operation): Don't generate zero / sign
11286         extensions in floating point modes.
11287
11288 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11289
11290         * doc/c-tree.texi: Fix overfull hboxes.
11291         * doc/cppopts.texi: Ditto.
11292         * doc/extend.texi: Ditto.
11293         * doc/gty.texi: Ditto.
11294         * doc/invoke.texi: Ditto.
11295         * doc/makefile.texi: Ditto.
11296         * doc/rtl.texi: Ditto.
11297         * doc/standards.texi: Ditto.
11298         * doc/tm.texi: Ditto.
11299
11300 2002-09-04  Richard Henderson  <rth@redhat.com>
11301
11302         * c-common.c (builtin_define_with_hex_fp_value): New.
11303         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11304
11305 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11306
11307         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11308         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11309         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11310         Warn that these options can break ABI compatibility.
11311
11312 2002-09-04  Richard Henderson  <rth@redhat.com>
11313
11314         * real.c (ereal_to_decimal): Add digits parameter.
11315         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11316         * c-pretty-print.c (pp_c_real_literal): Update call.
11317         * print-rtl.c (print_rtx): Likewise.
11318         * print-tree.c (print_node_brief, print_node): Likewise.
11319         * sched-vis.c (print_value): Likewise.
11320         * config/arc/arc.c (arc_print_operand): Likewise.
11321         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11322         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11323         * config/i386/i386.c (print_operand): Likewise.
11324         * config/i960/i960.c (i960_print_operand): Likewise.
11325         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11326         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11327         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11328         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11329         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11330         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11331         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11332         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11333         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11334         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11335         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11336         * config/mips/mips.c (print_operand): Likewise.
11337         * config/ns32k/ns32k.c (print_operand): Likewise.
11338         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11339         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11340         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11341
11342 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11343
11344         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11345         xtensa_multibss_section_type_flags.
11346         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11347
11348 2002-09-04  Richard Henderson  <rth@redhat.com>
11349
11350         * doc/install-old.texi: Don't mention enquire.
11351         * doc/sourcebuild.texi: Update float.h description.
11352
11353 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11354
11355         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11356
11357 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11358
11359         * builtins.c (build_function_call_expr): Remove prototype, export
11360         as non-static and add a comment above function definition.
11361         (builtin_mathfn_code): New function to check for math builtins.
11362         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11363         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11364         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11365         log(sqrt(x)) as log(x)/2.0.
11366
11367         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11368         in new "builtins.c" section.  Place the build_range_type prototype
11369         with the other prototypes from "tree.c".
11370
11371         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11372         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11373         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11374         x/exp(y) as x*exp(-y).
11375
11376 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11377
11378         * varasm.c (default_section_type_flags): Append _1 to name with
11379         shlib parameter.  Use original name to call new function with
11380         implicit flag_pic.
11381         (decl_readonly_section): Likewise.
11382         (default_elf_select_section): Likewise.
11383         (default_unique_section): Likewise.
11384         (default_bind_local_p): Likewise.
11385         (categorize_decl_for_section): Add shlib parameter to use in place
11386         of implicit flag_pic.
11387         * output.h: Declare new functions with _1 and shlib argument.
11388
11389 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11390
11391         * doc/install.texi: Fix typos, formatting problems, and obvious
11392         overfull/underfull boxes.
11393
11394         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11395         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11396         include its file, compat.texi.
11397         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11398
11399 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11400
11401         Debian BTS Bug #157416
11402         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11403         * cpplib.c (destringize_and_run): Kludge around getting
11404         tokens from in-progress macros.
11405         (_cpp_do__Pragma): Simplify.
11406
11407 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11408
11409         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11410         (CPP_CPU_SPEC): Remove.
11411         (TARGET_CPU_CPP_BUILTINS): New.
11412         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11413         (CPP_SPEC): Remove.
11414         (TARGET_OS_CPP_BUILTINS): New.
11415         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11416         (TARGET_OS_CPP_BUILTINS): New.
11417         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11418         TARGET_OS_CPP_BUILTINS.
11419         (CPP_PREDEFINES): Remove.
11420         (CPLUSPLUS_CPP_SPEC): Remove.
11421         (TARGET_OS_CPP_BUILTINS): New.
11422
11423 2002-09-03  Richard Henderson  <rth@redhat.com>
11424
11425         * Makefile.in (USER_H): Add ginclude/float.h.
11426         (FLOAT_H): Remove.
11427         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11428         (mostlyclean): Don't remove float.h intermediate files.
11429         (distclean): Don't remove float.h.
11430         * config.gcc: Remove all float_format references.
11431         * configure.in (float_format, float_h_file): Remove.
11432
11433         * c-common.c: Include tree-inline.h.
11434         (builtin_define_with_int_value): New.
11435         (builtin_define_type_precision): Use it.
11436         (builtin_define_float_constants): New.
11437         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11438         __FLT_EVAL_METHOD__.
11439         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11440         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11441         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11442         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11443         (TARGET_FLT_EVAL_METHOD): New.
11444
11445         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11446         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11447         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11448         * ginclude/float.h: New.
11449
11450 2002-09-03  Stan Shebs  <shebs@apple.com>
11451
11452         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11453         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11454         (PREFERRED_DEBUGGING_TYPE): Ditto.
11455         (ASM_OUTPUT_IDENT): Remove empty definition.
11456
11457 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11458
11459         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11460         cxx_target.
11461         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11462         handling routine for builtin pragma.
11463         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11464         Registered pragma handling routine.
11465         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11466         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11467         If builtin pragma seen for math routine and C89 conformance is
11468         requested use different math function in order to set errno.
11469         * t-ia64 (ia64-c.o): Add new rule for new file.
11470
11471 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11472
11473         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11474         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11475         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11476
11477         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11478         "*movsf_ss"): Remove.
11479
11480 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11481
11482         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11483         Delete macros.
11484
11485 2002-09-03   Arati Dikey  <aratid@kpit.com>
11486
11487         * h8300.c (asm_file_start): Corrected optimization comment.
11488
11489 2002-09-03  Stan Shebs  <shebs@apple.com>
11490
11491         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11492         * c-tree.h (recognize_objc_keyword): Remove decl.
11493         * c-typeck.c (comp_target_types): Update a comment.
11494
11495 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11496
11497         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11498         and register validity checks.
11499         (general_s_operand): Adapt to s390_decompose_address interface change.
11500         (q_constraint): Likewise.
11501         (s390_expand_plus_operand): Likewise.
11502         (legitimiate_address_p): Likewise.
11503         (legitimate_la_operand_p): Likewise.
11504         (legitimize_la_operand): Likewise.
11505         (print_operand_address): Likewise.
11506         (print_operand): Likewise.
11507
11508 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11509
11510         PR objc/5956:
11511         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11512         was causing the new selector never to match the existing ones
11513         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11514
11515 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11516
11517         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11518
11519 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11520
11521         * expr.c (expand_expr): Remove extraneous comment and code.
11522
11523 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11524
11525         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11526         frontend. Take chain of fields. Allow NULL alignment type.
11527         * tree.h (finish_builtin_struct): Declare.
11528
11529 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11530
11531         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11532         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11533         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11534         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11535         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11536         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11537         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11538         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11539         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11540         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11541         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11542         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11543         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11544         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11545         config/rs6000/linux64.h config/rs6000/lynx.h
11546         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11547         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11548         config/sparc/sparc.c config/sparc/sysv4.h
11549         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11550         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11551         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11552
11553         * doc/tm.texi: Update docs.
11554         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11555         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11556
11557 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11558
11559         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11560         * arc.c (arc_internal_label): New function.
11561         (TARGET_ASM_INTERNAL_LABEL): Set.
11562         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11563         * arm.c (arm_internal_label): New function.
11564         (TARGET_ASM_INTERNAL_LABEL): Set.
11565         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11566         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11567         * i370.c (i370_internal_label): New function.
11568         (TARGET_ASM_INTERNAL_LABEL): Set.
11569         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11570         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11571         * m68k.c (m68k_hp320_internal_label): New function.
11572         (TARGET_ASM_INTERNAL_LABEL): Set.
11573         * m88k.c (m88k_internal_label): New function.
11574         (TARGET_ASM_INTERNAL_LABEL): Set.
11575         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11576         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11577         * genoutput.c (output_prologue): Include target.h in output file.
11578         * output.h (default_internal_label): Declare.
11579         * sdbout.c: Include target.h.
11580         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11581         TARGET_ASM_OUT.
11582         * target.h (internal_label): Add to struct gcc_target.
11583         * varasm.c (default_internal_label): New function.
11584
11585 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11586
11587         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11588         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11589         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11590         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11591         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11592         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11593         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11594         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11595         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11596         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11597         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11598         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11599         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11600         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11601         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11602         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11603         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11604         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11605         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11606         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11607         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11608         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11609         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11610         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11611         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11612         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11613         * mmix.c (mmix_asm_output_internal_label): Likewise.
11614         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11615         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11616         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11617         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11618         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11619         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11620         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11621         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11622         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11623         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11624         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11625         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11626         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11627         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11628         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11629         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11630         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11631         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11632         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11633
11634         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11635
11636 2002-08-31  Richard Henderson  <rth@redhat.com>
11637
11638         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11639
11640 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11641
11642         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11643
11644 2002-08-30  Richard Henderson  <rth@redhat.com>
11645
11646         PR opt/7515
11647         * c-objc-common.c: Include target.h.
11648         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11649         don't bind locally.  Factor setting DECL_UNINLINABLE.
11650         * Makefile.in (c-objc-common.o): Update.
11651
11652 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11653
11654         * doc/install.texi (Configuration, Building): Fix a typo and
11655         some formatting directives.
11656
11657 2002-08-30  Paul Koning <pkoning@equallogic.com>
11658
11659         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11660         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11661         implemented" note.
11662         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11663         for alphabetic order.
11664         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11665         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11666         (VAX_HALFWORD_ORDER): Document.
11667         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11668         IEEE float format.
11669         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11670         (ASM_OUTPUT_LABEL_REF): Fix font.
11671         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11672
11673 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11674
11675         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11676         stuff.
11677         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11678         CONST_DOUBLE constants.
11679
11680 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11681
11682         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11683         related defines to...
11684         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11685         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11686         as a no-op.
11687
11688 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11689
11690         * config/arm/arm.c (arm_asm_output_labelref): New function.
11691         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11692         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11693
11694 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11695
11696         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11697         memory exhausted" workarounds.
11698
11699 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11700
11701         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11702         * toplev.c (crash_signal): Likewise.
11703
11704 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11705
11706         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11707         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11708         Extended, updated documentation.
11709         (-Wundeclared-selector): Documented.
11710
11711 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11712
11713         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11714         the value 1.  Do not undef before defining.
11715         * config/darwin.h: Likewise.
11716         * config/dbx.h: Likewise.
11717         * config/dbxcoff.h: Likewise.
11718         * config/dbxelf.h: Likewise.
11719         * config/elfos.h: Likewise.
11720         * config/interix.h: Likewise.
11721         * config/lynx-ng.h: Likewise.
11722         * config/lynx.h: Likewise.
11723         * config/netware.h: Likewise.
11724         * config/psos.h: Likewise.
11725         * config/svr3.h: Likewise.
11726         * config/alpha/alpha.h: Likewise.
11727         * config/alpha/elf.h: Likewise.
11728         * config/alpha/vms.h: Likewise.
11729         * config/arc/arc.h: Likewise.
11730         * config/arm/aout.h: Likewise.
11731         * config/arm/coff.h: Likewise.
11732         * config/c4x/c4x.h: Likewise.
11733         * config/h8300/h8300.h: Likewise.
11734         * config/i386/cygwin.h: Likewise.
11735         * config/i386/djgpp.h: Likewise.
11736         * config/i386/gas.h: Likewise.
11737         * config/i386/gstabs.h: Likewise.
11738         * config/i386/i386-coff.h: Likewise.
11739         * config/i386/i386-interix.h: Likewise.
11740         * config/i386/sco5.h: Likewise.
11741         * config/i386/svr3dbx.h: Likewise.
11742         * config/i386/sysv3.h: Likewise.
11743         * config/i386/win32.h: Likewise.
11744         * config/i386/x86-64.h: Likewise.
11745         * config/i960/i960.h: Likewise.
11746         * config/ia64/ia64.h: Likewise.
11747         * config/ip2k/ip2k.h: Likewise.
11748         * config/m32r/m32r.h: Likewise.
11749         * config/m68k/3b1.h: Likewise.
11750         * config/m68k/3b1g.h: Likewise.
11751         * config/m68k/ccur-GAS.h: Likewise.
11752         * config/m68k/coff.h: Likewise.
11753         * config/m68k/hp2bsd.h: Likewise.
11754         * config/m68k/hp310g.h: Likewise.
11755         * config/m68k/hp320g.h: Likewise.
11756         * config/m68k/hp3bsd.h: Likewise.
11757         * config/m68k/hp3bsd44.h: Likewise.
11758         * config/m68k/linux-aout.h: Likewise.
11759         * config/m68k/m68k-aout.h: Likewise.
11760         * config/m68k/mot3300.h: Likewise.
11761         * config/m68k/netbsd.h: Likewise.
11762         * config/m68k/openbsd.h: Likewise.
11763         * config/m68k/pbb.h: Likewise.
11764         * config/m68k/plexus.h: Likewise.
11765         * config/m68k/sun2.h: Likewise.
11766         * config/m68k/sun3.h: Likewise.
11767         * config/m68k/tower-as.h: Likewise.
11768         * config/m68k/vxm68k.h: Likewise.
11769         * config/m88k/aout-dbx.h: Likewise.
11770         * config/m88k/m88k-aout.h: Likewise.
11771         * config/mcore/mcore-elf.h: Likewise.
11772         * config/mcore/mcore-pe.h: Likewise.
11773         * config/mips/elf.h: Likewise.
11774         * config/mips/elf64.h: Likewise.
11775         * config/mips/iris5gas.h: Likewise.
11776         * config/mips/iris6.h: Likewise.
11777         * config/mips/mips.h: Likewise.
11778         * config/mips/sni-gas.h: Likewise.
11779         * config/mmix/mmix.h: Likewise.
11780         * config/ns32k/netbsd.h: Likewise.
11781         * config/pa/pa64-hpux.h: Likewise.
11782         * config/romp/romp.h: Likewise.
11783         * config/rs6000/sysv4.h: Likewise.
11784         * config/rs6000/xcoff.h: Likewise.
11785         * config/sh/coff.h: Likewise.
11786         * config/sh/elf.h: Likewise.
11787         * config/sparc/linux64.h: Likewise.
11788         * config/sparc/liteelf.h: Likewise.
11789         * config/sparc/netbsd.h: Likewise.
11790         * config/sparc/openbsd.h: Likewise.
11791         * config/sparc/pbd.h: Likewise.
11792         * config/sparc/sp64-elf.h: Likewise.
11793         * config/sparc/sp86x-elf.h: Likewise.
11794         * config/sparc/sparc.h: Likewise.
11795         * config/vax/vax.h: Likewise.
11796         * config/vax/vaxv.h: Likewise.
11797
11798 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11799
11800         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11801         of HImode shifts.
11802         (get_shift_alg): Corresponding changes.
11803
11804 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11805
11806         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11807
11808 2002-08-29  Richard Henderson  <rth@redhat.com>
11809
11810         * expr.h (enum block_op_methods): New.
11811         (emit_block_move): Update prototype.
11812         * expr.c (block_move_libcall_safe_for_call_parm): New.
11813         (emit_block_move_via_loop): New.
11814         (emit_block_move): Use them.  New argument METHOD.
11815         (emit_push_insn): Always respect the given alignment.
11816         (expand_assignment): Update call to emit_block_move.
11817         (store_expr, store_field, expand_expr): Likewise.
11818         * builtins.c (expand_builtin_apply): Likewise.
11819         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11820         * function.c (expand_function_end): Likewise.
11821         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11822         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11823         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11824         (save_fixed_argument_area): Use emit_block_move with
11825         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11826         (restore_fixed_argument_area): Likewise.
11827         (store_one_arg): Fix alignment parameter to emit_push_insn.
11828
11829 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11830
11831         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11832
11833 2002-08-29  Catherine Moore  <clm@redhat.com>
11834
11835         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11836         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11837         (PREDICATE_CODES): Include new predicates.
11838         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11839         (TARGET_SWITCHES):  Add strict-align.
11840         (TARGET_STRICT_ALIGN): New.
11841         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11842         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11843         Define.
11844         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11845         v850_muldi3.
11846         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11847         L_callt_save_r2_r31, L_return_r2_r31,
11848         L_save_all_interrupt): Change addi to add.
11849         (L_save_interrupt, L_return_interrupt): Rework.
11850         (__return_r31):  Correct .size directive.
11851         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11852         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11853         New routines.
11854         * config/v850/v850.c (expand_prologue): Call
11855         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11856         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11857         (reg_or_int9_operand): New predicate.
11858         (reg_or_const_operand): New routine.
11859         * config/v850/v850.md (return_interrupt): Changed from
11860         restore_interrupt.
11861         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11862         (callt_save_interrupt): Change save sequence.
11863         (callt_return_interrupt): New.
11864         (save_interrupt): Don't use runtime function for LONG_CALLS
11865         and TARGET_PROLOG_FUNCTION.
11866         (save_all_interrupt): Likewise.
11867         (mulsi3): Use new predicate.
11868         (moviscc): Disallow some combination of constants.
11869         Fix define_split for sasf insns, so that it will not generate bad
11870         code if operand0 and operand5 are the same.
11871         * config/v850/v850-protos.h: Prototype new predicates.
11872
11873 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11874
11875         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11876         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11877
11878 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11879
11880         * c-common.c (builtin_define_type_precision): New function.
11881         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11882         wchar_t is unsigned in C++.
11883         * doc/cpp.texi (Common Predefined Macros): Document
11884         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11885         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11886         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11887
11888 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11889
11890         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11891         section.  Mention that it is enabled by -Wall.
11892         (-Wall): Mention that there can be language-specific warnings as well.
11893         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11894         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11895
11896 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11897
11898         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11899         if it is ever live.
11900
11901         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11902         attribute for SHCOMPACT.
11903
11904         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11905         appropriately.
11906         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11907         by the ABI.
11908
11909         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11910
11911 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11912
11913         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11914         "MASK_GAS|MASK_ABICALLS".
11915         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11916         (TARGET_DEFAULT): Remove.
11917         (MACHINE_TYPE): Undefine before defining.
11918         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11919
11920 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11921
11922         * c-common.c (warn_abi): New variable.
11923         * c-common.h (warn_abi): Likewise.
11924         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11925         (c_common_decode_option): Handle it.
11926         * doc/invoke.texi: Document -Wabi.
11927
11928 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11929
11930         * c-common.c (warn_undeclared_selector): New variable.
11931         * c-common.h (warn_undeclared_selector): Idem.
11932         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11933         to on when -Wundeclared-selector is found.
11934         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11935         * objc/objc-act.c (build_selector_expr): If
11936         warn_undeclared_selector is set, check that the selector has
11937         already been defined, and emit a warning if not.
11938
11939 2002-08-27  Nick Clifton  <nickc@redhat.com>
11940             Catherine Moore  <clm@redhat.com>
11941             Jim Wilson  <wilson@cygnus.com>
11942
11943         * config.gcc: Add v850e-*-* target.
11944         Add --with-cpu= support for v850.
11945         * config/v850/lib1funcs.asm: Add v850e callt functions.
11946         * config/v850/v850.h: Add support for v850e target.
11947         * config/v850/v850.c: Add functions to support v850e target.
11948         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11949         * config/v850/v850.md: Add patterns for v850e instructions.
11950         * doc/invoke.texi: Document new v850e command line switches.
11951
11952 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11953                           Aldy Hernandez <aldyh at redhat dot com>
11954
11955         * doc/tm.texi: Applied numerous fixes to the automaton based
11956         scheduler descrition.
11957
11958 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11959
11960         * i386.c (classify_argument): Handle variable sized objects.
11961
11962 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11963
11964         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11965
11966 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11967
11968         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11969
11970 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11971
11972         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11973
11974 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11975
11976         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11977         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11978         accordingly.
11979         (attribute insn_class): Provide default definitions based on type.
11980         Remove all insn-specific settings.
11981         (various function units): Remove old SH4 scheduling.
11982         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11983         New attributes.  Set them where appropriate.
11984         (cpu unit FS): Don't define / use.
11985         (F3, load_store): New cpu units.
11986         (F01): New reservation.
11987         (all insn_reservations): Make dependent on sh4 pipeline model.
11988         Fix latencies.
11989         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11990         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11991         (mt insn_reservation): Use type mt_group.
11992         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11993         sh4_fload and sh4_store.
11994         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11995         (insn_reservation branch_far): Replace with sh4_return.
11996         (insn_reservation return_from_exp): Rename to:
11997         (sh4_return_from_exp).  Change to be just d_lock*5.
11998         (insn_reservation lds_to_pr): Rename to:
11999         (sh4_lds_to_pr).  Change to be just d_lock*2.
12000         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
12001         d_lock*2.
12002         (insn_reservation prload_mem): Rename to:
12003         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
12004         (insn_reservation fpscr_store): Rename to:
12005         (fpscr_load).  Change to d_lock,nothing,F1*3.
12006         (insn_reservation fpscr_store_mem): Rename to:
12007         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
12008         (insn_reservation multi): Change to
12009         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
12010         (insn_reservation fp_arith): Change to issue,F01,F2.
12011         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
12012         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
12013         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
12014         (insn_reservation fp_double_cmp): Change to
12015         d_lock,(d_lock+F01),F1+F2,F2.
12016         (insn_reservation dp_div): Change to
12017         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
12018         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
12019         (sh_adjust_cost, SHcompact): Differentiate between different
12020         kinds of dependencies.  Drop factor of ten for superscalar.
12021         Use new instruction types.  Add new exception rules.
12022
12023         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
12024
12025         * sh.md (mperm_w): Add DONE.
12026
12027 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
12028
12029         * longlong.h: Import current PowerPC defintion from GMP-4.1.
12030
12031         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
12032
12033         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
12034
12035 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
12036
12037         * sh.h (MAX_FIXED_MODE_SIZE): Define.
12038
12039 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
12040
12041         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
12042         delimiter.
12043
12044 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12045
12046         * c-common.c (cpp_define_data_format): New function.
12047         (cb_register_builtins): Call it.
12048
12049         * doc/cpp.texi (Common Predefined Macros): Document
12050         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12051         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12052         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
12053         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
12054         __TARGET_USES_VAX_H_FLOAT__.
12055
12056 2002-08-26  Ziemowit Laski <zlaski@apple.com>
12057
12058         * objc/objc-act.c (get_super_receiver): If inside a class method
12059         of a category, cast the receiver to 'id' before accessing the 'isa'
12060         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
12061
12062 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
12063
12064         * config/s390/s390-protos.h (s390_function_prologue,
12065         s390_function_epilogue): Remove.
12066         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
12067         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
12068
12069         config/s390/s390.c (s390_machine_dependent_recorg): New function.
12070         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
12071         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
12072         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
12073         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
12074
12075         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
12076         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
12077         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
12078         function is not a leaf function.  Use save_gprs and restore_gprs.
12079         (s390_emit_epilogue): Likewise.
12080         (save_gprs, restore_gprs): New functions.
12081         (struct s390_frame): Remove return_reg_saved_p member.
12082         (save_fprs_p): Remove.
12083         (s390_optimize_prolog): New function.
12084         (s390_legitimate_reload_constant): Remove now unnecessary check.
12085
12086         (s390_function_count): Remove.
12087         (s390_output_symbolic_const): Replace s390_function_count by
12088         current_function_funcdef_no.
12089         (s390_output_constant_pool): Likewise.
12090
12091         (legitimize_pic_address): Use regs_ever_live to track PIC register
12092         instead of current_function_uses_pic_offset_table.
12093         (s390_emit_prologue): Likewise.
12094         config/s390/s390.md ("call", "call_value"): Likewise.
12095
12096 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
12097
12098         * c-opts.c (find_opt): Don't complain about wrong languages
12099         here.  Return exact matches even for wrong language.
12100         (c_common_decode_option): Complain about wrong languages
12101         here.
12102
12103 2002-08-24  Stuart Hastings  <stuart@apple.com>
12104
12105         * function.h (struct function): Add flag
12106         all_throwers_are_sibcalls.
12107         * except.c (set_nothrow_function_flags): Replaces
12108         nothrow_function_p. Set new flag.
12109         * except.h (set_nothrow_function_flags): Replaces
12110         nothrow_function_p.
12111         * dwarf2out.c (struct dw_fde_struct): Add flag
12112         all_throwers_are_sibcalls.
12113         (output_call_frame_info): Test it.
12114         (dwarf2out_begin_prologue) Propagate it from cfun to
12115         dw_fde_struct.
12116         * toplev.c (rest_of_compilation): Update calls to
12117         nothrow_function_p.
12118
12119 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12120
12121         * ggc-page.c (compute_inverse): Short circuit calculation for
12122         object sizes larger than half a page.
12123
12124 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12125
12126         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12127         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12128         default.
12129         (rs6000_elf_unique_section): Likewise.
12130
12131 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12132
12133         * ns32k.c (ns32k_globalize_label): Delete.
12134         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12135
12136 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12137
12138         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12139         for loading delta with num_insns_constant_wide.  Calculate
12140         delta_low, delta_high without using a conditional.
12141
12142 2002-08-22  Jason Merrill  <jason@redhat.com>
12143
12144         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12145         * c-common.def: Adjust.
12146         * c-dump.c (c_dump_tree): Adjust.
12147         * c-semantics.c (genrtl_return_stmt): Adjust.
12148         * c-pretty-print.c (pp_c_statement): Adjust.
12149         * tree-inline.c (copy_body_r): Adjust.
12150
12151 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12152
12153         * ggc-page.c: Avoid division in ggc_set_mark.
12154         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12155         compute_inverse): New.
12156         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12157         (init_ggc): Initialize inverse_table.
12158
12159 2002-08-22  Tom Tromey  <tromey@redhat.com>
12160
12161         * doc/install.texi (Configuration): Document --datadir.
12162
12163 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12164
12165         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12166
12167 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12168
12169         * gengtype-lex.l (ID): Allow underscore as first character.
12170
12171 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12172
12173         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12174         function.
12175         (rs6000_xcoff_asm_named_section): Rename.
12176         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12177
12178 2002-08-21  Tom Tromey  <tromey@redhat.com>
12179
12180         For PR java/6005 and PR java/7611:
12181         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12182         (fold): Likewise.
12183         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12184         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12185         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12186         (LANG_HOOKS_INITIALIZER): Use it.
12187         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12188         field.
12189
12190 2002-08-21  Stan Shebs  <shebs@apple.com>
12191
12192         * tree.c (finish_vector_type): Fix a typo in a comment.
12193         * Makefile.in: Fix "the the" stutters in comments.
12194         * genautomata.c: Ditto.
12195         * ifcvt.c: Ditto.
12196         * regrename.c: Ditto.
12197         * config/alpha/alpha.c: Ditto.
12198         * config/alpha/vms-crt0-64.c: Ditto.
12199         * config/alpha/vms-crt0.c: Ditto.
12200         * config/alpha/vms-psxcrt0-64.c: Ditto.
12201         * config/alpha/vms-psxcrt0.c: Ditto.
12202         * config/d30v/d30v.h: Ditto.
12203         * config/fr30/fr30.h: Ditto.
12204         * config/rs6000/rs6000.c: Ditto.
12205         * config/stormy16/stormy16.h: Ditto.
12206         * doc/md.texi: Ditto.
12207
12208 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12209
12210         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12211
12212 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12213
12214         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12215         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12216         Also make duplicate modifiers such as "short short" into hard
12217         errors.
12218
12219 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12220             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12221
12222         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12223         to the actual end.  Add '@end table' and '@table @code'.
12224
12225 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12226
12227         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12228
12229         * unroll.c (biv_total_increment): Don't try to compute the total
12230         increment for FP BIVs.
12231
12232 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12233
12234         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12235         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12236         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12237         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12238         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12239         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12240         (GLOBAL_ASM_OP): Define.
12241         * arm.c (aof_globalize_label): New function.
12242         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12243         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12244         * c4x.c (c4x_globalize_label): New function.
12245         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12246         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12247         (GLOBAL_ASM_OP): Define.
12248         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12249         * darwin-protos.h (darwin_globalize_label): Declare.
12250         * darwin.c (darwin_globalize_label): New function.
12251         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12252         (ASM_GLOBALIZE_LABEL): Delete.
12253         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12254         * dsp16xx.c (asm_output_common): Use target hook.
12255         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12256         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12257         (GLOBAL_ASM_OP): Define.
12258         * i370.c (i370_globalize_label): New function.
12259         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12260         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12261         * i386.c (ix86_asm_file_end): Use target hook.
12262         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12263         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12264         * ia64.c (ia64_asm_output_external): Likewise.
12265         * ia64/sysv4.h: Update comment.
12266         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12267         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12268         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12269         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12270         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12271         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12272         * mmix.c (mmix_asm_globalize_label): Likewise.
12273         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12274         (GLOBAL_ASM_OP): Define.
12275         * ns32k.c (ns32k_globalize_label): New function.
12276         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12277         (ASM_GLOBALIZE_LABEL): Delete.
12278         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12279         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12280         * pa.c (pa_globalize_label): New function.
12281         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12282         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12283         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12284         (GLOBAL_ASM_OP): Define.
12285         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12286         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12287         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12288         (GLOBAL_ASM_OP): Define.
12289         * v850.c (v850_output_aligned_bss): Use target hook.
12290         * vax.c (vms_globalize_label): New function.
12291         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12292         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12293         (GLOBAL_ASM_OP): Define.
12294         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12295         * doc/tm.texi: Update docs.
12296         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12297         target hook.
12298         * final.c (output_alternate_entry_point): Likewise.
12299         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12300         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12301         * output.h (assemble_global): Delete.
12302         (default_globalize_label): Declare.
12303         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12304         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12305         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12306         * target.h (gcc_target): Add globalize_label member.
12307         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12308         globalize_decl): Use target hook.
12309         (assemble_global): Delete.
12310         (default_globalize_label): New function.
12311
12312 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12313
12314         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12315
12316 2002-08-20  Devang Patel  <dpatel@apple.com>
12317         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12318
12319 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12320
12321         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12322         * arm.c (thumb_output_function_prologue): Likewise.
12323         * avr.c (print_operand): Likewise.
12324         * c4x.c (c4x_print_operand): Likewise.
12325         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12326         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12327         * cris.c (cris_target_asm_function_prologue,
12328         cris_asm_output_mi_thunk): Likewise.
12329         * h8300.c (print_operand): Likewise.
12330         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12331         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12332         * m68hc11.c (asm_print_register, print_operand,
12333         print_operand_address): Use stdio instead of asm_fprintf.
12334         (print_operand_address): Fix format specifier.
12335         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12336         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12337         asm_fprintf.
12338         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12339         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12340         * m68k.c (m68k_output_function_prologue,
12341         m68k_output_function_epilogue, print_operand): Likewise.
12342         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12343         Likewise.  Fix format specifier.
12344         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12345         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12346         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12347
12348 2002-08-15  Eric Christopher  <echristo@redhat.com>
12349             Jeff Knaggs  <jknaggs@redhat.com>
12350
12351         * config.gcc (mipsisa64sr71k-elf): New target.
12352         * config/mips/sr71k.md: New file.
12353         * config/mips/mips.md: Use it.
12354         (rot*): Add sr71k specifics.
12355         * config/mips/t-sr71k: New file.
12356         * config/mips/mips.h (sr71k): New cpu.
12357         (TARGET_SR71K): Use it.
12358         (TUNE_SR71K): Ditto.
12359         (GENERATE_BRANCHLIKELY): Ditto.
12360         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12361         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12362         * config/mips/mips.c (sr71k): New cpu.
12363         (mips_use_dfa_pipeline_interface): Use.
12364
12365 2002-08-15  Eric Christopher  <echristo@redhat.com>
12366             Richard Sandiford <rsandifo@redhat.com>
12367             Aldy Hernandez  <aldyh@redhat.com>
12368             Graham Stott    <grahams@redhat.com>
12369             Michael Meissner  <meissner@redhat.com>
12370             Gavin Romig-Koch  <gavin@redhat.com>
12371             Ken Raeburn  <raeburn@cygnus.com>
12372             Alexandre Oliva <aoliva@redhat.com>
12373
12374         * config.gcc (mips64vr-elf): New target.
12375         * config/mips/5400.md: New file.
12376         * config/mips/5500.md: Ditto.
12377         * config/mips/mips.md: Use them.
12378         (frsqrt): New.
12379         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12380         cpus.
12381         (mips_issue_rate): Use them.
12382         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12383         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12384         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12385         cpus.
12386         (TARGET_MIPSx): Use them.
12387         (TUNE_MIPSx): Ditto.
12388         (GETNATE_MULT3_SI): Ditto.
12389         (ISA_HAS_BRANCHLIKELY): Ditto.
12390         (ISA_HAS_CONDMOVE): Ditto.
12391         (ISA_HAS_NMADD_NMSUB): Ditto.
12392         (ISA_HAS_MULHI): New. Ditto.
12393         (ISA_HAS_MULS): Ditto.
12394         (ISA_HAS_MSAC): Ditto.
12395         (ISA_HAS_MACC): Ditto.
12396         (ISA_HAS_ROTR_SI): Ditto.
12397         (ISA_HAS_ROTR_DI): Ditto.
12398         (RTX_COSTS): Use.
12399
12400 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12401
12402         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12403         at head.
12404         (remove_dup_nonsys_dirs): New function.
12405         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12406         (merge_include_chains): Remove non-system include directories from
12407         quote and bracket include chains when they duplicate equivalent system
12408         directories.
12409         * doc/cpp.texi (-I): Update.
12410         * doc/cppopts.texi (-I): Update.
12411         * doc/install.texi (--with-local-prefix): Further document usage of
12412         this option.
12413         * doc/invoke.texi (-I): Update.
12414
12415 2002-08-20  Richard Henderson  <rth@redhat.com>
12416
12417         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12418         (emit_block_move): Split out subroutines.
12419         (emit_block_move_via_movstr): New.
12420         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12421         (emit_block_move_libcall_fn): New.  Construct function prototype for
12422         bcopy as well.
12423         (clear_storage): Split out subroutines.
12424         (clear_storage_via_clrstr): New.
12425         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12426         (clear_storage_libcall_fn): New.  Construct function prototype for
12427         bzero as well.
12428         (emit_push_insn): Use emit_block_move.
12429         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12430         (store_constructor): Likewise.
12431
12432 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12433
12434         * objc/objc-act.c (building_objc_message_expr): Rename to
12435         current_objc_message_selector.
12436
12437 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12438
12439         * objc/objc-act.c (build_ivar_chain): Remove.
12440         (objc_copy_list): Likewise.
12441         (get_class_ivars): Inline call to removed build_ivar_chain
12442         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12443         slot; use that slot (rather than CLASS_IVARS) when accessing
12444         ivars for base classes.  Call copy_list and chainon instead of
12445         objc_copy_list.
12446         (build_private_template): Call get_class_ivars instead of
12447         build_ivar_chain.
12448         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12449         (continue_class): Call get_class_ivars instead of
12450         build_ivar_chain.
12451         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12452         of DECL_BIT_FIELD (which may have been cleared).
12453         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12454
12455 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12456
12457         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12458         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12459         in output file.
12460         (output_internal_min_issue_delay_func): Initialize variable in
12461         output file.
12462
12463 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12464
12465         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12466         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12467
12468 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12469             Steve Ellcey  <sje@cup.hp.com>
12470
12471         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12472         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12473         * explow.c (trunc_int_for_mode): Abort when the mode is not
12474         a scaler integer mode.
12475         * combine.c (expand_compound_operation): Don't expand Vector
12476         or Complex modes into shifts.
12477         (expand_field_assignment): Don't do bitwise arithmatic and
12478         shifts on Vector or Complex modes.
12479         (simplify_comparison): Don't call trunc_int_for_mode
12480         for VOIDmode.
12481         * recog.c (general_operand): Likewise.
12482         (immediate_operand): Likewise.
12483         (nonmemory_operand): Likewise.
12484
12485 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12486
12487         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12488         multi-instruction SImode constant.  Add REG_EQUAL note.
12489         * config/rs6000/rs6000.md (movsi splitter): Use
12490         rs6000_emit_set_const.
12491
12492 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12493
12494         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12495         the macro test controlling its use.
12496
12497 2002-08-18  H.J. Lu  (hjl@gnu.org)
12498
12499         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12500         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12501         gnu_ld=yes.
12502         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12503         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12504         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12505         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12506         here.
12507         (cris-*-linux*): Remove setting thread_file here.
12508
12509 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12510
12511         PR preprocessor/7602
12512         * cppinit.c (path_include): Treat the system environment
12513         variables as being cxx_aware.
12514
12515 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12516
12517         * c-decl.c (flexible_array_type_p): New function.
12518         (grokdeclarator, finish_struct): Use it.
12519         * doc/extend.texi: Document constraints on use of structures with
12520         flexible array members.
12521
12522 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12523
12524         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12525         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12526         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12527
12528 2002-08-16  Stan Shebs  <shebs@apple.com>
12529
12530         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12531         for ObjC with -fnext-runtime.
12532         * doc/cpp.texi: Document it.
12533
12534 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12535
12536         * doc/install.texi (Final installation): Replace links to individual
12537         build status pages with a link to a common page that lists them all.
12538
12539 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12540
12541         * doc/invoke.texi: Fix typo.
12542
12543 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12544
12545         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12546
12547 2002-08-16  Andrew Haley  <aph@redhat.com>
12548
12549         * tree-inline.c: Add includes for Java inliner.
12550         (remap_decl): Don't handle anonymous types for Java.
12551         (remap_block): Add handling for Java trees.
12552         (copy_scope_stmt): Conditionalize for non-Java use only.
12553         (copy_body_r): Handle Java trees.  Add handling for
12554         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12555         (initialize_inlined_parameters):  Handle Java trees.
12556         (declare_return_variable): Likewise.
12557         (expand_call_inline): Handle Java trees.
12558         (walk_tree): Likewise.
12559         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12560         (add_stmt_to_compound): New function.
12561
12562 2002-08-15  Richard Henderson  <rth@redhat.com>
12563
12564         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12565         (NOCOMMON_FLAG): New substitution point.
12566         (GCC_WARN_CFLAGS): Include it.
12567         * configure.in (ac_checking): Set nocommon_flag.
12568         (nocommon_flag): New substitution point.
12569
12570 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12571
12572         * c-tree.h (skip_evaluation): Move declaration...
12573         * c-common.h: ... here.
12574         * c-typeck.c (build_external_ref): Don't assemble_external nor
12575         mark a tree as used if skip_evaluation is set.
12576         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12577         around TYPEOF.
12578         (typespec_nonreserved_nonattr): Use it.
12579
12580 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12581
12582         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12583         (xcoff_debug_hooks): Update end_prologue.
12584         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12585         * debug.h (end_prologue): Add file arg.
12586         (end_epilogue): Add line and file args.
12587         (dwarf2out_end_epilogue): Add line and file args.
12588         (vmsdbgout_after_prologue): Remove.
12589         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12590         (dwarf2_debug_hooks): Update end_prologue.
12591         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12592         (dwarfout_end_prologue): Add file arg.
12593         * final.c (vmsdbgout_after_prologue): Remove
12594         (final_end_function): Update end_epilogue call.
12595         (final_scan_insn): Update end_prologue call.
12596         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12597         (sdbout_end_prologue): Add file arg.
12598         (sdb_debug_hooks): Update end_prologue.
12599         (sdb_begin_prologue): Update sdbout_end_prologue call.
12600         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12601         vmsdbgout_end_function.
12602         (vmsdbgout_end_prologue): New function renamed from
12603         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12604         (vmsdbgout_end_function): New function.
12605         (vmsdbgout_end_epilogue): Add line and file args. Call
12606         vmsdbgout_source_line.
12607         (write_pclines): Write only valid line numbers.
12608         (write_srccorr): Don't write source correlation records if 0 lines.
12609         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12610
12611 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12612
12613         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12614         (_Unwind_Internal_Ptr): 32 bit version for use in
12615         read_encoded_value_with_base.
12616         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12617         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12618         right size.
12619
12620 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12621
12622         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12623         signed/unsigned warnings.
12624
12625         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12626         record_reg_classes): Likewise.
12627
12628         * reload.c (reload_inner_reg_of_subreg, push_reload,
12629         find_reloads_address_1): Likewise.
12630
12631 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12632
12633         * rs6000.c (output_mi_thunk): Return to function section on
12634         TARGET_ELF.
12635
12636         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12637
12638 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12639
12640         * config/s390/s390.c (legitimize_address): Optimize loading
12641         of large displacements.
12642
12643 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12644
12645         * config/alpha/alpha-protos.h: Update.
12646
12647         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12648         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12649         (alpha_linkage_symbol_p): New static function.
12650         (print_operand_address): Print linkage operand.
12651
12652         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12653         variables.
12654         (reloc_kind): New enum.
12655         (struct alpha_funcs): New struct.
12656         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12657
12658         (alpha_need_linkage): Rewrite.
12659         (alpha_use_linkage): New global function.
12660         (alpha_write_linkage): Rewrite and make static.
12661         (alpha_write_one_linkage): Rewrite
12662
12663         (alpha_start_function): Remove procedure descriptor output.
12664         (alpha_end_function): Write linkages at end of each function.
12665
12666         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12667         (call_vms_1, call_value_vms_1): Rewrite.
12668
12669         * config/alpha/vms.h (ASM_FILE_END): Remove.
12670
12671 2002-08-14  Richard Henderson  <rth@redhat.com>
12672
12673         * ggc-page.c (RTL_SIZE): New.
12674         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12675         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12676
12677 2002-08-14  Richard Henderson  <rth@redhat.com>
12678
12679         * calls.c: Include target.h.
12680         * Makefile.in (calls.o): Update.
12681
12682         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12683         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12684
12685 2002-08-14  Richard Henderson  <rth@redhat.com>
12686
12687         * Makefile.in (LOOSE_WARN): Add -fno-common.
12688         * c-common.h (constant_string_class_name): Add missing extern.
12689
12690 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12691
12692         PR preprocessor/7358
12693         * c-opts.c (check_deps_environment_vars): Ignore main file
12694         for SUNPRO_DEPENDENCIES.
12695         * cppfiles.c (stack_include_file): Ignore main file if
12696         appropriate.
12697         * cpplib.h (struct cpp_options): New member in deps.
12698         * doc/cppenv.texi: Update.
12699
12700 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12701
12702         PR preprocessor/7526
12703         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12704
12705 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12706
12707         * doc/invoke.texi (-a): Remove documentation.
12708         (-fprofile-arcs): Remove reference to -a, -ax options.
12709         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12710
12711 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12712
12713         Fix PR/7566
12714         * c-semantics.c (genrtl_case_label): Don't (mis)use
12715         warning_with_decl.
12716
12717 2002-08-14  Dale Johannesen  <dalej@apple.com>
12718
12719         * explow.c (emit_stack_restore):  Emit memory clobbers
12720         preceding the stack pop, to prevent the scheduler from
12721         moving refs to variable arrays below this pop.
12722         * reload1.c (reload):  Preserve these clobbers for sched2.
12723         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12724
12725 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12726
12727         * c-opts.c (c_common_post_options): Correct test.
12728
12729 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12730
12731         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12732         order in call to fprintf.
12733
12734 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12735
12736         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12737
12738 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12739
12740         * reload.c (find_reloads): Handle constraint letters marked by
12741         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12742         (alternative_allows_memconst): Likewise.
12743         * reload1.c (maybe_fix_stack_asms): Likewise.
12744         * recog.c (asm_operand_ok, preprocess_constraints,
12745         constrain_operands): Likewise.
12746         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12747         * local-alloc.c (block_alloc, requires_inout): Likewise.
12748         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12749
12750         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12751         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12752         * doc/tm.texi: Document these two new target macros.
12753
12754         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12755         valid operands.
12756         (q_constraint): New function.
12757         config/s390/s390-protos.h (q_constraint): Declare it.
12758         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12759         (EXTRA_MEMORY_CONSTRAINT): New macro.
12760
12761         * config/s390/s390.md: Throughout the machine description,
12762         replace all instances of the constraint combinations 'Qo'
12763         or 'oQ' with simply 'Q'.
12764
12765 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12766
12767         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12768         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12769         (LIBGCC2_CFLAGS): Compile with -mrelax.
12770
12771 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12772
12773         * doc/invoke.texi: Document -minmax for 68HC12.
12774
12775         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12776         ("uminqi3"): Likewise.
12777         ("uminhi3", "umaxhi3"): Likewise.
12778
12779         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12780         (TARGET_MIN_MAX): Define.
12781         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12782
12783 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12784
12785         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12786         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12787
12788         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12789         (ret, declare, farsym): New gas macros.
12790         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12791         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12792         and declare the symbol far when compiled with -mlong-calls.
12793         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12794         far handler using jsr/bsr.
12795
12796         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12797         (jsr): New macro to transform a 'jsr' into a 'call'.
12798
12799 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12800
12801         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12802
12803         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12804         -mlong-calls is specified.
12805         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12806         assembler directives.
12807         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12808         (TARGET_SWITCHES): Add -mlong-calls options.
12809         (current_function_far): Declare.
12810
12811         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12812         into account the page register saved on the stack.
12813         (m68hc11_override_options): Take into account -mlong-calls option.
12814         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12815
12816         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12817         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12818         ("*return_16bit"): Likewise.
12819         ("*return_void"): Likewise.
12820         ("call", "call_value"): Use call for a far function call.
12821
12822 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12823
12824         * toplev.c (parse_options_and_default_flags): Don't call
12825         post_options here.
12826         (general_init): Initialize GC, pools and tree hash here,
12827         instead of lang_independent_init.
12828         (lang_independent_init): Rename backend_init.
12829         (do_compile): Call post_options hook; exit early if there
12830         have been errors after switch processing.
12831         (toplev_main): Update.
12832
12833 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12834
12835         * c-pretty-print.h: Guard against multiple inclusion.
12836         Robustify macros.
12837         (pp_c_attributes): Declare.
12838         * c-pretty-print.c (pp_c_attributes): New function.
12839
12840 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12841
12842         * m68k.c (m68k_output_function_prologue,
12843         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12844         and NEWS/MOTOROLA.
12845         * genattrtab.c: Remove dpx2 comment.
12846         * libgcc2.c (__enable_execute_stack): Delete versions for
12847         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12848         sony_news/SYSTYPE_BSD.
12849         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12850         __gmicro__, __i860__, __NeXT__ and __pyr__.
12851         * rtl.h: Remove convex comment.
12852         * varasm.c: Likewise.
12853
12854 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12855
12856         * c-opts.c (lang_flags): Const-ify.
12857         * ra-build.c (undef_table): Likewise.
12858         * ra.c (eliminables): Likewise.
12859
12860 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12861
12862         * tree.h: Guard against multiple inclusion.
12863
12864 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12865
12866         * reload1.c (reload_cse_simplify): Before checking
12867         REG_FUNCTION_VALUE_P, check REG_P.
12868
12869 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12870
12871         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12872
12873 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12874
12875         * c-opts.c (c_common_init_options): Extra braces needed.
12876
12877 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12878
12879         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12880         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12881         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12882         (sh_expand_binop_v2sf): Likewise.
12883         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12884         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12885         (sh_initialize_trampoline): Likewise.
12886
12887 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12888
12889         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12890         new condition code modes.
12891         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12892         (s390_select_ccmode): Likewise.
12893         (s390_branch_condition_mask): Likewise.
12894
12895         * s390-protos.h (s390_tm_ccmode): Declare.
12896         s390.c (s390_tm_ccmode): New function.
12897         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12898
12899         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12900         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12901         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12902
12903         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12904         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12905         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12906         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12907         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12908
12909         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12910         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12911         "*cmpqi_ccs_0"): Remove, replace by ...
12912         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12913         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12914         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12915
12916         ("*cmpsidi_ccs"): Remove, replace by ...
12917         ("*cmpsi_ccs_sign"): ... this new pattern.
12918         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12919
12920         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12921         ("*cli"): ... this new pattern.
12922
12923         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12924         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12925         New patterns.
12926         ("adddi3_64"): Rename to "*adddi3_64".
12927         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12928         ("adddi3"): Adapt expander.
12929
12930         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12931         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12932         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12933
12934         ("addhi3", "addqi3"): Remove, replace by ...
12935         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12936
12937         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12938         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12939         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12940         ("subdi3"): New expander.
12941
12942         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12943
12944         ("subhi3", "subqi3"): Remove, replace by ...
12945         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12946
12947         ("*muldi3_sign"): New pattern.
12948         ("muldi3"): Do not clobber CC.
12949         ("mulsi3"): Likewise.
12950         ("mulsi_6432"): Likewise.
12951
12952 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12953
12954         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12955         which can change CC0.
12956
12957 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12958
12959         * gcse.c (adjust_libcall_notes): New function.
12960         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12961
12962 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12963
12964         * libgcc2.c (L_bb): Remove unneeded #includes.
12965         (__global_counters, __gthreads_active): Remove unused globals.
12966         (__bb_exit_func): Merge counts into files rather than appending.
12967         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12968         (ALL_CFLAGS): ... to here.
12969
12970 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12971
12972         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12973         (function_epilogue): Don't calculate function size.
12974         (ip2k_set_compare): Don't use lookup_const_double.
12975         (asm_file_start): Initialization of commands_in_file removed.
12976         (asm_file_end): Output of commands_in_file removed.
12977
12978         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12979         __INT_MAX__.
12980
12981 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12982
12983         * c-opts.c (c_common_init_options): Check option array is
12984         sorted if checking enabled.
12985
12986 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12987
12988         * c-pretty-print.c: #include "c-tree.h".
12989         (pp_c_simple_type_specifier): Tweak.
12990         (pp_c_storage_class_specifier): New.
12991         (pp_c_function_specifier): Likewise.
12992         (pp_c_declaration_specifiers): Likewise.
12993         (pp_c_init_declarator): Likewise.
12994         (pp_c_declaration): Likewise.
12995         (pp_c_direct_declarator): Stub.
12996         (pp_c_declarator): Likewise.
12997         (pp_c_parameter_declaration): Likewise.
12998
12999 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
13000
13001         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
13002         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
13003         struct deferred_opt): New.
13004         (COMMAND_LINE_OPTIONS): Add -M*.
13005         (missing_arg): Update.
13006         (c_common_decode_option): Handle -M*.
13007         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
13008         don't call cpp_post_options.
13009         (c_common_finish, check_deps_environment_vars): Update.
13010         * cppfiles.c (stack_include_file, handle_missing_header): Update.
13011         * cpphash.h (CPP_PRINT_DEPS): Remove.
13012         * cppinit.c: Don't include version.h.
13013         (cpp_create_reader): Don't call deps_init.  Initialize
13014         warn_long_long.
13015         (cpp_read_main_file): Init deps if necessary.
13016         (cpp_destroy): Conditionally free deps.
13017         (cpp_finish): Update.
13018         (no_tgt): Remove.
13019         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
13020         (cpp_post_options): Rename post_options.
13021         * cpplib.h (struct cpp_options): Remove some dependency options;
13022         move others to a new structure.
13023         (cpp_post_options): Remove.
13024         (cpp_finish): Comment.
13025         * fix-header.c (read_scan_file): Don't call cpp_post_options.
13026
13027 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13028
13029         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
13030         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
13031         MMIX_rR_REGNUM as clobbered.
13032         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
13033
13034 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
13035
13036         * diagnostic.h (output_formatted_scalar): Rename from
13037         output_formatted_integer.
13038         * diagnostic.def: Add DK_DEBUG.
13039         * diagnostic.c (output_decimal): Adjust.
13040         (output_long_decimal): Likewise.
13041         (output_unsigned_decimal): Likewise.
13042         (output_octal): Likewise.
13043         (output_long_octal): Likewise.
13044         (output_hexadecimal): Likewise.
13045         (output_long_hexadecimal): Likewise.
13046         * c-pretty-print.c (pp_c_type_specifier): New function.
13047         (pp_c_specifier_qualifier_list): Likewise.
13048         (pp_c_abstract_declarator): Likewise.
13049         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
13050
13051 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
13052
13053         * doc/trouble.texi (Disappointments): Add static constructor and
13054         destructor dependency information for AIX.
13055
13056 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13057
13058         * cpphash.h (struct printer): New from cppmain.c.
13059         (cpp_reader): New member.
13060         * cppmain.c (struct printer): Move to cpphash.h.
13061         (options, print): Remove.
13062         (account_for_newlines, print_line, maybe_print_line,
13063         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
13064         scan_translation_unit_trad, cb_line_change, cb_ident,
13065         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
13066         cb_def_pragma): Make reentrant.
13067
13068 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13069
13070         * real.c (ieee_64): Always define.
13071         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13072         (dec_h): Not used yet, hide it.
13073         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
13074         macro controlling use.
13075         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
13076
13077 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13078
13079         * i386.md (tablejump): Sign extend the operand.
13080         * i386.c (classify_argument): Fix missed case from previous patch.
13081
13082 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
13083
13084         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
13085         to c-copts.c.
13086         (warn_multichar): Die.
13087         (cb_register_builtins): Export.
13088         * c-common.h (warn_multichar, preprocess_file): Remove.
13089         (cb_register_builtins): New.
13090         * c-lang.c (c_init): Remove.
13091         (LANG_HOOKS_INIT): Use c_objc_common_init.
13092         * c-lex.c (init_c_lex): Don't canonicalize filename.
13093         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
13094         (preprocess_file): Make static.  Update for cpplib.
13095         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
13096         (c_common_post_options): Set some cpp options here.
13097         (c_common_init): Move from c-common.c.
13098         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
13099         * cpplib.h (struct cpp_options): Remove in_fname.
13100         (cpp_preprocess_file): Update.
13101         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
13102
13103 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13104
13105         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
13106
13107 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13108
13109         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13110         backslash in comment preceeding macro definition.
13111         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13112         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13113         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13114
13115 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13116
13117         * expr.c (store_expr): In condition for checking if value is
13118         generated in TARGET, move call to expr_size last.
13119
13120 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13121
13122         * c-common.c (c_common_init): Call preprocess_file instead.
13123         (c_common_finish): Move to c-opts.c.
13124         * c-common.h (preprocess_file): new.
13125         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13126         check_deps_environment_vars, c_common_finish): New.
13127         (c_common_decode_option): Update for out_fname and dependencies.
13128         * cppinit.c (init_dependency_output, output_deps): Remove.
13129         (cpp_destroy): Update prototype.
13130         (cpp_add_dependency_target): New.
13131         (cpp_read_main_file): Don't overlay a buffer.
13132         (cpp_finish): Take a deps output stream and write deps to it.
13133         Return the error count.
13134         (cpp_post_options): Don't canonicalize out_fname, or do anything
13135         with dependencies.
13136         * cpplib.h (struct cpp_options): Remove out_fname and
13137         preprocess_only.
13138         (cpp_add_dependency_target): New.
13139         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13140         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13141         set preprocess_only.  Don't handle the output stream directly.
13142
13143 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13144
13145         * dsp16xx.c (print_operand): Fix format specifier.
13146         * dsp16xx.md: Avoid automatic aggregate initialization.
13147         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13148         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13149         integer constant modifier.
13150         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13151         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13152         guards.
13153         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13154         * v850.c (v850_select_section): Mark parameter with
13155         ATTRIBUTE_UNUSED.
13156         * global.c (global_alloc): Const-ify.
13157         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13158
13159 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13160
13161         * darwin-c.c (darwin_pragma_options): Const-ify.
13162         * darwin.c (machopic_non_lazy_ptr_name,
13163         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13164         (machopic_indirect_data_reference): Wrap variables in macros
13165         controlling their use.
13166         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13167         (machopic_select_section): Use parentheses around && within ||.
13168         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13169
13170 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13171
13172         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13173         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13174         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13175         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13176         mdr_try_remove_redundant_insns, track_w_reload,
13177         mdr_try_wreg_elim): Make function static to match prototype.
13178         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13179         parameter with ATTRIBUTE_UNUSED.
13180
13181 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13182
13183         * arc.c (arc_init): Don't use ISO C style function definitions.
13184         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13185         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13186         * avr.h (progmem_section): Likewise.
13187         * h8300.c h8300_asm_insn_count): Likewise.
13188         * m32r.c (init_idents): Likewise.
13189         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13190         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13191         * xtensa.c (xtensa_build_va_list): Likewise.
13192
13193 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13194
13195         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13196         * c-opts.c (parse_option): Rename find_opt.
13197         (set_std_c99): New function.
13198         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13199         (missing_arg): Remove OPT_std_bad.  Handle -o.
13200         (c_common_decode_option): Handle input and output file names,
13201         -o and -remap.  Clean up -std= handling.
13202         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13203         (cpp_handle_option): Similarly.  Don't handle filenames.
13204
13205 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13206
13207         * i386.c (classify_argument): Fix computing of field's offsets.
13208
13209 2002-08-11  Andreas Jaeger  <aj@suse.de>
13210
13211         PR target/7531:
13212         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13213
13214 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13215
13216         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13217         reference to clk_objective_c with flag_objc.
13218         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13219         Likewise.
13220         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13221
13222 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13223
13224         * c-opts.c (set_std_cxx98, set_std_c89): New.
13225         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13226         (c_common_decode_option): Handle new switches from cppinit.c.
13227         Add -std=gnu++98.
13228         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13229         (no_arg, no_num): Remove.
13230         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13231         switches apart from -lang-objc and lang-asm.
13232         (cpp_handle_option): Similarly.
13233         * cpplib.h (cpp_set_lang): New.
13234         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13235         -std=gnu++98.
13236         * objc/lang-specs.h: Remove -ansi.
13237
13238 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13239                                Graham Stott
13240
13241         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13242         errors.
13243
13244 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13245
13246         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13247         emit_jump_insn): Fix uninitialized variable.
13248         * gcov.c (init_line_info): Likewise.
13249         * genautomata.c (transform_3): Add braces around ambiguous
13250         else.
13251         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13252         ATTRIBUTE_UNUSED.
13253         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13254         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13255         variable.
13256
13257         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13258         warnings in output files.
13259
13260 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13261
13262         * c-common.c (flag_objc): New.
13263         * c-common.h (c_language_kind): Get rid of clk_objective_c
13264         enum value.
13265         (flag_objc): New extern declaration.
13266         * c-decl.c (implicitly_declare): Call objc_check_decl
13267         instead of maybe_objc_check_decl.
13268         (finish_decl): Likewise.
13269         (grokfield): Likewise.
13270         (finish_struct): Likewise.
13271         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13272         (maybe_objc_comptypes): Rename to objc_comptypes.
13273         (maybe_building_objc_message_expr): Rename to
13274         objc_message_selector.
13275         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13276         replace with flag_objc as needed.
13277         * c-opts.c (c_common_init_options): Likewise.
13278         (c_common_decode_option): Likewise.
13279         * c-parse.in (init_reswords): Likewise.
13280         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13281         (maybe_objc_comptypes): Rename to objc_comptypes.
13282         (maybe_building_objc_message_expr): Rename to
13283         objc_message_selector.
13284         * c-typeck.c (comptypes): Call objc_comptypes instead of
13285         maybe_objc_comptypes, and/or objc_message_selector instead of
13286         maybe_building_objc_message_expr.
13287         (comp_target_types): Likewise.
13288         (convert_for_assignment): Likewise.
13289         (warn_for_assignment): Likewise.
13290         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13291         independently of those for other languages.
13292         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13293         (maybe_objc_check_decl): Delete.
13294         (maybe_building_objc_message_expr): Rename to
13295         objc_message_selector.
13296         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13297         clk_objective_c; set flag_objc flag.
13298
13299 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13300
13301         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13302
13303 2002-08-09  Dale Johannesen  <dalej@apple.com>
13304
13305         * config/rs6000/rs6000.md: Add sibcall patterns.
13306         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13307         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13308         Rewritten to handle sibcalls.
13309         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13310         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13311
13312 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13313
13314         * profile.c (da_file_name): New static var.
13315         (init_branch_prob): Initialize it.
13316         (end_branch_prob): Remove da file.
13317
13318         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13319         * configure.in (coverage_flags): Default to nothing.
13320         * configure: Rebuilt.
13321
13322 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13323
13324         * Makefile.in (c-opts.o): Update
13325         * c-opts.c: Include intl.h.
13326         (print_help): Move from cppinit.c.  Remove unused options.
13327         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13328         (missing_arg): Complain for switches without an argument.
13329         (c_common_decode_option): Reject missing joined arguments.
13330         Handle new switches from cppinit.c.
13331         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13332         (cpp_handle_option): Similarly.
13333         (print_help): Moved to c-opts.c.
13334         * cpplib.h (struct cpp_options): Remove help_only.
13335         * gcc.c (cpp_unique_options): Remove -$.
13336         * doc/cppopts.texi: Undocument -h.
13337
13338 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13339
13340         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13341         legitimate constant.
13342         (legitimate_pic_operand_p): Neither pic operand.
13343         (legitimate_address_p): But legitimate address.
13344         (get_thread_pointer): Generate MEM/u instead of CONST around
13345         UNSPEC_TP.
13346         (print_operand): Remove printing of UNSPEC_TP.
13347         (print_operand_address): And print it here.
13348
13349 2002-08-08  Devang Patel  <dpatel@apple.com>
13350
13351         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13352         when  -Wselector is used,if method for which selector is being
13353         created does not exist.
13354
13355 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13356
13357         * config/sh/sh.c (prepare_move_operands): Only call
13358         target_reg_operand if TARGET_SHMEDIA.
13359
13360 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13361
13362         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13363         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13364         two patches.
13365         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13366
13367 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13368             Richard Henderson  <rth@redhat.com>
13369
13370         * emit-rtl.c (gen_rtx_REG): After reload, only return
13371         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13372
13373 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13374
13375         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13376         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13377         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13378         macro.
13379
13380 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13381
13382         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13383         register.
13384         (thumb_expand_prologue): Likewise.
13385         (thumb_output_function_prologue): Likewise.
13386         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13387         the additional push of the PIC register.
13388
13389 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13390
13391         * configure.in (enable_coverage): New enable switch.
13392         * configure: Rebuilt.
13393         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13394         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13395         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13396         (mostlyclean): Remove coverage files.
13397         * doc/install.texi: Document enable_coverage.
13398
13399         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13400         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13401         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13402         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13403         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13404         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13405         files.
13406
13407 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13408
13409         * c-opts.c (cpp_opts): New.
13410         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13411         (c_common_decode_options): Handle cpplib switches.
13412         (c_common_init_options): Set cpp_opts.
13413         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13414         (cpp_handle_option): Similarly.
13415
13416 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13417
13418         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13419         (TARGET_ALTIVEC_ABI): Same.
13420         (TARGET_ALTIVEC_VRSAVE): Same.
13421
13422         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13423         icode not CODE_FOR_nothing.  Change switch to if.
13424
13425 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13426
13427         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13428
13429 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13430
13431         * stor-layout.c (place_union_field): For bitfields if
13432         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13433         TYPE_USER_ALIGN.
13434
13435 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13436
13437         * pa.c (struct deferred_plabel): Constify name field.
13438
13439 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13440
13441         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13442
13443 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13444
13445         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13446         local_prefix are the same.
13447         * configure: Rebuilt.
13448
13449 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13450             Richard Henderson  <rth@redhat.com>
13451
13452         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13453         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13454         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13455         (place_field): Likewise.
13456         * config/i386/i386.c (x86_field_alignment): Don't check
13457         DECL_USER_ALIGN here.
13458         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13459         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13460         prototype.
13461         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13462         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13463         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13464         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13465         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13466         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13467
13468 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13469
13470         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13471         * c-common.c: Don't include tree-inline.h.
13472         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13473         * c-common.h (c_common_decode_option): New.
13474         * c-decl.c (c_decode_option): Remove.
13475         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13476         * c-opts.c: New file.
13477         * c-tree.h (c_decode_option): Remove.
13478         * doc/passes.texi: Update.
13479         * objc/objc-act.c (objc_decode_option): Remove.
13480         * objc/objc-act.h (objc_decode_option): Remove.
13481         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13482         c_common_decode_option.
13483
13484 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13485
13486         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13487         dependency on TARGET_DOUBLE_FLOAT.
13488
13489 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13490
13491         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13492         overwrite callee-save registers.  Fix comment.
13493
13494 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13495
13496         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13497         in target_flags based on ISA, if it was not set on the command
13498         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13499         support Branch Likely instructions.
13500         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13501         (TARGET_BRANCHLIKELY): Likewise.
13502         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13503         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13504         ISA_HAS_BRANCHLIKELY.
13505         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13506         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13507         -mno-branch-likely options.
13508
13509 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13510
13511         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13512
13513         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13514         $(GCONFIG_H).
13515
13516 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13517
13518         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13519         declarations.
13520
13521         * testsuite/gcc.dg/tls/diag-3.c: New.
13522
13523 2002-08-06  Dale Johannesen  <dalej@apple.com>
13524
13525         * c-common.c (fname_decl): Use line number 0 for
13526         __func__, to avoid confusing debuggers.
13527
13528 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13529
13530         * gcov.c: Tidy.
13531         (struct line_info, struct coverage): New structures.
13532         (gcov_file_name, gcov_file): Remove globals.
13533         (output_data): Take source file parameter. Fix memory leak. Break
13534         up into ...
13535         (init_line_info, output_line_info, make_gcov_file_name,
13536         accumulate_branch_counts): ... here.
13537         (calculate_branch_probs, function_summary): Adjust.
13538         (main): Adjust.
13539         (function_*): Remove global variables.
13540
13541 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13542
13543         * dwarf2out.c: Remove unused macros.
13544
13545 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13546
13547         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13548
13549 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13550
13551         * cppinit.c (struct lang_flags): Rename trigraphs std.
13552         (set_lang): Update.
13553         * cpplib.h (struct cpp_options): New member std.
13554         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13555         (collect_args): Flag whether to swallow a possible future
13556         comma pasted with varargs.
13557         (replace_args): Use this flag.
13558         * doc/cpp.texi: Update varargs extension documentation.
13559
13560 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13561
13562         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13563
13564 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13565
13566         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13567         and MODE_CLASS_INT modes.
13568
13569 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13570
13571         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13572         --{enable,disable}-threads is given to configure.
13573         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13574         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13575         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13576         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13577         Remove thread_file setting here.
13578
13579 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13580
13581         * doc/install.texi (Binaries): Update Bull Freeware URL.
13582
13583 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13584
13585         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13586
13587 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13588
13589         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13590
13591 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13592
13593         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13594         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13595
13596 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13597
13598         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13599         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13600         drectve_section): Define.
13601         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13602         * config/i386/interix.c: Remove.
13603
13604 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13605
13606         * attribs.c: Don't include obstack.h.
13607         * builtins.c: Likewise.
13608         * cfganal.c: Likewise.
13609         * cfgbuild.c: Likewise.
13610         * cfgcleanup.c: Likewise.
13611         * emit-rtl.c: Likewise.
13612         * loop.c: Likewise.
13613         * stmt.c: Likewise.
13614
13615         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13616
13617 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13618
13619         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13620
13621 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13622
13623         * doc/invoke.texi: Remove duplicated paragraph describing
13624         TARGET_SWITCHES.
13625
13626 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13627
13628         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13629         * collect2.h (permanent_obstack): Delete declaration.
13630         * collect2.c (permanent_obstack): Delete definition.
13631         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13632         * expr.c: Don't include obstack.h.
13633         (permanent_obstack): Delete declaration.
13634         * function.c: Don't include obstack.h.
13635         (permanent_obstack): Delete declaration.
13636         * integrate.c: Don't include obstack.h.
13637         (function_maybepermanent_obstack): Delete declaration.
13638         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13639         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13640         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13641         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13642         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13643         of permalloc, expralloc, perm_calloc.
13644         * tree.c (permanent_obstack): Delete definition.
13645         (init_ttree): Rename from init_obstacks.
13646         (permalloc): Delete.
13647         (perm_calloc): Delete.
13648         (dump_tree_statistics): Don't print information about
13649         permanent_obstack.
13650         * varasm.c (assemble_start_function): Use xstrdup instead of
13651         permalloc/strcpy.
13652         (assemble_variable): Likewise.
13653         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13654         permalloc.
13655         (unicosmk_add_extern): Likewise.
13656         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13657         (c4x_global_label): Likewise.
13658         * config/frv/frv.c (frv_encode_section_info): Likewise.
13659         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13660         (i386_pe_record_exported_symbol): Likewise.
13661         * config/mips/mips.c (mips_output_external): Likewise.
13662         (mips_output_external_libcall): Likewise.
13663         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13664         (output_call): Use ggc_strdup instead of allocating on
13665         permanent_obstack.
13666         * config/romp/romp.c: Include ggc.h.
13667         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13668         intead of permanent_obstack.
13669         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13670         instead of permalloc.
13671         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13672         instead of permalloc
13673         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13674         instead of permalloc.
13675         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13676         permalloc.
13677
13678 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13679
13680         Contribute a port developed primarily by Michael Meissner,
13681         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13682         * config.gcc: Add frv-elf target.
13683         * config/frv/cmovd.c: New file.
13684         * config/frv/cmovh.c: New file.
13685         * config/frv/cmovw.c: New file.
13686         * config/frv/frv-abi.h: New file.
13687         * config/frv/frv-asm.h: New file.
13688         * config/frv/frv-modes.def: New file.
13689         * config/frv/frv-protos.h: New file.
13690         * config/frv/frv.c: New file.
13691         * config/frv/frv.h: New file.
13692         * config/frv/frv.md: New file.
13693         * config/frv/frvbegin.c: New file.
13694         * config/frv/frvend.c: New file.
13695         * config/frv/lib1funcs.asm: New file.
13696         * config/frv/media.h: New file.
13697         * config/frv/modi.c: New file.
13698         * config/frv/t-frv: New file.
13699         * config/frv/uitod.c: New file.
13700         * config/frv/uitof.c: New file.
13701         * config/frv/ulltod.c: New file.
13702         * config/frv/ulltof.c: New file.
13703         * config/frv/umodi.c: New file.
13704         * config/frv/xm-frv.h: New file.
13705
13706         * config/frv/media.h: Removed again.
13707
13708 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13709
13710         * gcov.c (bb_file_time): New static variable.
13711         (object_directory): May also be object file.
13712         (preserve_paths): New static variable.
13713         (print_usage): Adjust.
13714         (options): Adjust.
13715         (process_args): Adjust.
13716         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13717         file. Find modification date on bb file.
13718         (read_profile): Don't rewind a NULL file.
13719         (format_hwint): New static function.
13720         (function_summary): Use format_hwint.
13721         (output_data): SOURCE_FILE_NAME is never relative to
13722         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13723         mangling. Adjust output format to make it more machine readable.
13724         * doc/gcov.texi: Document & clarify semantics.
13725
13726 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13727
13728         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13729
13730 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13731
13732         * gcc.c (cc1_options): Pass output file as auxbase when
13733         appropriate.
13734         * profile.c (init_branch_prob): FILENAME has already had ending
13735         stripped.
13736         * final.c (end_final): Likewise.
13737         * toplev.c (aux_base_name): New global.
13738         (compile_file): Pass aux_base_name to init init_branch_prob and
13739         end_final.
13740         (independent_decode_option, case 'a'): New auxinfo options.
13741         (case 'd'): Protect against mising basename.
13742         (do_compile): Initialize aux_base_name.
13743         * toplev.h (aux_base_name): New global.
13744         * doc/invoke.texi: Adjust documentation.
13745
13746 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13747
13748         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13749         of TARGET_ALIGN_DOUBLE.
13750
13751 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13752
13753         * diagnostic.c (inform): New function.
13754         * diagnostic.h (inform): Declare.
13755
13756 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13757
13758         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13759         (movhi_internal): Same.
13760         (movqi_internal): Same.
13761         (movdi_internal64): Same.
13762
13763         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13764
13765         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13766         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13767         (COMMON_ASM_OP): Define.
13768         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13769         Use ALIGN parameter.
13770         (LOCAL_COMMON_ASM_OP): Define.
13771         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13772
13773 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13774
13775         * builtins.def: Define new builtin functions exp, expf, expl,
13776         log, logf and logl (and their __builtin_* variants).
13777         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13778         Define exp_optab and log_optab.
13779         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13780         * genopinit.c (optabs): Implement exp_optab and log_optab
13781         using exp?f2 and log?f2 patterns.
13782         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13783         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13784         (expand_builtin): Ignore the new builtins (and all cos and
13785         sin variants) when not optimizing.  Expand new builtins via
13786         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13787
13788         * doc/extend.texi: Document new exp and log builtins.
13789         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13790         (and previously undocumented cos?f2 and sin?f2 patterns).
13791
13792 2002-08-03  Jason Merrill  <jason@redhat.com>
13793
13794         * explow.c (int_expr_size): New fn.
13795         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13796         * expr.h: Declare it.
13797
13798 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13799
13800         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13801         gengtype-* dependencies.
13802
13803 2002-08-02  Eric Christopher  <echristo@redhat.com>
13804
13805         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13806         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13807         #ifndef to #undef.
13808         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13809
13810 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13811
13812         PR optimize/7067
13813         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13814         small if optimizing for size.
13815
13816 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13817
13818         * configure.in (FORBUILD): Use $build_alias.
13819         * configure: Regenerated.
13820
13821 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13822
13823         * config.gcc: Don't include mips/abi64.h in $tm_file.
13824         * hard-reg-set.h (call_really_used_regs): Declare.
13825         * config/mips/abi64.h: Remove file.
13826         * config/mips/linux.h,
13827         * config/mips/iris6.h: Don't include it.
13828         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13829         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13830         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13831         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13832         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13833         Bring across definitions from abi64.h.
13834         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13835         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13836         (struct mips_args): Use it.
13837         * config/mips/mips.c (mips_conditional_register_usage): Define.
13838
13839 2002-08-02  Jason Merrill  <jason@redhat.com>
13840
13841         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13842         * langhooks.c (lhd_expr_size): Define default.
13843         * langhooks.h (struct lang_hooks): Add expr_size.
13844         * explow.c (expr_size): Call it.
13845         * expr.c (store_expr): Don't copy an expression of size zero.
13846         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13847         to store.
13848         * Makefile.in (builtins.o): Depend on langhooks.h.
13849
13850 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13851
13852         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13853         * ra-debug.c: Include "tm_p.h".
13854         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13855
13856 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13857
13858         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13859         when not honoring signalling NaNs.
13860         (simplify_ternary_operation): a == b has a definite value
13861         when not honoring NaNs.
13862
13863 2002-08-02  Jason Merrill  <jason@redhat.com>
13864
13865         * gdbinit.in (pct): New macro.
13866
13867 2002-08-01  Stan Shebs  <shebs@apple.com>
13868             Andreas Tobler  <toa@pop.agri.ch>
13869
13870         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13871         plays nice with Darwin headers.
13872         (_BSD_RUNE_T_DEFINED_): Likewise.
13873
13874 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13875
13876         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13877         * cppinit.c (cpp_post_options): Likewise.
13878
13879         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13880         warning about 'LL' suffix (but not 'ULL' etc) when
13881         -Wno-long-long is in effect.
13882
13883         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13884         Check for failing time()/localtime(), issue a warning, and
13885         make __TIME__ and __DATE__ expand to fallback strings.
13886
13887         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13888         and __TIME__ when the date and time cannot be determined.
13889
13890 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13891
13892         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13893
13894 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13895
13896         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13897
13898 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13899
13900         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13901         (mipsisa64sb1el-*-elf*): Likewise.
13902         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13903         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13904         (TARGET_SB1, TUNE_SB1): New macros.
13905         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13906         -mtune flags.
13907
13908 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13909
13910         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13911         and ASM_EMIT_BSS not supported by target.
13912         (assemble_variable): Do not duplicate uninitialized logic.
13913         Fall through if asm_emit_uninitialized failed.
13914
13915 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13916
13917         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13918
13919 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13920
13921         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13922         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13923
13924         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13925         HOST_BITS_PER_WIDE_INT == 64.
13926
13927 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13928
13929         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13930         * optabs.c (expand_binop): Make variable unsigned.
13931         * simplify-rtx.c (simplify_subreg): Likewise.
13932         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13933
13934 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13935
13936         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13937
13938 2002-08-01  Richard Henderson  <rth@redhat.com>
13939
13940         * toplev.c (parse_options_and_default_flags): Don't set
13941         flag_reorder_blocks for -Os.
13942
13943         * config/avr/avr.c (avr_optimization_options): Remove.
13944         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13945         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13946         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13947
13948 2002-08-01  H.J. Lu <hjl@gnu.org>
13949             Richard Henderson  <rth@redhat.com>
13950
13951         * output.h (DECL_READONLY_SECTION): Remove.
13952         (decl_readonly_section): Declare.
13953         * varasm.c (decl_readonly_section): New.
13954         (default_section_type_flags, default_select_section): Use it.
13955         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13956         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13957         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13958         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13959         * config/mips/mips.c (mips_unique_section): Likewise.
13960
13961 2002-08-01  Richard Henderson  <rth@redhat.com>
13962
13963         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13964         refers to a subroutine parameter.
13965
13966 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13967
13968         * varasm.c (assemble_visibility): Strip name encoding.
13969
13970 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13971
13972         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13973         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13974         when there is no frame pointer.
13975         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13976         registers properly.
13977         * config/ns32k/__unorddf2.c: New file.
13978         * config/ns32k/__unordsf2.c: New file.
13979         * config/ns32k/t-ns32k: New file.
13980         * config.gcc (ns32k-*-netbsd*): Use it.
13981
13982 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13983
13984         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13985
13986 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13987
13988         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13989
13990 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13991
13992         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13993
13994 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13995
13996         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13997
13998 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13999
14000         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
14001         n_sets): Removed.
14002         (expr_hash_table, set_hash_table): Type changed to ...
14003         (struct hash_table): New type.
14004         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
14005         insert_expr_in_table, insert_set_in_table, compute_hash_table,
14006         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
14007         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
14008         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
14009         (alloc_hash_table): New.
14010         (free_set_hash_table, free_expr_hash_table): Merged to ...
14011         (free_hash_table): New.
14012         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
14013         (compute_hash_table_work): New.
14014         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
14015         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
14016         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
14017         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
14018         hoist_code, one_code_hoisting_pass,
14019         trim_ld_motion_mems): Altered due to changed type of hash tables.
14020
14021 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
14022
14023         * final.c (output_alternate_entry_point):
14024         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
14025
14026 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14027
14028         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
14029         avoid ISO C style function definition.
14030
14031         * expr.c (expand_assignment): Delete unused variable.
14032
14033 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
14034
14035         * c-common.c (cb_register_builtins): Set
14036         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
14037         is given, and to 0 otherwise.
14038         * combine.c (simplify_if_then_else): HONOR_NANS
14039         implies FLOAT_MODE_P.
14040
14041 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14042
14043         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
14044         (cpp_handle_option): Don't handle it.
14045         (print_help): Update.
14046         * doc/cppopts.texi: Update.
14047
14048 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14049
14050         * c-common.c (cb_register_builtins): If C++, define
14051         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
14052         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
14053 cp:
14054         * lang-specs.h: Simplify in accordance with new code in
14055         c-common.c.
14056
14057 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
14058
14059         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
14060         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
14061         * c-decl.c: Move all warning and flag variables to c-common.c.
14062         * c-format.c: Move all warning variables to c-common.c.
14063         * c-tree.h: Move all warning and flag declarations to c-common.h.
14064         * objc/objc-act.c: Move all warning variables to c-common.c.
14065         (flag_warn_protocol): Rename warn_protocol.
14066
14067 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14068
14069         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
14070
14071 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
14072
14073         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
14074         .section prefix.
14075
14076 2002-07-31  Stan Shebs  <shebs@apple.com>
14077
14078         * config.gcc (i[34567]86-*-darwin*): New configuration.
14079         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
14080         defining.
14081         (TARGET_ENCODE_SECTION_INFO): Ditto.
14082         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
14083         * config/darwin.c (machopic_indirect_data_reference): Remove
14084         setting of RTX_UNCHANGING_P.
14085         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
14086         not to be applied to sums.
14087         * config/i386/t-darwin: New file.
14088         * config/i386/darwin.h: New file.
14089         * config/i386/i386.h (TARGET_MACHO): Add default definition.
14090         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
14091         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
14092         label and not the GOT add.
14093         (constant_address_p): For Mach-O, seeing a CONST is enough.
14094         (legitimate_pic_address_disp_p): Add a Mach-O case.
14095         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
14096         (legitimize_pic_address): Use generic Mach-O code to legitimize.
14097         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
14098         if outputting a difference.
14099         (ix86_output_addr_diff_elt): Add Mach-O case.
14100         (ix86_expand_move): Similarly.
14101         (ix86_expand_call): Similarly.
14102         (current_machopic_label_num): New global.
14103         (machopic_output_stub): New function.
14104         (ix86_value_regno): New function.
14105         (ix86_function_value): Use it instead of VALUE_REGNO.
14106         (ix86_libcall_value): Ditto.
14107         * config/i386/unix.h (VALUE_REGNO): Remove.
14108
14109 2002-07-31  Graham Stott  <grahas@btinternet.com>
14110
14111         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14112         hash for LABEL_REF's.
14113
14114 2002-07-31  Graham Stott  <grahams@btinternet.com>
14115
14116         * config/rs6000/rs6000.c (spe_init_builtins,
14117         altivec_init_builtins, rs6000_common_init_builtins):
14118         Replace ANSI with K&R function def.
14119
14120 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14121
14122         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14123         for CCFPmode.
14124
14125 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14126
14127         * config/mips/crtn.asm: Don't use __mips16 to determine the
14128         return-address offset.  Define RA to a suitable temporary
14129         register for the return address.
14130
14131 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14132
14133         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14134         constraints to 'd'.
14135
14136 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14137
14138         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14139         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14140         patch on 2002-07-29.)
14141         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14142
14143 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14144
14145         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14146         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14147         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14148         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14149         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14150         (ASM_GLOBALIZE_LABEL): Delete.
14151         (GLOBAL_ASM_OP): Define.
14152
14153         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14154
14155         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14156         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14157
14158 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14159
14160         * doc/extend.texi (Hints implementation): Document that GCC
14161         mostly ignores `register'.
14162
14163 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14164
14165         * flags.h: Declare flag_finite_math_only.
14166         Use it in definition of HONOR_NANS and
14167         HONOR_INFINITIES.
14168         * c-common.c (cb_register_builtins): Emit
14169         __FINITE_MATH_ONLY__ when flag_finite_math_only
14170         is set.
14171         * combine.c (simplify_if_then_else): If
14172         flag_finite_math_only is set, a == b has a
14173         definite value.
14174         * toplev.c: Initialize flag_finite_math_only.
14175         (set_flags_fast_math): Set it on -ffast-math.
14176         (flag_fast_math_set_p): Test it.
14177         * doc/invoke.texi: Document -ffinite-math-only.
14178
14179 2002-07-30  Richard Henderson  <rth@redhat.com>
14180
14181         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14182         (noce_process_if_block): Likewise.
14183
14184 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14185
14186         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14187         Bail out early if false_expr is NULL and we'd crash due to this.
14188         * genemit.c (gen_expand): Recognize return insns even if the return
14189         appears in a parallel.
14190         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14191         * config/fp-bit.c: Likewise.
14192         * doc/tm.texi: Document it.
14193
14194 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14195             Zack Weinberg  <zack@codesourcery.com>
14196
14197         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14198         CODE_FOR_nothing.  Change switch to if.
14199         (rs6000_expand_binop_builtin): Same.
14200         (rs6000_expand_builtin): Expand builtin if target support enabled.
14201         (rs6000_init_builtins): Init builtin if target support enabled.
14202         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14203
14204 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14205
14206         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14207
14208 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14209
14210         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14211
14212 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14213
14214         * sh.md (cond_delay_slot): New attribute.
14215         (cbranch delay): Use it for anulled-true case.
14216         (stuff_delay_slot): New pattern.
14217         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14218         delay slot insn.
14219         (gen_far_branch): Emit stuff_delay_slot pattern.
14220
14221 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14222
14223         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14224
14225 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14226
14227         * fold-const.c: Fix comment typos.
14228         * gcse.c: Likewise.
14229         * reload1.c: Likewise.
14230
14231 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14232
14233         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14234         for TARGET_SPE.
14235
14236 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14237
14238         * c-pretty-print.h (pp_c_statement): Declare.
14239         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14240         (pp_c_statement): Define.
14241
14242 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14243
14244         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14245         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14246         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14247         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14248         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14249         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14250
14251         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14252         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14253
14254 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14255
14256         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14257         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14258         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14259         (pp_c_expression): Update.
14260
14261 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14262
14263         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14264         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14265         * alpha/vms-ld.c (main): Likewise.
14266         * dsp16xx.c (double_reg_to_memory): Likewise.
14267         * mcore.c (mcore_expand_prolog): Likewise.
14268         * cppfiles.c (read_name_map): Likewise.
14269         * gensupport.c (process_rtx, identify_predicable_attribute,
14270         alter_test_for_insn): Likewise.
14271         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14272
14273 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14274
14275         * builtins.c (expand_builtin):  Change the default behavior to
14276         only issue an error if the builtin function doesn't have a
14277         fallback library call.  Remove several cases handled by the
14278         new default.
14279
14280 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14281
14282         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14283         floating point format of the target is IEEE.
14284         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14285         format of the target is DEC.
14286
14287 2002-07-29  Richard Henderson  <rth@redhat.com>
14288
14289         * unroll.c (verify_addresses): Remove.
14290         (find_splittable_givs): Never split DEST_ADDR givs.
14291
14292 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14293
14294         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14295         is exhaustive.
14296         (Files): Improve documentation on generated source files.
14297
14298         * doc/extend.texi (Translation implementation): Document what
14299         diagnostics look like.
14300         (Identifiers implementation): Document that there's normally no
14301         limit on identifier names.
14302         (Integers implementation): Document two's complement.
14303         (Hints implementation): Document that GCC honors 'inline', mostly.
14304         (Preprocessing directives implementation): Document that GCC
14305         requires the current time.
14306
14307 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14308
14309         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14310         (pp_initializer): New macro.
14311         (pp_c_initializer): Declare.
14312         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14313         (pp_c_initializer): Define.
14314         (pp_c_initializer_list): New function.
14315         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14316         VECTOR_CST, CONSTRUCTOR.
14317         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14318         IMAGPART_EXPR.
14319         (pp_c_cast_expression): Handle FLOAT_EXPR.
14320         (pp_c_assignment_expression): Handle INIT_EXPR.
14321         (pp_c_expression): Update.
14322
14323 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14324
14325         * objc/objc-act.c (objc_init): Return immediately if filename
14326         is NULL.
14327
14328 2002-07-29  Eric Christopher  <echristo@redhat.com>
14329
14330         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14331         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14332         (SDB_DEBUGGING_INFO): Undefine.
14333         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14334         (PUT_SDB_SIZE): Remove.
14335         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14336         (STARTFILE_SPEC): Add isa3264 define.
14337         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14338         * config/mips/ecoff.h: Remove. and here...
14339         * config/mips/iris3.h: and here...
14340         * config/mips/sni-svr4.h: and here...
14341         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14342         Add assembler -mmdebug options for non-dwarf debugging.
14343         * config/mips/r3900.h: Remove debug info defines.
14344         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14345         * config/mips/isa3264.h: Ditto.
14346         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14347         change.
14348         * config/mips/t-elf: Ditto.
14349         * config/mips/t-ecoff: Ditto.
14350         * config/mips/t-r3900: Ditto.
14351         * config/mips/t-iris5-6: Ditto.
14352         * config/mips/t-isa3264: Ditto.
14353         * config/mips/t-linux: Remove.
14354         * config/mips/t-netbsd: Remove.
14355         * config/mips/t-mips: New file.
14356         * config/mips/t-gofast: Ditto.
14357         * config/mips/netbsd.h: Remove unnecessary undefines.
14358         * config/mips/linux.h: Remove #include of mips.h.
14359         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14360         for ecoff. Add gofast configure option for mips.
14361
14362 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14363
14364         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14365         linker scripts use STARTUP directives consistently.
14366         * configure: Regenerate.
14367         * config.in: Regenerate.
14368         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14369         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14370         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14371         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14372         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14373         will be the same.
14374
14375 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14376
14377         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14378
14379 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14380
14381         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14382
14383 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14384
14385         * config/rs6000/rs6000.md: Move altivec patterns from here...
14386
14387         * config/rs6000/altivec.md: ...to here.
14388
14389 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14390
14391         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14392
14393 2002-07-29  Richard Henderson  <rth@redhat.com>
14394
14395         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14396         set_mem_attributes and add BITPOS argument.  Subtract it from
14397         OFFSET when same is adjusted.
14398         (set_mem_attributes): New wrapper function.
14399         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14400         remove offset adjustment hack.
14401         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14402
14403 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14404
14405         * Makefile.in (C_OBJS): Include c-pretty-print.o
14406         (c-pretty-print.o): Add depency rule.
14407         * pretty-print.h: Add more macros.
14408         * c-pretty-print.c: New file.
14409         * c-pretty-print.h: Likewise.
14410
14411 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14412
14413         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14414         constants to __ev64_s32__.
14415         (__internal_ev_mwhgsmian): Same.
14416         (__internal_ev_mwhgsmfan): Same.
14417         (__internal_ev_mwhgssfan): Same.
14418         (__internal_ev_mwhgumiaa): Same.
14419         (__internal_ev_mwhgsmiaa): Same.
14420         (__internal_ev_mwhgsmfaa): Same.
14421         (__internal_ev_mwhgssfaa): Same.
14422
14423 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14424
14425         * varasm.c (assemble_variable): Narrow test for uninitialized
14426         without BSS target support.
14427
14428 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14429
14430         * profile.c: Add file comment describing the overall algorithm and
14431         structures.
14432         (struct edge_info): Add comments.
14433         (struct bb_info): Add comments.
14434         * basic-block.h (EDGE_*): Add comments.
14435         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14436
14437 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14438
14439         * config/xtensa/elf.h, config/xtensa/linux.h
14440         (TARGET_OS_CPP_BUILTINS): Define.
14441         (CPP_PREDEFINES): Remove.
14442         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14443         (CPP_SPEC): Remove.
14444
14445 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14446
14447         * gensupport.c: Include hashtab.h.
14448         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14449         maybe_eval_c_test): New routines and data structures to
14450         support insn elision.
14451         (init_md_reader): Read and initialize the condition_table.
14452         (read_md_rtx): Discard insn patterns whose C test is provably
14453         always false.
14454         * gensupport.h: Declare new functions and data structures.
14455
14456         * genconditions.c, dummy-conditions.c: New files.
14457         * Makefile.in: Build genconditions; run it to construct
14458         insn-conditions.c; build that and link it into most gen*
14459         programs.
14460         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14461         (GEN): Delete, unused.
14462         (STAGESTUFF): Update.
14463
14464         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14465         CODE_FOR_nothing for all elided patterns.
14466         (main): Tweaked to support this.
14467         * genflags.c (gen_proto): Emit a static inline generator
14468         function here for all elided patterns, which simply returns
14469         NULL_RTX.
14470         (gen_insn): Do not define HAVE_xxx for elided patterns.
14471         (main): Tweaked to support this.  No need to forward-declare
14472         struct rtx_def.
14473         * genrecog.c: Do not bother emitting the C test if it's known
14474         to be true at compile time.
14475
14476 2002-07-29  Mike Stump  <mrs@apple.com>
14477
14478         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14479         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14480
14481 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14482
14483         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14484         remove clobber of LR.
14485         (sibcall_insn, sibcall_value_insn): Update accordingly.
14486         (sibcall_epilogue): Remove debugging comment from assembler stream.
14487
14488 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14489
14490         * pretty-print.h: Define more macros.
14491         * diagnostic.h (output_formatted_integer): Moved from...
14492         * diagnostic.c: ... here.
14493
14494 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14495
14496         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14497
14498 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14499
14500         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14501         arguments.  Always use ".-symbol" as expression argument.
14502         * doc/tm.texi: Update to match.  Document requirement for
14503         ".size symbol, .-symbol" to be acceptable to assembler.
14504
14505         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14506         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14507         config/i386/freebsd-aout.h, config/i386/sco5.h,
14508         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14509         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14510
14511 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14512
14513         * Makefile.in (gengtype-lex.c): Fix error in last change.
14514
14515         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14516         backslash.
14517
14518         * Makefile.in (vmsdbgout.o): Depend on function.h.
14519
14520         * vmsdbgout.c: Include function.h.
14521
14522 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14523
14524         * prefix.c (update_path): Don't strip single `.' path components
14525         unless stripping a later `..' component.  Exit loop as soon as
14526         a valid path is found.
14527
14528 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14529
14530         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14531         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14532         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14533         floating point unordered comparisons (e.g. __builtin_isgreater)
14534         as const, and leave the remaining GCC_BUILTINs unchanged.
14535
14536         * c-decl.c (builtin_function): No need to explicitly mark
14537         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14538
14539 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14540
14541         * Makefile.in: rtlanal.o now depends upon real.h.
14542
14543         * flags.h [flag_signaling_nans]: New flag.
14544         [HONOR_SNANS]: New macro.
14545
14546         * toplev.c [flag_signaling_nans]: Initialize to false.
14547         (f_options): Add processing for "-fsignaling-nans".
14548         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14549         (process_options): flag_signaling_nans implies flag_trapping_math.
14550
14551         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14552         when -fsignaling-nans.  First step to implementing WG14's N965.
14553
14554         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14555         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14556         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14557
14558         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14559         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14560
14561         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14562         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14563         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14564         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14565         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14566
14567         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14568
14569 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14570
14571         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14572         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14573         (YY_DECL): Define.
14574
14575 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14576
14577         * doc/invoke.texi: Document that both -fno-builtin-foo and
14578         -fno-builtin are supported by the g++ front-end.
14579
14580 2002-07-27  Stan Shebs  <shebs@apple.com>
14581
14582         * configure.in: Rename config_gtfiles to target_gtfiles.
14583         * configure: Regenerate.
14584         * doc/gty.texi: Update reference.
14585         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14586         instead of appending to it.
14587
14588 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14589
14590         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14591         vectors are split into two registers.
14592         (function_arg): Same.
14593
14594 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14595
14596         * pa.md (extv): Check predicates before emitting extv_32.
14597
14598 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14599
14600         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14601         (rs6000_traceback): New var.
14602         (rs6000_override_options): Set rs6000_traceback.
14603         (rs6000_output_function_epilogue): Implement traceback options.
14604         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14605         (rs6000_traceback_name): Declare.
14606
14607         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14608         label reference when NO_PROFILE_COUNTERS.
14609
14610 2002-07-26  Jason Merrill  <jason@redhat.com>
14611
14612         * function.c (assign_parms): Handle frontend-directed pass by
14613         invisible reference.
14614
14615 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14616
14617         * doc/cppopts.texi: Update.
14618
14619 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14620
14621         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14622         warnings on assertions.
14623
14624 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14625
14626         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14627         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14628         RID_COMPL): Remove.
14629         * c-parse.in (rid_to_yy): Similarly.
14630
14631 2002-07-26  Jason Merrill  <jason@redhat.com>
14632
14633         * c-dump.c: Resurrect.
14634         * tree-dump.c: Move C-specific stuff to c-dump.c.
14635         * c-common.h: Declare c_dump_tree.
14636         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14637         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14638         (c-dump.o): New rule.
14639
14640 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14641
14642         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14643         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14644         predicate will do.  Formatting fixes.
14645         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14646         as for extzvsi_internal1.
14647
14648 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14649
14650         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14651         DERIV_END_LABEL_FMT): Remove.
14652         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14653
14654 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14655
14656         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14657         Remove.
14658
14659 2002-07-25  Stan Shebs  <shebs@apple.com>
14660
14661         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14662         local var dwarfp.
14663         (output_compiler_stub): Remove unused locals.
14664         (output_call): Always initialize line number.
14665
14666 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14667
14668         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14669         * sh.md (truncdiqi2, movqi_media): Likewise.
14670
14671 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14672
14673         * gcse.c (obstack_chunk_alloc): Remove.
14674         (gcse_alloc): Fix to count allocated bytes.
14675         * collect2.c (SYMBOL__MAIN): Remove.
14676
14677 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14678
14679         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14680         HAVE_TARGET_EXECUTABLE_SUFFIX.
14681
14682 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14683
14684         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14685         SIZE, EXPR and OFFSET.
14686
14687 2002-07-25  Richard Henderson  <rth@redhat.com>
14688
14689         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14690         in ARRAY_REF of DECL_P case.
14691
14692 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14693
14694         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14695         description.  Document -mips32, -mips64, and the associated -march
14696         values.  Describe the "mipsN" arguments to -march.  Say that the
14697         -mipsN options are equivalent to -march.  Reword the description
14698         of default type sizes.
14699         * toplev.h (target_flags_explicit): Declare.
14700         * toplev.c (target_flags_explicit): New var.
14701         (set_target_switch): Update target_flags_explicit.
14702         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14703         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14704         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14705         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14706         * config/mips/mips.h (mips_cpu_info): New struct.
14707         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14708         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14709         (MIPS_CPP_SET_PROCESSOR): New macro.
14710         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14711         Define _MIPS_ARCH and _MIPS_TUNE.
14712         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14713         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14714         MIPS_ISA_DEFAULT were already defined.
14715         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14716         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14717         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14718         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14719         (ABI_GAS_ASM_SPEC): Remove.
14720         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14721         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14722         Invoke %(asm_abi_default_spec) if no ABI was specified.
14723         (CC1_SPEC): Remove ISA -> register-size rules.
14724         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14725         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14726         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14727         (mips_cpu_info_table): New array.
14728         (mips_set_architecture, mips_set_tune): New fns.
14729         (override_options): Rework to make -mipsN equivalent to -march.
14730         Detect more erroneous cases, including those removed from CC1_SPEC.
14731         Don't change the ABI based on architecture, or vice versa.
14732         Unify logic with GAS.
14733         (mips_asm_file_start): Get architecture name from mips_arch_info.
14734         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14735         (mips_parse_cpu): Take the name of the option as argument.  Handle
14736         'from-abi'.  Raise an error if the option is wrong.
14737         (mips_cpu_info_from_isa): New fn.
14738
14739 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14740
14741         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14742         (tablejump_mips162): Likewise.
14743
14744 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14745
14746         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14747         int_mode_for_mode.
14748
14749 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14750
14751         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14752         complaining.
14753         * c-common.h (c_sizeof): Adjust definition.
14754         (c_alignof): Likewise.
14755         * c-tree.h (c_sizeof_nowarn): Now macro.
14756         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14757
14758 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14759
14760         * c-decl.c (c_decode_option): No need to handle switches
14761         cpplib handles.
14762
14763 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14764
14765         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14766         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14767         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14768         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14769
14770         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14771         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14772         config/cris/aout.h, config/i386/freebsd-aout.h,
14773         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14774         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14775         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14776         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14777         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14778         config/xtensa/elf.h, config/xtensa/linux.h:
14779         Use the new macros.
14780         Where possible, remove redundant definitions of SIZE_ASM_OP,
14781         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14782
14783 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14784
14785         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14786         TARGET_ISEL, and TARGET_FPRS.
14787
14788         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14789         -mabi=spe, -mabi=no-spe, and -misel=.
14790
14791         * config/rs6000/rs6000-protos.h: Add output_isel.
14792         Move vrsave_operation prototype here.
14793
14794         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14795         (smaxsi3): Same.
14796         (uminsi3): Same.
14797         (umaxsi3): Same.
14798         (abssi2_nopower): Disallow when TARGET_ISEL.
14799         (*ne0): Same.
14800         (negsf2): Change to expand and rename old pattern to *negsf2.
14801         (abssf2): Change to expand and rename old pattern to *abssf2.
14802
14803         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14804         fixunssfsi2.
14805
14806         Change patterns that check for TARGET_HARD_FLOAT or
14807         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14808
14809         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14810         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14811         (rs6000_override_options): Add 8540 case to
14812         processor_target_table.
14813         Set rs6000_isel for the 8540.
14814         Call rs6000_parse_isel_option.
14815         (enable_mask_for_builtins): New.
14816         (rs6000_parse_isel_option): New.
14817         (rs6000_parse_abi_options): Add spe and no-spe.
14818         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14819         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14820         for TARGET_HARD_FLOAT.
14821         Add case for SPE_VECTOR_MODE.
14822         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14823         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14824         vector modes.
14825         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14826         (rs6000_emit_move): Check for TARGET_FPRS.
14827         Add cases for SPE vector modes.
14828         (function_arg_boundary): Return 64 for SPE vector modes.
14829         (function_arg_advance): Check for TARGET_FPRS and
14830         Handle SPE vectors.
14831         (function_arg): Same.
14832         (setup_incoming_varargs): Check for TARGET_FPRS.
14833         (rs6000_va_arg): Same.
14834         (struct builtin_description): Un-constify mask field.  Move up in
14835         file.
14836         (bdesc_2arg): Un-constify and add SPE builtins.
14837         (bdesc_1arg): Same.
14838         (bdesc_spe_predicates): New.
14839         (bdesc_spe_evsel): New.
14840         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14841         (rs6000_expand_binop_builtin): Same.
14842         (bdesc_2arg_spe): New.
14843         (spe_expand_builtin): New.
14844         (spe_expand_predicate_builtin): New.
14845         (spe_expand_evsel_builtin): New.
14846         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14847         (rs6000_init_builtins): Initialize SPE builtins.  Call
14848         rs6000_common_init_builtins.
14849         (altivec_init_builtins): Move all non-altivec builtin code to...
14850         (rs6000_common_init_builtins): ...here.  New function.
14851         (branch_positive_comparison_operator): Allow NE code for SPE.
14852         (ccr_bit): Return correct ccr bit for SPE fp.
14853         (print_operand): Emit crnor in 'D' case for SPE.
14854         New case 't'.
14855         Add SPE code for 'y' case.
14856         (rs6000_generate_compare): Generate rtl for SPE fp.
14857         (output_cbranch): Handle SPE hard floats.
14858         (rs6000_emit_cmove): Handle isel.
14859         (rs6000_emit_int_cmove): New.
14860         (output_isel): New.
14861         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14862         64-bits for SPE.
14863         (debug_stack_info): Add SPE info.
14864         (gen_frame_mem_offset): New.
14865         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14866         Change mode of frame pointer, when saving it, to Pmode.
14867         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14868         Misc cleanups and use gen_frame_mem_offset when appropriate.
14869
14870         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14871         (TARGET_SPE_ABI): New.
14872         (TARGET_SPE): New.
14873         (TARGET_ISEL): New.
14874         (TARGET_FPRS): New.
14875         (FIXED_SCRATCH): New.
14876         (RTX_COSTS): Add PROCESSOR_PPC8540.
14877         (ASM_CPU_SPEC): Add case for 8540.
14878         (TARGET_OPTIONS): Add isel= case.
14879         (rs6000_spe_abi): New.
14880         (rs6000_isel): New.
14881         (rs6000_fprs): New.
14882         (rs6000_isel_string): New.
14883         (UNITS_PER_SPE_WORD): New.
14884         (LOCAL_ALIGNMENT): Adjust for SPE.
14885         (HARD_REGNO_MODE_OK): Same.
14886         (DATA_ALIGNMENT): Same.
14887         (MEMBER_TYPE_FORCES_BLK): New.
14888         (FIRST_PSEUDO_REGISTER): Set to 113.
14889         (FIXED_REGISTERS): Add SPE registers.
14890         (reg_class): Same.
14891         (REG_CLASS_NAMES): Same.
14892         (REG_CLASS_CONTENTS): Same.
14893         (REGNO_REG_CLASS): Same.
14894         (REGISTER_NAMES): Same.
14895         (DEBUG_REGISTER_NAMES): Same.
14896         (ADDITIONAL_REGISTER_NAMES): Same.
14897         (CALL_USED_REGISTERS): Same.
14898         (CALL_REALLY_USED_REGISTERS): Same.
14899         (SPE_ACC_REGNO): New.
14900         (SPEFSCR_REGNO): New.
14901         (SPE_SIMD_REGNO_P): New.
14902         (HARD_REGNO_NREGS): Adjust for SPE.
14903         (VECTOR_MODE_SUPPORTED_P): Same.
14904         (REGNO_REG_CLASS): Same.
14905         (FUNCTION_VALUE): Same.
14906         (LIBCALL_VALUE): Same.
14907         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14908         (SPE_VECTOR_MODE): New.
14909         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14910         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14911         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14912         spe_gp_save_offset.
14913         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14914         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14915         (SPE_CONST_OFFSET_OK): New.
14916         (rs6000_builtins): Add SPE builtins.
14917
14918         * testsuite/gcc.dg/ppc-spe.c: New.
14919
14920         * config/rs6000/eabispe.h: New.
14921
14922         * config/rs6000/spe.h: New.
14923
14924         * config/rs600/spe.md: New.
14925
14926         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14927         __SIMD__ for TARGET_SPE.
14928
14929         * config.gcc: Add powerpc-*-eabispe* case.
14930         Add spe.h to user headers for powerpc.
14931
14932 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14933
14934         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14935         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14936         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14937
14938 2002-07-24  Richard Henderson  <rth@redhat.com>
14939
14940         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14941         form when not optimizing.
14942
14943 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14944
14945         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14946         thread_pointer_rtx as unchanging.
14947
14948 2002-07-24  Michael Matz  <matz@suse.de>
14949
14950         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14951         (free_reg): Use it.
14952
14953 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14954
14955         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14956         pattern.
14957         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14958         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14959
14960 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14961
14962         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14963         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14964         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14965
14966 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14967
14968         * toplev.c (rest_of_compilation): Dump loops before clobbering
14969         the structure.
14970
14971 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14972
14973         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14974
14975 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14976
14977         PR optimization/7291
14978         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14979         problem on x86_64.
14980
14981 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14982
14983         * pretty-print.h: Add macros from cp/error.c
14984
14985 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14986
14987         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14988         (mask64_2_operand): Declare.
14989         (build_mask64_2_operands): Declare.
14990         (and64_2_operand): Declare.
14991         (extract_MB): Declare.
14992         (extract_ME): Declare.
14993         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14994         CONST_DOUBLE code.
14995         (mask_operand_wrap): New insn predicate.
14996         (mask64_2_operand): Likewise.
14997         (and64_2_operand): Likewise.
14998         (build_mask64_2_operands): New function.
14999         (extract_MB): New function.
15000         (extract_ME): New function.
15001         (print_operand <case m,M>): Use extract_MB and extract_ME.
15002         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
15003         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
15004         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
15005         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
15006         * config/rs6000/rs6000.md (andsi3_internal3): New
15007         (andsi3_internal3+1): Enable split for powerpc64.
15008         (andsi3_internal3+2): New split.
15009         (andsi3_internal4): Renamed old andsi3_internal3.
15010         (andsi3_internal5): New.
15011         (andsi3_internal5+1): Enable split for powerpc64.
15012         (andsi3_internal5+2): New split.
15013         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
15014         (anddi3): Handle 't' constraint.
15015         (anddi3+1): New split.
15016         (anddi3_internal2): Handle 't' constraint.
15017         (anddi3_internal2+1): New split.
15018         (anddi3_internal3): Handle 't' constraint.
15019         (anddi3_internal3+1): New split.
15020
15021 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
15022
15023         * config/rs6000/rs6000.md: Remove scratch reg on insns using
15024         addze and similar (plus (comparison r1 r2) r3) insns.  Add
15025         missing scratch reg in one case.  Formatting fixes.
15026
15027 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
15028
15029         * cppexp.c (parse_defined): Mark macro used.
15030         * cpphash.h (struct cpp_macro): New member "used".
15031         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
15032         (struct cpp_reader): New member.
15033         * cppinit.c (cpp_finish_options): Set first_unused_line.
15034         (cpp_finish): Warn of unused macros if requested.
15035         (OPT_TABLE): New switches.
15036         (cpp_handle_option): Handle them.
15037         * cpplib.c (do_undef): Warn if macro unused.
15038         (do_ifdef, do_ifndef): Mark macro used.
15039         * cpplib.h (struct cpp_options): New member.
15040         * cppmacro.c (_cpp_warn_if_unused_macro): New.
15041         (enter_macro_context): Mark macro used.
15042         (_cpp_create_definition): Mark macro unused; warn if unused
15043         when redefined.
15044         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
15045         Mark macros used.
15046         * doc/cppopts.texi: Update.
15047
15048 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15049
15050         * dwarf2out.c (SECTION_ASM_OP,
15051         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15052         * system.h (SECTION_ASM_OP): Poison.
15053         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
15054         * config/alpha/alpha-interix.h, config/mips/linux.h
15055         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15056         * config/mmix/mmix-protos.h, config/mmix/mmix.c
15057         (mmix_asm_output_define_label_difference_symbol): Remove.
15058         * config/mmix/mmix.h
15059         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
15060         * doc/tm.texi: Remove documentation.
15061
15062 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
15063
15064         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
15065         (constrain_operands): Likewise.
15066         * regclass.c (record_reg_classes): Likewise.
15067         * reload.c (find_reloads): Likewise.
15068         * doc/md.texi: Likewise.
15069
15070         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
15071         * simplify-rtx.c (simplify_subreg): When converting to a non-int
15072         mode, try to convert to an integer mode of matching size first.
15073
15074         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
15075         from individual subregs, check that each subreg has been generated
15076         sucessfully.
15077
15078 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15079
15080         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
15081         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
15082         FOR_EACH_BB_IN_SBITMAP): Remove.
15083         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
15084         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
15085         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
15086         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
15087         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
15088         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
15089
15090 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15091
15092         * pretty-print.h: New file.
15093
15094 2002-07-23      Paul Koning     <pkoning@equallogic.com>
15095
15096         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
15097         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
15098         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
15099         (TARGET_G_FLOAT): Default to 0 if not defined.
15100         (ieeetoe): New, common routine to convert target format floats
15101         to internal form.
15102         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
15103         vs. others.
15104         (e113toe): Change to use ieeetoe.
15105
15106 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15107
15108         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
15109         IBM.
15110         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15111         (e64toe): Remove special cases for DEC and IBM. Remove support for
15112         ARM_EXTENDED_IEEE_FORMAT.
15113         (e24toe): Remove special cases for DEC.
15114         (significand_size): Simplify. Indent.
15115         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15116         (etoieee, toieee): New.
15117         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15118         etoieee and toieee for IEEE arithmetic.
15119
15120 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15121
15122         * doc/extend.texi: Say ISO C90, not ISO C89.
15123         * doc/invoke.texi: Likewise.
15124         * doc/standards.texi: Likewise.
15125
15126 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15127
15128         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15129         Fix permutation of conversion and plus/mult.
15130         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15131         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15132         (expand_builtin_strncpy) Ditto.
15133         (expand_builtin_memset) Ditto.
15134
15135 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15136
15137         Fix PR/7363:
15138         * c-common.c (c_sizeof_or_alignof_type): New function.
15139         (c_alignof): Remove definition.
15140         * c-common.h (c_sizeof, c_alignof): Define as macros.
15141         (c_sizeof_or_alignof_type): Declare.
15142         (my_friendly_assert): Moved from cp/cp-tree.h
15143         * c-typeck.c (c_sizeof): Remove definition.
15144
15145 2002-07-23  Jan Hubicka  <jh@suse.cz>
15146
15147         * gcse.c (try_replace_reg): Use num_changes_pending.
15148         * recog.c (num_changes_pending): New function.
15149         (validate_replace_src): Use validate_repalce_src_group.
15150         (validate_replace_src_group): New.
15151         * recog.h (validate_repalce_src_group): New.
15152         (num_changes_pending): Likewise.
15153
15154 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15155
15156         * calls.c (emit_library_call_value_1): If
15157         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15158         libcall, const call nor pure call.
15159
15160 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15161
15162         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15163
15164 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15165
15166         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15167
15168 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15169
15170         * config/i386/i386.c (AT_BP): Remove.
15171
15172 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15173
15174         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15175         Default definition.
15176         * gcse.c: Don't define obstack_chunk_free.
15177         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15178         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15179         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15180         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15181         Don't define obstack macros.
15182
15183 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15184
15185         PR target/6744
15186         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15187         ASM_OPERANDS instructions.
15188
15189 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15190
15191         PR target/7361
15192         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15193         constant addresses only on 68HC12.
15194
15195 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15196
15197         * cppfiles.c (stack_include_file): Correct test of whether
15198         a dependency should be output.
15199
15200 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15201
15202         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15203
15204 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15205
15206         * arm.md (movqi): If optimizing and we can create pseudos, use
15207         a ZERO_EXTEND to load from memory, then copy the result into the
15208         target.
15209         (movhi): Likewise, but only for ARMv4.
15210
15211 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15212
15213         * ssa-ccp.c (PHI_PARMS): Remove.
15214
15215 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15216
15217         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15218         on big-endian targets.
15219
15220 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15221
15222         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15223         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15224         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15225         New formatting macros.
15226
15227         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15228
15229 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15230
15231         * rtlanal.c (subreg_regno_offset): Return correct offset for
15232         big endian paradoxical subregs.
15233
15234         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15235         if we got the wrong mode.
15236
15237         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15238         * genrecog.c (write_switch, write_cond): Use it.
15239         * genemit.c (gen_exp): Likewise.
15240
15241 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15242
15243         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15244
15245 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15246
15247         * c-decl.c (build_compound_literal): Defer compound literal decls
15248         until until file end to emit them only if they are actually used.
15249
15250 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15251
15252         * ra-build.c (check_conflict_numbers): Hide unused function.
15253         (livethrough_conflicts_bb): Avoid automatic aggregate
15254         initialization.
15255         (parts_to_webs_1): Avoid `U' integer constant modifier.
15256         (conflicts_between_webs): Wrap a variable in the macro controlling
15257         its usage.
15258         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15259         (dump_igraph, dump_graph_cost): Avoid string concatenation
15260         (dump_static_insn_cost): Avoid automatic aggregate
15261         initialization.
15262         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15263         initialization.
15264         (dump_cost): Avoid string concatenation
15265
15266 2002-07-21  Richard Henderson  <rth@redhat.com>
15267
15268         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15269         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15270
15271 2002-07-21  Richard Henderson  <rth@redhat.com>
15272
15273         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15274         that are not unrolled completely.
15275
15276 2002-07-21  Richard Henderson  <rth@redhat.com>
15277
15278         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15279         * loop.c (strength_reduce): Update.
15280         * toplev.c (rest_of_compilation): Do unrolling in the first
15281         loop pass, not the second.
15282
15283 2002-07-21  Richard Henderson  <rth@redhat.com>
15284
15285         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15286         when flag_argument_noalias == 2.
15287         * alias.c (nonoverlapping_memrefs_p): Handle that.
15288         * print-rtl.c (print_mem_expr): Likewise.
15289
15290 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15291
15292         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15293         instead of __negdi2 directly.
15294
15295 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15296
15297         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15298         * function.c (SYMBOL__MAIN): Remove definition.
15299         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15300         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15301         * profile.c (GCOV_INDEX_TO_BB): Remove.
15302         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15303         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15304
15305 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15306
15307         * c-lex.c (GET_ENVIRONMENT): Remove.
15308         * collect2.c (GET_ENV_PATH_LIST): Remove.
15309         (prefix_from_env): Use GET_ENVIRONMENT.
15310         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15311         (init_standard_includes): Use GET_ENVIRONMENT.
15312         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15313         * gcc.c (GET_ENV_PATH_LIST): Remove.
15314         (make_relative_prefix, process_command): Update.
15315         * protoize.c (GET_ENV_PATH_LIST): Remove.
15316         (do_processing): Update.
15317
15318 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15319
15320         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15321         (grokdeclarator): Likewise.
15322         * c-format.c (C_STD_NAME): Likewise.
15323         * c-lex.c (interpret_integer): Likewise.
15324         * c-typeck.c (build_array_ref): Likewise.
15325         * cpplex.c (_cpp_lex_direct): Likewise.
15326         * toplev.c (documented_lang_options): Likewise.
15327
15328 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15329
15330         * c-format.c (T99_I, T99_UI): Remove.
15331
15332 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15333
15334         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15335
15336 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15337
15338         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15339         do_local_cprop.
15340
15341 2002-07-21  Andreas Jaeger  <aj@suse.de>
15342
15343         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15344
15345 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15346
15347         Improvements for the ifcvt pass from Michael Meissner, with patches
15348         by Richard Sandiford <rsandifo@redhat.com>
15349         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15350         * ifcvt.c (cond_exec_changed_p): New static variable.
15351         (last_active_insn): New function, renamed from last_active_insn_p
15352         and changed to return the last active insn in a basic block. All
15353         callers updated.
15354         (block_fallthru): New function.
15355         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15356         IFCVT_MODIFY_INSN.  All callers updated.
15357         Return false if START or END are NULL.
15358         Handle case where we're processing an insn that is already
15359         conditional.
15360
15361         (noce_process_if_block): CE_INFO argument rather than
15362         multiple args containing the involved basic blocks.  All callers
15363         changed.
15364         (process_if_block, merge_if_block, find_if_block,
15365         cond_exec_process_if_block): Likewise.
15366
15367         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15368         changed.
15369         Use new function last_active_insn to simplify some code.
15370         New code to handle multiple tests.
15371         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15372         cond_exec_changed_p to TRUE.
15373
15374         (process_if_block): New code to handle multiple tests.
15375         (merge_if_block): Likewise.
15376         (find_if_header): New arg PASS.  Changed to return the currently
15377         processed basic block or NULL instead of true/false. All callers
15378         changed.
15379         Call IFCVT_INIT_EXTRA_FIELDS.
15380         (block_jumps_and_fallthru_p): New function.
15381         (find_if_block): Discover opportunities to convert multiple tests.
15382         Add additional debugging output.
15383         Update the ce_info structure before returning.
15384
15385         (if_convert): Run multiple passes of if-conversion.
15386         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15387         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15388         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15389         these macros.
15390
15391 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15392
15393         * gcse.c: Include cselib.h
15394         (constptop_register): Break out from ...
15395         (cprop_insn): ... here; kill basic_block argument.
15396         (do_local_cprop, local_cprop_pass): New functions.
15397         (one_cprop_pass): Call local_cprop_pass.
15398
15399 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15400
15401         * simplify-rtx.c (simplify_relational_operation): Optimize
15402         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15403
15404 2002-07-20  Michae Matz  <matz@suse.de>
15405
15406         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15407
15408 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15409
15410         * cppexp.c (struct op): Add token pointer.
15411         (check_promotion, CHECK_PROMOTION): New.
15412         (optab): Update.
15413         (_cpp_parse_expr): Update, use token pointer of struct op.
15414         (reduce): Warn about change of sign owing to promotion.
15415         * cppinit.c (cpp_handle_option): New warning if -Wall.
15416         * cpplib.h (struct cpp_options): New member.
15417
15418 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15419
15420         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15421         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15422         Power4 fpcompare.
15423         (fix_truncdfsi2_internal): Restore FPR preference.
15424         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15425         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15426
15427 2002-07-19  Momchil Velikov <velco@fadata.bg>
15428
15429         * reload1.c (reload_as_needed): Duplicate oldpat.
15430
15431 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15432
15433         PR optimization/7130
15434         * loop.h (struct loop_info): Add "preconditioned".
15435         * unroll.c (unroll_loop): Set it.
15436         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15437
15438 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15439
15440         * rtl.def (CODE_LABEL): Remove slot 8.
15441         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15442         (LABEL_ALTERNATE_NAME): Delete.
15443         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15444         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15445
15446         * final.c (output_alternate_entry_point): New.
15447         (final_scan_insn): Use it instead of
15448         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15449         of a case label being an alternate entry point.
15450
15451         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15452         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15453         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15454         (field deleted).
15455         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15456
15457         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15458         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15459         * doc/tm.texi: Delete documentation of
15460         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15461
15462 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15463
15464         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15465         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15466         (LINK_SPEC): Define.
15467         (STARTFILE_SPEC): Define.
15468         (ENDFILE_SPEC): Define.
15469
15470         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15471         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15472
15473         * config/mips/iris6-o32-gas.h: New file.
15474         * config.gcc (mips-sgi-irix6*o32): Use it.
15475
15476         * config/mips/t-iris5-gas: New file.
15477         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15478
15479 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15480
15481         * cppexp.c (ALWAYS_EVAL): Remove.
15482         (optab, reduce): Always evaluate.
15483         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15484         only if not skipping evaluation.
15485
15486 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15487
15488         * config/avr/avr.c (debug_hard_reg_set): Remove.
15489
15490 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15491
15492         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15493
15494 2002-07-19  Richard Henderson  <rth@redhat.com>
15495
15496         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15497
15498 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15499
15500         * prefix.c (update_path): Don't zap single `.' path components
15501         unless followed by another `.' and fix typo last patch.
15502
15503 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15504
15505         * cppexp.c (cpp_num_mul): Remove unused parameter.
15506         (UNARY, BINARY, OTHER, binary_handler): Remove.
15507         (ALWAYS_EVAL): New.
15508         (optab): Update.
15509         (reduce): Refactor to a large switch, don't use a function
15510         pointer.
15511
15512 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15513
15514         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15515
15516 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15517
15518         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15519         (sh_expand_binop_v2sf): Likewise.
15520         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15521         (int_gpr_dest, trunc_hi_operand): New functions.
15522         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15523         trunc_hi_operand.
15524         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15525         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15526         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15527         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15528         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15529         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15530         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15531         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15532         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15533         (movsf_ie+1): Likewise.
15534         (loaddi_trunc): Use int_gpr_dest predicate.
15535         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15536         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15537         (casesi_worker_0+[12], casesi_worker): Likewise.
15538         (shcompact_preserve_incoming_args): Likewise.
15539         (mov_nop): Use any_register_operand predicate.
15540         (mperm_w0): Use trunc_hi_operand predicate.
15541
15542 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15543
15544         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15545         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15546         numbering.
15547
15548 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15549
15550         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15551
15552 2002-07-18  Richard Henderson  <rth@redhat.com>
15553
15554         PR optimization/7147
15555         * ifcvt.c (noce_get_condition): Make certain that the condition
15556         is valid at JUMP.
15557
15558 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15559
15560         * sh.c (barrier_align, push): Shut up compiler warnings.
15561         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15562         (reg_no_subreg_operand): Delete.
15563
15564 2002-07-17  Bo Thorsen  <bo@suse.de>
15565
15566         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15567         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15568         (STARTFILE_SPEC): Remove hardcoded library paths.
15569         (ENDFILE_SPEC): Likewise.
15570
15571 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15572
15573         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15574
15575         * gcse.c (try_replace_reg): Do not return false positives.
15576
15577 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15578
15579         * prefix.c: (update_path): Strip ".." components when prior dir
15580         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15581
15582         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15583         (ASM_OUTPUT_REG_POP): Likewise.
15584
15585 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15586
15587         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15588         adjustments to first_reg for profiling case.
15589         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15590         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15591         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15592         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15593         (ASM_OUTPUT_REG_POP): Define.
15594         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15595         (ASM_OUTPUT_REG_POP): Undef.
15596
15597 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15598
15599         * cpplib.c (do_sccs): Handle #sccs on all systems.
15600         * system.h (SCCS_DIRECTIVE): Poison.
15601         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15602         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15603         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15604         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15605         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15606         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15607         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15608         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15609         Remove all references to SCCS_DIRECTIVE.
15610         * doc/cpp.texi, doc/tm.texi: Update.
15611
15612 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15613
15614         * regrename.c (maybe_mode_change): New function.
15615         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15616
15617 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15618
15619         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15620         suppress addition when either ct or cf are zero.
15621
15622 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15623             Glen Nakamura <glen@imodulo.com>
15624
15625         PR optimization/6713
15626         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15627         sets a non-replaceable giv after issuing the new one.
15628
15629 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15630
15631         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15632         eval_token): Clarify and correct use of "bool" variables.
15633         * cpplib.h (struct cpp_options): Similarly.
15634         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15635         * cpptrad.c (recursive_macro): Similarly.
15636
15637 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15638
15639         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15640         SHmedia code.
15641
15642         * sh.md (cmpgtudi_media): Remove spurious @.
15643
15644         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15645         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15646
15647         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15648         * sh-protos.h (sh_initialize_trampoline): Declare.
15649         * sh.c (sh_initialize_trampoline): New function.
15650         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15651         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15652         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15653         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15654         * sh.md (initialize_trampoline, double_shori): New patterns.
15655         (initialize_trampoline_compact): Likewise.
15656         (shmedia32_initialize_trampoline_big): Remove.
15657         (shmedia32_initialize_trampoline_little): Likewise.
15658
15659         * sh-protos.h (binary_float_operator): Remove declaration.
15660         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15661         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15662         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15663         (sh_expand_binop_v2sf): Likewise.
15664         (zero_vec_operand): Delete.
15665         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15666         all non-shared ones.
15667         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15668         Enable nsb and byterev.
15669         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15670         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15671         in general regs.
15672         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15673         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15674         immediate operands.
15675         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15676         Add DF_HI_REGS.
15677         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15678         lowpart fp regs - only for big endian for now.
15679         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15680         when FPU is in use.
15681         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15682         (LOAD_EXTEND_OP): NIL for SImode.
15683         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15684         general and fp registers is 4.
15685         PREDICATE_CODES: Amend binary_float_operator entry.
15686         Remove zero_vec_operand.  Add unary_float_operator.
15687         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15688         subreg SET_DEST.
15689         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15690         (truncdiqi2): Do sign extension.
15691         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15692         (movdf_media, movsf_media): Likewise.
15693         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15694         Collapse to one define_insn_and_split.  Allow immediate sources.
15695         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15696         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15697         (movv4sf): Allow immediate sources.
15698         (movsf_media_nofpu+1): Don't split moves to FP registers.
15699         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15700         (movv8qi_i+3): Check against CONST0_RTX.
15701         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15702         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15703         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15704         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15705         (mshf0_w, fipr, ftrv): Likewise.
15706         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15707
15708 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15709
15710         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15711         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15712         * arm.c: Similarly.
15713
15714 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15715
15716         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15717         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15718         (TARGET_SWITCHES): Remove debugh.
15719         (ISA_HAS_TRUNC_W): New macro.
15720         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15721         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15722         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15723         any SImode move_operand.
15724         (se_nonimmediate_operand): Remove.
15725         (mips_sign_extend): New.
15726         (mips_move_2words): Use it for sign-extended source operands.
15727         (override_options): Allow integers to be put into single FPRs.
15728         (mips_secondary_reload_class): Handle integers in float registers.
15729         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15730         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15731         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15732         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15733         (fix_truncdfdi2): Provide only a single alternative, in which the
15734         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15735         than TARGET_64BIT.
15736         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15737         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15738         (movdi_internal2): Don't allow the source operand to be sign-extended.
15739         Add alternatives for float registers.
15740         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15741         allows sign-extension.
15742         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15743         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15744         float registers.  Remove TARGET_DEBUG_H_MODE test.
15745         (movhi_internal1): Rename to movhi_internal.  Don't check
15746         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15747         (movqi_internal1): Rename to movqi_internal and remove
15748         TARGET_DEBUG_H_MODE dependency.
15749         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15750
15751 2002-07-16  Jim Wilson  <wilson@redhat.com>
15752
15753         * toplev.c (lang_dependent_init): Create function context for
15754         init_expr_once.
15755
15756 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15757
15758         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15759         --gc-sections if -r.
15760         * config/cris/cris.h: Ditto.
15761
15762 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15763
15764         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15765         the comparison directly gives a mask suppress addition when cf is
15766         zero by complementing the mask.
15767
15768 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15769
15770         * Makefile.in: Delete references to enquire.
15771         * enquire.c: Move to contrib.
15772
15773 2002-07-16  Stan Shebs  <shebs@apple.com>
15774
15775         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15776         config/rs6000/darwin.h.
15777         (ASM_OUTPUT_SKIP): Ditto.
15778         (TEXT_SECTION_ASM_OP): Ditto.
15779         (DATA_SECTION_ASM_OP): Ditto.
15780         (ASM_APP_ON): Define.
15781         (ASM_APP_OFF): Define.
15782         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15783         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15784
15785         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15786         (machopic_function_base_name): Declare result to be const.
15787         (machopic_non_lazy_ptr_name): Ditto.
15788         (machopic_stub_name): Ditto.
15789         * config/darwin-protos.h: Ditto for the prototypes.
15790
15791 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15792
15793         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15794
15795 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15796
15797         * i386.md (prefetch): Fix for 64bit mode.
15798         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15799
15800 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15801
15802         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15803         * i386.c (x86_machine_dependent_reorg): New function.
15804         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15805
15806 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15807
15808         * builtins.c (std_expand_builtin_va_start): Remove unused
15809         first argument.
15810         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15811         std_expand_builtin_va_start with just two arguments.
15812         * expr.h: Update prototypes.
15813
15814         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15815         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15816         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15817         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15818         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15819         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15820         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15821         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15822         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15823         argument from all implementations of EXPAND_BUILTIN_VA_START
15824         and all uses of std_expand_builtin_va_start.
15825
15826 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15827
15828         * regrename.c (copy_value): Don't record high part copies.
15829
15830 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15831
15832         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15833         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15834         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15835
15836 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15837
15838         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15839
15840         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15841         into addsi3 using register class "x" and "y".
15842
15843         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15844         "earlyclobber" constraint modifier for some alternative.
15845
15846         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15847         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15848         unordered.
15849         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15850
15851         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15852         (TARGET_SWITCHES): Add -mieee-compare option.
15853         (OVERRIDE_OPTIONS): 32332 is a subset of
15854         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15855         (TARGET_SWITCHES): Fix description of bitfield option.
15856         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15857         -mieee-compare option. Remove 32332 flag.
15858
15859 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15860
15861         * explow.c (convert_memory_address): Remove special handling
15862         when POINTERS_EXTEND_UNSIGNED < 0.
15863         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15864         (movedi_symbolic): Fix typo.
15865         (load_fptr): Remove mode restriction so it works for SI and DI.
15866         (load_fptr_internal1): Ditto.
15867         (load_gprel): Ditto.
15868         (load_symptr_internal1): Ditto.
15869         (call_pic): Ditto.
15870         * config/ia64.c (call_operand): Modify mode check.
15871         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15872         (ia64_expand_move): Ditto.
15873         (ia64_assemble_integer): Handle SImode function pointers.
15874         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15875         (ia64_expand_op_and_fetch): Ditto.
15876         (ia64_expand_compare_and_swap): Ditto.
15877         (ia64_expand_lock_test_and_set): Ditto.
15878         (ia64_expand_lock_release): Ditto.
15879
15880 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15881
15882         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15883
15884 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15885             Richard Earnshaw  <rearnsha@arm.com>
15886
15887         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15888         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15889
15890 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15891
15892         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15893         understands to be a memory clobber.
15894         * arm.c (arm_expand_prologue): Use it.
15895
15896 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15897
15898         * ra-rewrite.c: #include reload.h, insn-config.h
15899         * ra-build.c: #include reload.h
15900         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15901         depend on reload.h, insn-config.h.
15902
15903 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15904
15905         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15906         the same size as a word.
15907
15908         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15909         BYTES_BIG_ENDIAN into account.
15910
15911 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15912
15913         * i386.md (prefetch): Fix for 64bit mode.
15914         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15915
15916         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15917
15918 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15919
15920         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15921
15922 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15923
15924         * ginclude/varargs.h: Replace with stub which issues #error.
15925         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15926         __builtin_va_start.
15927
15928         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15929         (BUILT_IN_VA_START): New.
15930         * builtins.c (expand_builtin_va_start): Eliminate first
15931         argument and code to implement pre-ISO varargs.
15932         (std_expand_builtin_va_start): Ignore first argument; it is
15933         always 1.
15934         (expand_builtin): Handle BUILT_IN_VA_START and
15935         BUILT_IN_STDARG_START identically.  Delete
15936         BUILT_IN_VARARGS_START case.
15937
15938         * function.c (assign_parms): Delete hide_last_arg and all
15939         its uses.
15940         (mark_varargs): Delete function.
15941         * function.h (struct function): Delete 'varargs' bit.
15942         (current_function_varargs): Delete macro.
15943         * tree.h: Don't declare mark_varargs.
15944
15945         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15946         (c_expand_body): Don't call mark_varargs.
15947         * c-objc-common.c: Handle BUILT_IN_VA_START and
15948         BUILT_IN_STDARG_START identically.  Delete
15949         BUILT_IN_VARARGS_START case.
15950         * c-tree.h: Don't declare c_mark_varargs.
15951         * c-parse.in: Remove grammar rules for '&...' (which has been
15952         commented out since before 2.7.2) and for '...' in K+R
15953         argument declarations.
15954
15955         * builtins.c, function.c, integrate.c, sibcall.c,
15956         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15957         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15958         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15959         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15960         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15961         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15962         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15963         config/stormy16/stormy16.c: Delete all references to
15964         current_function_varargs, and code predicated on that flag.
15965
15966         * config/alpha/alpha.c (alpha_va_start),
15967         config/arc/arc.c (arc_va_start),
15968         config/i386/i386.c (ix86_va_start),
15969         config/mips/mips.c (mips_va_start),
15970         config/mn10300/mn10300.c (mn10300_va_start),
15971         config/rs6000/rs6000.c (rs6000_va_start),
15972         config/s390/s390.c (s390_va_start),
15973         config/sh/sh.c (sh_va_start),
15974         Ignore first argument; it is always 1.
15975
15976         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15977         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15978         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15979         Delete m68hc11_va_start.
15980         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15981         No need to define EXPAND_BUILTIN_VA_START.
15982
15983         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15984         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15985
15986 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15987
15988         PR optimization/7153
15989         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15990         dies in more than one insn.
15991
15992 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15993
15994         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15995
15996 2002-07-15  Michael Matz  <matz@suse.de>,
15997             Daniel Berlin  <dberlin@dberlin.org>,
15998             Denis Chertykov  <denisc@overta.ru>
15999
16000         Add a new register allocator.
16001
16002         * ra.c: New file.
16003         * ra.h: New file.
16004         * ra-build.c: New file.
16005         * ra-colorize.c: New file.
16006         * ra-debug.c: New file.
16007         * ra-rewrite.c: New file.
16008
16009         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
16010         (ra-rewrite.o): New .o files for libbackend.a.
16011         (GTFILES): Add basic-block.h.
16012
16013         * toplev.c (flag_new_regalloc): New.
16014         (f_options): New option "new-ra".
16015         (rest_of_compilation): Call initialize_uninitialized_subregs()
16016         only for the old allocator.  If flag_new_regalloc is set, call
16017         new allocator, instead of local_alloc(), global_alloc() and
16018         friends.
16019
16020         * doc/invoke.texi: Document -fnew-ra.
16021         * basic-block.h (FOR_ALL_BB): New.
16022         * config/rs6000/rs6000.c (print_operand): Write small constants
16023         as @l+80.
16024
16025         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
16026         (df_reg_table_realloc): Make size at least as large as max_reg_num().
16027         (df_insn_table_realloc): Size argument now is absolute, not relative.
16028         Changed all callers.
16029
16030         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
16031         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
16032
16033         2002-06-20  Michael Matz  <matz@suse.de>
16034
16035         * df.h (struct ref.id): Make unsigned.
16036         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
16037
16038         2002-06-13  Michael Matz  <matz@suse.de>
16039
16040         * df.h (DF_REF_MODE_CHANGE): New flag.
16041         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
16042         involving subregs with invalid mode changes, when
16043         CLASS_CANNOT_CHANGE_MODE is defined.
16044
16045         2002-05-07  Michael Matz  <matz@suse.de>
16046
16047         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
16048
16049         2002-05-03  Michael Matz  <matz@suse.de>
16050
16051         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
16052
16053         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
16054
16055         * regclass.c (regclass): Work with all regs which have sets or
16056         refs.
16057         (reg_scan_mark_refs): Count regs inside (clobber ...).
16058
16059         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
16060
16061         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
16062         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
16063         add new refs.
16064         (df_bb_refs_update): Don't clear insns_modified here, ...
16065         (df_analyse): ... but here.
16066
16067         * sbitmap.c (dump_sbitmap_file): New.
16068         (debug_sbitmap): Use it.
16069
16070         * sbitmap.h (dump_sbitmap_file): Add prototype.
16071
16072         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
16073
16074         * df.c (df_insn_modify): Grow the UID table if necessary, rather
16075         than assume all emits go through df_insns_modify.
16076
16077         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
16078
16079         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
16080         increase REG_N_REFS (like flow does), so that regclass doesn't
16081         think a reg is useless, and thus, not calculate a class, when it
16082         really should have.
16083
16084         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
16085
16086         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
16087         dataflow analysis.
16088
16089 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
16090
16091         PR middle-end/7245
16092         * config/i386/i386.c (const_int_1_31_operand): New.
16093         * config/i386/i386.h (PREDICATE_CODES): Add it.
16094         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
16095         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
16096         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
16097
16098 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
16099
16100         PR target/7282
16101         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
16102         (floatunssidf2): Likewise.
16103         (floatsidf_ppc64): New insn_and_split.
16104         (floatunssidf_ppc64): Likewise.
16105
16106 2002-07-14  Andreas Jaeger  <aj@suse.de>
16107
16108         * config.gcc (sh64): Remove unused
16109         target_requires_64bit_host_wide_int.
16110
16111 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16112
16113         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16114         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16115         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16116         whether clear_by_pieces should be used to clear storage.
16117         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16118
16119         * doc/tm.texi: Document these two new target macros.
16120
16121 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16122
16123         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16124         the scratch register.
16125         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16126         of it, forbid reload to use it.
16127
16128 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16129
16130         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16131         usage on 64-bit hosts, return value was truncated to 32 bits.
16132
16133 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16134
16135         * simplify-rtx.c (simplify_subreg): Handle floating point
16136         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16137         the element mode is requested, compute a subreg with an
16138         integer mode of the same size as the element mode first.
16139
16140 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16141
16142         * combine.c (try_combine): When converting a paradoxical subreg
16143         to an extension, take LOAD_EXTEND_OP into account.
16144
16145 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16146
16147         * config.gcc (mips-sgi-irix6*o32): New configuration.
16148
16149         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16150         configurations.
16151         * configure: Regenerate.
16152
16153         * config/mips/iris6-o32-as.h: New file.
16154         * config/mips/iris6-o32.h: New file.
16155
16156         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16157         (NM_FLAGS): Define.
16158         (HAVE_AS_SHF_MERGE): Undefine.
16159
16160         * config/mips/t-iris5-as: New file.
16161         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16162
16163         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16164         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16165         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16166         dp-bit.c, fp-bit.c): Move ...
16167         * config/mips/t-iris5-6: ... here.
16168         New file, shared by IRIX 5 and IRIX 6.
16169         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16170         mips-sgi-irix5*): Use it.
16171
16172         * config/mips/iris6.h: Remove duplicate comment.
16173
16174         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16175         !TARGET_IRIX6]: Define.
16176         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16177
16178         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16179
16180 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16181
16182         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16183         and delete code to force constant to register.
16184         * pa-protos.h (adddi3_operand): Add prototype.
16185         * pa.c (adddi3_operand): New function.
16186
16187 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16188
16189         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16190         non-ANSI builtin functions.
16191
16192 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16193
16194         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16195         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16196         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16197         (gen_const_vector_0): Use it.
16198
16199 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16200
16201         * pa.md (adddi3): For 32-bit targets, force constants to a register
16202         if they don't fit in an 11-bit immediate.  Change insn predicate to
16203         arith11_operand.  Remove comment.
16204         * pa.c (cint_ok_for_move): Fix comment.
16205         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16206         targets.
16207
16208 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16209
16210         Remove front end hard coding from gengtype.c.
16211
16212         * Makefile.in
16213         (STAGESTUFF): add gtyp-gen.h
16214         (GTFILES): Remove front end specific files.
16215         (GTFILES_FILES_LANGS): New, from configure..
16216         (GTFILES_FILES_FILES): Likewise.
16217         (GTFILES_LANG_DIR_NAMES): Likewise.
16218         (GTFILES_SRCDIR): Likewise.
16219         (gtyp-gen.h): Build from configure information.
16220         (s-gtype): Remove command line parameters from gengtype.
16221         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16222         (mostlyclean): Delete files generated by and for gengtype.
16223
16224         * c-config-lang.in: New file.
16225
16226         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16227         for each language.
16228         (all_gtfiles_files_files): New. Accumulate language for each file
16229         accumulated.
16230         (gtfiles): Pick up value for C.
16231         (srcdir): AC-SUBST this variable.
16232         (all_gtfiles_files_langs): AC-SUBST this variable.
16233         (all_gtfiles_files_files): AC-SUBST this variable.
16234
16235         * configure: Regenerate.
16236
16237         * gengtype-lex.l (parse_file): Make parameter const.
16238
16239         * gengtype.c (toplevel): include gtyp-gen.h.
16240         (BASE_FILE_<language> unnamed enum): Delete.
16241         (lang_names): Delete (replaced by gtyp-gen.h)
16242         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16243         all references.
16244         (NUM_GT_FILES): New.
16245         (NUM_LANG_FILES): New.
16246         (srcdir_len): New.
16247         (NUM_BASE_FILES): Change calculation.
16248         (open_base_files): Change prototype to avoid warning.
16249         (startswith): Delete.
16250         (get_file_basename): Iterate through generated language list not
16251         hard coded list.
16252         (get_base_file_bitmap): Use generated list of files and languages.
16253         (close_output_files): Add prototype to rmove warning.
16254         (main): Iterate through list of generated files from gtyp-gen.h
16255         rather than command line paramaters.  Ignore duplicated file
16256         names.
16257
16258         * gengtype.h (parse_file): Amend prototype for const parameter.
16259
16260         * doc/sourcebuild.texi: Document gtfiles variable.
16261
16262         * doc/gty.texi: Document changes to gtfiles variable for front
16263         ends.
16264
16265         * objc/config-lang.in (gtfiles): Add files needed for objc front
16266         end.
16267
16268 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16269
16270         PR c/2454
16271         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16272         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16273
16274 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16275             Zack Weinberg <zack@codesourcery.com>
16276
16277         * builtins.def: Make the argument types of abort and exit
16278         independent of the front-end.
16279
16280 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16281
16282         * config/rs6000/linux64.h (ASM_SPEC): Define.
16283
16284 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16285
16286         * config/rs6000/rs6000.c (emit_frame_save): New.
16287         (rs6000_frame_related): Replace reg2 before reg.
16288         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16289         and eh_return registers.
16290
16291 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16292
16293         Revert all patches for optimization of Complex .op. Real.
16294         * complex_part_zero_p: Remove
16295         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16296         with x.
16297         * expand_cmplxdiv_wide: Ditto.
16298         * expand_binop: Ditto.
16299
16300 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16301
16302         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16303         negative also on 64-bit hosts.
16304
16305         Default to -fno-reorder-blocks when optimizing for size.
16306         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16307         * config/avr/avr.c (avr_optimization_options): New function.
16308         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16309
16310         Optimize returning from simple functions.
16311         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16312         * config/avr/avr.c (avr_simple_epilogue): New function.
16313         * config/avr/avr.md (return): New insn.
16314
16315 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16316
16317         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16318         HAS_INIT_SECTION to protection.
16319
16320 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16321
16322         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16323         deprecated.
16324
16325 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16326
16327         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16328         Supply non-VOID mode to simplify_gen_subreg.
16329
16330 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16331
16332         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16333
16334 2002-07-10  Jeffrey A Law  <law@redhat.com>
16335
16336         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16337         as appropriate.
16338
16339         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16340         register to use.
16341
16342 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16343
16344         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16345         Get mode from dest.
16346         If simplify_gen_subreg fails, try next equivalent.
16347
16348 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16349
16350         * diagnostic.h: #include location.h
16351         (location_t): Move definition to..
16352         * location.h: ... here.  New file.
16353         * tree.h: #include location.h
16354         (DECL_SOURCE_LOCATION): New macro.
16355         (DECL_SOURCE_FILE): Use.
16356         (DECL_SOURCE_LINE): Likewise.
16357         (struct tree_decl): REplace filename and linenum with locus.
16358         * Makefile.in (TREE_H): add location.h
16359         (diagnostic.o): Depends on gt-location.h
16360         (gt-location.h): Depends on s-gtype
16361
16362 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16363
16364         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16365         TARGET_OS_CPP_BUILTINS.
16366         * config/rs6000/aix31.h: Likewise.
16367         * config/rs6000/aix41.h: Likewise.
16368         * config/rs6000/aix43.h: Likewise.
16369         * config/rs6000/aix51.h: Likewise.
16370         * config/rs6000/beos.h: Likewise.
16371         * config/rs6000/darwin.h: Likewise.
16372         * config/rs6000/eabi.h: Likewise.
16373         * config/rs6000/eabisim.h: Likewise.
16374         * config/rs6000/linux.h: Likewise.
16375         * config/rs6000/linux64.h: Likewise.
16376         * config/rs6000/lynx.h: Likewise.
16377         * config/rs6000/mach.h: Likewise.
16378         * config/rs6000/rtems.h: Likewise.
16379         * config/rs6000/sysv4.h: Likewise.
16380         * config/rs6000/vxppc.h: Likewise.
16381
16382 2002-07-09 Devang Patel <dpatel@apple.com>
16383         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16384         Do not allow ObjC objects as a parameter type for Objective-C methods.
16385         My previous patch restricted  'struct' also.
16386
16387 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16388
16389         * cpperror.c (cpp_error): Default to directive_line within
16390         directives here.
16391         * cppexp.c (cpp_interpret_integer): Only use traditional
16392         number semantics in directives.
16393         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16394         (do_include_common): Similarly.
16395         * cpptrad.c (scan_out_logical_line): Implement accurate
16396         quoting of <> in #include.
16397         * doc/cpp.texi: Update.
16398
16399 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16400                           J"orn Rennecke <joern.rennecke@superh.com>
16401
16402         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16403         * sh.md (attribute issues): Replace with:
16404         (attribute pipe_model).  All users changed.
16405         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16406         All users changed.
16407         (function units sh5issue, sh5fds): New.
16408         (attribute is_mac_media): New.
16409         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16410         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16411         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16412         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16413         (call_media, call_value_media, sibcall_media): Likewise.
16414         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16415         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16416         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16417         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16418         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16419         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16420         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16421         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16422         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16423         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16424         (truncdfsf2_media): Likewise.
16425         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16426         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16427
16428 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16429
16430         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16431         * sh.c (general_extend_operand, inqhi_operand): New functions.
16432         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16433         alternatives using 'N' modifier.  Add type.
16434         (adddi3z_media): Likewise.  Enable generator function generation.
16435         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16436         exact predicates / constraints.  Add type.
16437         (subsi3): Allow 0 for SHMEDIA.
16438         (udivsi3_i4_media): Use match_operand for input values
16439         rather than hard registers.
16440         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16441         unnecessarily through hard registers.  Keep copies of pseudo
16442         registers outside of the libcall sequence.
16443         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16444         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16445         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16446         (extendhidi2, extendqidi2): Likewise.
16447         (andsi3_compact): Name.
16448         (andcdi3): Enable generator function generation.
16449         (zero_extendhisi2, zero_extendqisi2): Rename to
16450         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16451         (extendhisi2, extendqisi2): Rename to
16452         (extendhisi2_compact, extendqisi2_compact).
16453         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16454         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16455         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16456         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16457         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16458         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16459         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16460         (shmedia32_initialize_trampoline_big): Likewise.
16461         (shmedia32_initialize_trampoline_little): Likewise.
16462         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16463         (negdi2): Remove spurious T clobber.
16464         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16465         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16466         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16467         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16468         (ic_invalidate_line_media): Write back data cache before invalidating
16469         instruction cache.  Add type.
16470         (movsf_media): Sign-extend when the destination is a general
16471         purpose register.  Add type.
16472         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16473         (casesi_worker_0+1): Only increment ref count for proper label.
16474         (casesi_worker_0+2): Likewise.
16475
16476 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16477
16478         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16479
16480 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16481
16482         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16483         from Pmode to ptr_mode.
16484         (get_exception_pointer): Ditto.
16485         (connect_post_landing_pads): Ditto.
16486         (dw2_build_landing_pads): Ditto.
16487
16488 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16489         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16490         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16491         (handle_pragma_redefine_extname): Change to use new function.
16492
16493 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16494
16495         * combine.c (combine_simplify_rtx): Add an explicit cast
16496         to avoid signed/unsigned comparison warning.
16497         (simplify_if_then_else): Likewise.
16498         (extended_count): Likewise.
16499         (simplify_shift_const): Likewise.
16500         (simplify_comparison): Likewise.
16501
16502 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16503
16504         * config/mips/mips.md: Add imadd type.  Update scheduler description
16505         to use imadd as well as imul.
16506         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16507         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16508         (*mul_sub_si): Likewise for first alternative.  Change second
16509         alternative from imul to multi.
16510
16511 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16512
16513         * c-common.c (c_common_post_options): Update prototype;
16514         don't init backends if preprocessing only.
16515         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16516         * langhooks.h (struct lang_hooks): Update post_options to
16517         return a boolean.
16518         * toplev.c (parse_options_and_default_flags, do_compile,
16519         lang_independent_init): Update prototypes.  Allow the
16520         front end to specify that there is no need to initialize
16521         the back end.
16522         (general_init): Move call to hex_init here...
16523         (toplev_main): ...from here.  Pass flag for back end init
16524         suppression.
16525
16526 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16527
16528         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16529         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16530         greater_comparison_operator and less_comparison_operator.
16531         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16532         more operators.
16533         (equality_comparison_operator): New function.
16534         (greater_comparison_operator, less_comparison_operator): Likewise.
16535         * sh.md (beq_media_i): Disable generator function generation.
16536         Use match_operator to handle a whole class of comparisons.  Add
16537         modifier in output template to provide branch prediction.  Add type.
16538         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16539         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16540         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16541         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16542
16543 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16544
16545         Emit MMIX function prologue and epilogue as rtl.
16546         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16547         not unprototyped get_hard_reg_initial_val.
16548         ("call_value", "nonlocal_goto_receiver"): Ditto.
16549         ("return"): Make define_expand.  Move real insn to...
16550         ("*expanded_return"): New pattern.
16551         ("prologue", "epilogue"): New define_expands.
16552         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16553         (struct machine_function): New member in_prologue.
16554         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16555         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16556         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16557         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16558         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16559         (LOCAL_REGNO): Define.  Adjust comment.
16560         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16561         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16562         leaf_function_p.
16563         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16564         the prologue.
16565         (mmix_target_asm_function_prologue): Make static.  Just mark that
16566         the prologue is being emitted.  Move guts to...
16567         (mmix_expand_prologue): New function.  Adjust for emitting
16568         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16569         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16570         \n.  Move guts to...
16571         (mmix_expand_epilogue): New function.  Adjust for emitting
16572         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16573         (mmix_target_asm_function_end_prologue): Mark that the prologue
16574         has ended.
16575         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16576         (mmix_conditional_register_usage): Improve comments.
16577         (mmix_local_regno): New function.
16578         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16579         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16580         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16581         (mmix_get_hard_reg_initial_val): Ditto.
16582
16583 2002-07-06  Andreas Jaeger  <aj@suse.de>
16584
16585         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16586         definitions.
16587         * gengtype.c (open_base_files): Likewise.
16588         (close_output_files): Likewise.
16589         * tracer.c (find_best_predecessor): Likewise.
16590         (find_best_successor): Likewise.
16591         (ignore_bb_p): Likewise.
16592
16593 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16594
16595         PR c++/7099
16596         * builtin-attrs.def: Define new attribute lists for use in
16597         builtins.def.
16598         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16599         ATTRS argument, an enumerated value defined in builtin-attrs.def
16600         that represents the attribute list for the builtins.  Modify
16601         all builtin functions to pass an appropriate attribute list.
16602         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16603         their required noreturn attributes.
16604         * tree.h (enum_builtin_function): Ignore the additional parameter
16605         to DEF_BUILTIN.
16606         * builtins.c (built_in_names): Likewise.
16607         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16608         argument with a tree representing the functions attribute list.
16609         Pass this "attrs" argument to builtin_function.  No longer handle
16610         the noreturn_p processing manually.
16611         (built_in_attributes): Move the definitions from builtin-attrs.def
16612         before c_common_nodes_and_builtins.
16613         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16614         DEF_BUILTIN, passing it to both builtin_function and the changed
16615         builtin_function_2.
16616
16617         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16618         __builtin__exit and __builtin__Exit.
16619
16620 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16621
16622         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16623         QI mode registers in soft registers.
16624         ("zero_extendqihi2"): Do not take into account soft registers
16625         for register allocation (use '*' constraint).
16626
16627 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16628
16629         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16630         it is dead.
16631         ("*ashrsi3"): Likewise.
16632         ("*lshrsi3"): Likewise.
16633
16634 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16635
16636         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16637         into account.
16638
16639 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16640
16641         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16642         address computation and memory moves.
16643
16644 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16645
16646         PR c++/6706
16647         * dwarfout.c (output_reg_number): Fix warning message.
16648         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16649         before using it.
16650
16651 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16652
16653         * gcc/gcc.c (asm_debug): Move initialization ...
16654         (init_spec): ... here.
16655
16656 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16657
16658         * c-parse.in (extdef): Append ';'.
16659         (old_style_parm_decls): Append ';'.
16660
16661 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16662
16663         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16664         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16665         to gcc_cv_as_gstabs_flag.
16666         * configure: Rebuilt.
16667
16668 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16669
16670         * ggc.h (ggc_add_root): Document as obsolete.
16671
16672 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16673
16674         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16675         (mshflo_w): Likewise.
16676
16677 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16678
16679         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16680         vector mode subregs of constants to finding integer mode
16681         subregs of constants.
16682         * cse.c (cse_insn): Use simplify_gen_subreg.
16683         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16684         From a vector mode expression of different size than the
16685         target mode.
16686
16687 2002-07-03  Eric Christopher  <echristo@redhat.com>
16688
16689         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16690         * config/mips/mips.h: Remove deprecated -m<processor> options
16691         and cc1_cpu_spec associated.
16692         (CONSTANT_ADDRESS_P): Fix last patch.
16693         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16694         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16695         sunge_sf): Remove.
16696
16697 2002-07-03  Stan Shebs  <shebs@apple.com>
16698
16699         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16700         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16701         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16702
16703 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16704
16705         * combine.c (struct_undo): Change types of recorded substitutions
16706         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16707         (do_SUBST_INT): Change types of the substitution from unsigned int
16708         to int, to avoid compilation warning from SUBST_INT's only caller.
16709
16710         (make_extraction): Add cast to avoid compilation warning.
16711         (force_to_mode): Remove cast to avoid compilation warning.
16712
16713 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16714             Jeff Law  <law@redhat.com>
16715
16716         * i386.md (length_immediate attribute): Fix typo.
16717         (length_address attribute): Likewise.
16718         (modrm attribute): Set it to 0 for immediate call instructions.
16719         (jcc_1 pattern): Set modrm attribute to 0.
16720         (jcc_2 pattern ): Likewise.
16721         (jump pattern): Likewise.
16722         (doloop_end_internal pattern): Explicitly set length.
16723         (leave pattern): Fix typo.
16724         (leave_rex64 pattern): Likewise.
16725
16726 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16727
16728         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16729         in FPR as preference.
16730         (fctiwz): Same.
16731         (floatdidf2, fix_truncdfdi2): Same.
16732         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16733         (floatditf2): Same.
16734         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16735         (ctrdi): Remove FPR alternative and splitter.
16736
16737 2002-07-03  Will Cohen  <wcohen@redhat.com>
16738
16739         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16740
16741 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16742
16743         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16744         than UNITS_PER_WORD, unless this is little endian and the first unit
16745         in this word.  Let extract_bit_field decide how to load an element.
16746         Force arguments to matching mode.
16747         (expand_vector_unop): Likewise.
16748
16749         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16750         consist of word_mode elements.
16751         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16752         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16753         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16754         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16755         CONST_VECTOR.
16756         * optabs.c (expand_vector_binop): Try to perform operation in
16757         smaller vector modes with same inner size.  Add handling of AND, IOR
16758         and XOR.  Reject expansion to inner-mode sized scalars when using
16759         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16760         (expand_vector_unop): Try to perform operation in smaller vector
16761         modes with same inner size.  Add handling of one's complement.
16762         When there is no vector negate operation, try a vector subtract
16763         operation.  Use simplify_gen_subreg on constants.
16764         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16765         constants into smaller vectors with same inner mode, and to
16766         integer CONST_DOUBLEs.
16767
16768 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16769
16770         * c-parse.in (parsing_iso_function_signature): New variable.
16771         (extdef_1): New, copied from...
16772         (extdef): ... here.  Reset parsing_iso_function_signature.
16773         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16774         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16775         Warn about ISO C style function definitions.
16776         (nested_function, notype_nested_function): Reset
16777         parsing_iso_function_signature.
16778         (parmlist_2): Set parsing_iso_function_signature.
16779
16780         * doc/invoke.texi (-Wtraditional): Document new behavior.
16781
16782 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16783
16784         * config.gcc (mips*el-*-*): Use tm_defines to set
16785         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16786         * config/mips/little.h: Remove.
16787
16788 2002-07-02 Devang Patel <dpatel@apple.com>
16789
16790         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16791         object as parameter. Prevent something like 'NSObject' to be
16792         used as the type for a method argument.
16793
16794 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16795
16796         * cpptrad.c: Update comment.
16797
16798 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16799
16800         * doc/cpp.texi: Update for traditional preprocessing changes.
16801         * goc/cppopts.texi: Similarly.
16802
16803 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16804
16805         * c-parse.in (designator): Enable designated initializers if ObjC.
16806         (objcmessageexpr): Remove references to objc_receiver_context.
16807         * objc/objc-act.h (objc_receiver_context): Remove decl.
16808         * objc/objc-act.c (objc_receiver_context): Remove.
16809         (lookup_objc_ivar): Test objc_method_context instead of
16810         objc_receiver_context.
16811
16812 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16813
16814         * sh.c (print_operand, case 'N'): Allow zero vector.
16815         (arith_reg_or_0_operand): Likewise.
16816         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16817         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16818         IOR, XOR, PLUS and SET and take their respective constant
16819         ranges into account.
16820         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16821         * sh.md (subdi3, subdi3_media): Allow zero operand.
16822         (movv8qi_i+3): Only vector that is not split is the zero vector.
16823         Fix operand 3 to simplify_subreg.
16824         (movv2si_i): Split alternative 1.
16825         (mshfhi_l_di_rev+1): New splitter.
16826
16827 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16828
16829         PR preprocessor/7029
16830         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16831         implicit "-w" for "-M" and "-MM".
16832         * doc/cppopts.texi: Update.
16833
16834 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16835
16836         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16837         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16838         builtin_function.
16839
16840 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16841
16842         * README.Portability: Fix typos.
16843
16844 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16845
16846         PR target/7177
16847         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16848         of indirections for register inside sign-extended mem part.
16849
16850 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16851
16852         * tree.h:  Modify builtin_function interface to take an extra
16853         argument ATTRS, which is a tree representing an attribute list.
16854
16855         * c-decl.c (builtin_function): Accept additional parameter.
16856         * objc/objc-act.c (builtin_function): Likewise.
16857         * f/com.c (builtin_function): Likewise.
16858         * java/decl.c (builtin_function): Likewise.
16859         * ada/utils.c (builtin_function): Likewise.
16860         * cp/decl.c (builtin_function): Likewise.
16861         (builtin_function_1): Likewise.
16862
16863         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16864         NULL_TREE argument to builtin_function.  (builtin_function_2):
16865         Likewise.
16866         * cp/call.c (build_java_interface_fn_ref): Likewise.
16867         * objc/objc-act.c (synth_module_prologue): Likewise.
16868         * java/decl.c (java_init_decl_processing): Likewise.
16869         * f/com.c (ffe_com_init_0): Likewise.
16870
16871         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16872         NULL_TREE argument to builtin_function.
16873         * config/arm/arm.c (def_builtin): Likewise.
16874         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16875         * config/i386/i386.c (def_builtin): Likewise.
16876         * config/ia64/ia64.c (def_builtin): Likewise.
16877         * config/rs6000/rs6000.c (def_builtin): Likewise.
16878
16879 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16880
16881         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16882         * config/mips/t-isa3264: Likewise.
16883         * config/mmix/t-mmix: Likewise.
16884
16885 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16886
16887         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16888
16889 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16890
16891         PR opt/4046
16892         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16893         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16894         B are truth values.
16895
16896 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16897
16898         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16899
16900 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16901
16902         * README.Portability (Function prototypes): Give an example of
16903         declaring and defining a function with no arguments.
16904
16905         * README.Portability (Function prototypes): Document new
16906         variable-argument function macros.
16907
16908 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16909
16910         * sh.c (langhooks.h): Include.
16911         (sh_init_builtins, sh_media_init_builtins): New functions.
16912         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16913         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16914         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16915         (builtin_description): New struct tag.
16916         (signature_args, bdesc): New arrays.
16917         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16918         (print_operand): Add 'N' modifier.
16919         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16920         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16921         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16922         (CONST_COSTS): Add special case for SHmedia AND.
16923         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16924         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16925         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16926         target_operand can also be const or unspec.
16927         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16928         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16929         (attribute type): Add new types.
16930         (anddi3): Add splitter.
16931         (movdi_const_16bit+1): Add code to handle vector constants and
16932         bitmasks efficiently.
16933         (shori_media): Have generator function made.
16934         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16935         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16936         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16937         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16938         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16939         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16940         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16941         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16942         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16943         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16944         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16945         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16946         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16947         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16948         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16949         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16950         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16951         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16952         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16953         (ftrv): Likewise.
16954
16955         (fpu_switch+1, fpu_switch+2): Remove constraint.
16956
16957 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16958
16959         * tree.c (build_function_type_list): Update function comment.
16960         Rename first argument to return_type.
16961
16962 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16963
16964         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16965         tradcif.y and related files.
16966
16967 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16968
16969         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16970
16971 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16972
16973         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16974
16975 See ChangeLog.7 for earlier changes.