OSDN Git Service

* config/h8300/h8300.c (const_costs): Remove a warning.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * config/h8300/h8300.c (const_costs): Remove a warning.
4         (output_plussi): Likewise.
5         (compute_plussi_length): Likewise.
6         (compute_plussi_cc): Likewise.
7
8 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
9
10         * config/h8300/h8300.md (addsi_h8300): Remove the last
11         alternative.
12
13 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
14
15         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
16
17 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18
19         * system.h (__NO_STRING_INLINES): Define.
20
21 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
22
23         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
24         is not a scalar int mode.
25
26 2003-01-20  Roger Sayle  <roger@eyesopen.com>
27
28         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
29         insn's notes following a substitution inside a libcall.
30
31 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
32
33         * configure.in: Check for system-provided 'uchar' type.
34         * configure, config.in: Regenerate.
35         * cpphash.h: Only typedef 'uchar' if the system doesn't.
36
37 2003-01-20  Richard Henderson  <rth@redhat.com>
38
39         * expr.h (MUST_PASS_IN_STACK): Move implementation...
40         * calls.c (default_must_pass_in_stack): ... here.
41
42 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
43
44         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
45
46         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
47
48         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
49         Wrap up definition of `insn_alts'.
50
51         * genattrtab.c (main): Wrap up `insn_alts'.
52
53 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
54
55         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
56         prototyping.
57         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
58
59         * config.in, configure: Regenerate.
60
61 2003-01-20  Nick Clifton  <nickc@redhat.com>
62
63         * config/arm/arm.md (sibcall_epilogue): Add an
64         UNSPEC_PROLOGUE_USE to prevent the link register from being
65         considered dead.
66
67 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
68
69         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
70
71 2003-01-20  Andreas Schwab  <schwab@suse.de>
72
73         * system.h: Don't declare strsignal if the decl test hasn't been
74         run yet.
75
76 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
77
78         * config/h8300/h8300.c (notice_update_cc): Don't assume that
79         recog_data.operands[0] is always associated with cc0.
80
81 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
82
83         * collect2.c (ldgetname): Expand declaration to prototype.
84         * read-rtl.c (atoll): Add prototype.
85         * system.h (strsignal): Also declare if no declaration found.
86
87 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
88
89         * config.gcc (mips64*-*-linux*): Added.
90         * config/mips/linux64.h, config/mips/t-linux64: New file.
91         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
92         * config/mips/mips.c (override_options): Use it.
93         * config/mips/mips.h (TARGET_SWITCHES): Added...
94         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
95         * Makefile.in (SPECS): New.
96         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
97         * gcc.c (process_command): Move self-spec processing past spec
98         file loading.
99         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
100         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
101         CRTSTUFF_T_CFLAGS.
102         (SPECS): Document.
103         * doc/invoke.texi (-mabi-fake-default): Document.
104
105 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
106
107         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
108         z_reg, z_reg_qi): Declare static and GTY().
109         (da_reg): Remove.
110         (create_regs_rtx): Don't create da_reg.
111         ("gt-m68hc11.h"): Include for GTY roots.
112         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
113         and GTY() here.
114         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
115         (m68hc11_soft_tmp_reg): Likewise.
116         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
117
118 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
119
120         * basic-block.h: Fix comment formatting.
121         * calls.c: Likewise.
122         * combine.c: Likewise.
123         * convert.c: Likewise.
124         * gcov.c: Likewise.
125         * haifa-sched.c: Likewise.
126         * libgcc2.c: Likewise.
127         * loop.c: Likewise.
128         * profile.c: Likewise.
129         * system.h: Likewise.
130
131 2003-01-18  Roger Sayle  <roger@eyesopen.com>
132
133         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
134
135 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
136
137         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
138
139 2003-01-17  Dale Johannesen  <dalej@apple.com>
140
141         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
142           (*floatunssidf2_internal):  Ditto.
143
144 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
145
146         * alias.c: Fix comment typos.
147         * basic-block.h: Likewise.
148         * c-common.c: Likewise.
149         * c-common.h: Likewise.
150         * c-decl.c: Likewise.
151         * c-opts.c: Likewise.
152         * c-pragma.c: Likewise.
153         * c-pretty-print.h: Likewise.
154         * cfg.c: Likewise.
155         * cfganal.c: Likewise.
156         * cfgbuild.c: Likewise.
157         * cfgcleanup.c: Likewise.
158         * cfglayout.c: Likewise.
159         * cfgrtl.c: Likewise.
160         * convert.c: Likewise.
161         * cpphash.h: Likewise.
162         * cpplex.c: Likewise.
163         * cpplib.h: Likewise.
164         * df.h: Likewise.
165         * diagnostic.c: Likewise.
166         * diagnostic.h: Likewise.
167         * dwarf2.h: Likewise.
168
169 2003-01-17  Stan Shebs  <shebs@apple.com>
170
171         * config/darwin-protos.h: Forward-declare struct cpp_reader.
172
173 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
174
175         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
176         mistake in last checkin.
177
178 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
179
180         * et-forest.c: Fix comment typos.
181         * et-forest.h: Likewise.
182         * except.c: Likewise.
183         * expr.c: Likewise.
184         * flags.h: Likewise.
185         * flow.c: Likewise.
186         * gcc.c: Likewise.
187         * gcse.c: Likewise.
188         * genattrtab.c: Likewise.
189         * genautomata.c: Likewise.
190         * gengtype.c: Likewise.
191         * genrecog.c: Likewise.
192         * global.c: Likewise.
193         * gthr-rtems.h: Likewise.
194
195 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
196
197         * i386.c (x86_function_profiler): Fix format specifier.
198
199 2003-01-17  Richard Henderson  <rth@redhat.com>
200
201         * gengtype.c (walk_type): Allow paramN_is.
202
203 2003-01-17  Nick Clifton  <nickc@redhat.com>
204
205         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
206
207 2003-01-16  Richard Henderson  <rth@redhat.com>
208
209         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
210
211 2003-01-16  Richard Henderson  <rth@redhat.com>
212
213         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
214         (alpha_next_sequence_number): Likewise.
215         (alpha_this_literal_sequence_number): Likewise.
216         (alpha_this_gpdisp_sequence_number): Likewise.
217         (struct alpha_funcs, alpha_funcs_num): Likewise.
218         (struct alpha_links): Fix branch merge error.
219         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
220
221 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
222
223         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
224         R. Ghazi.
225
226 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
227
228         * ifcvt.c: Fix comment typos.
229         * lcm.c: Likewise.
230         * libgcc2.c: Likewise.
231         * local-alloc.c: Likewise.
232         * loop.c: Likewise.
233         * predict.c: Likewise.
234         * ra-build.c: Likewise.
235         * ra.c: Likewise.
236         * ra-colorize.c: Likewise.
237         * ra.h: Likewise.
238         * ra-rewrite.c: Likewise.
239         * regmove.c: Likewise.
240         * reload.h: Likewise.
241         * rtlanal.c: Likewise.
242         * toplev.c: Likewise.
243         * tree.h: Likewise.
244         * unwind-dw2-fde-glibc.c: Likewise.
245         * vmsdbgout.c: Likewise.
246
247 2003-01-16  Richard Henderson  <rth@redhat.com>
248
249         * dwarf2out.c (struct file_table): Remove.
250         (FILE_TABLE_INCREMENT): Remove.
251         (file_table): Make a varray; mark for GC.  Update all users.
252         (file_table_last_lookup_index): Extract from struct file_table.
253         (output_file_names): Fix unsigned compare warnings.
254         (add_name_attribute): Remove inline marker.
255         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
256         (lookup_filename): Don't manage size of file_table.
257         (init_file_table): Allocate file_table with GC.
258         (dwarf2out_init): Don't record main_input_filename here.
259         (dwarf2out_finish): Do it here instead.
260
261 2003-01-16  Bruce Korb  <bkorb@gnu.org>
262
263         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
264
265 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
266
267         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
268         instead of rotldi3_mextr.
269
270 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
271
272         * haifa-sched.c (move_insn): Restore moving all schedule group.
273         (set_priorities): Restore taking SCHED_GROUP_P into account.
274
275         * sched-deps.c (add_dependence): Restore processing the last group
276         insn.
277         (remove_dependence, group_leader): Restore the functions.
278         (set_sched_group_p): Restore adding dependencies from previous insn
279         in the group.
280         (compute_forward_dependences): Restore usage of group_leader.
281
282         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
283         account.
284
285         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
286         account.
287         (can_schedule_ready_p): Ditto.
288         (add_branch_dependences): Restore skipping over the group insns.
289
290 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
291
292         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
293         68HC12 pre/post inc/dec side effects.
294
295 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
296
297         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
298
299 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
300
301         * sh.md (mshflo_w_x): Fix description of operation.
302
303 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
304
305         * config/rs6000/rs6000.h: Mention Altivec registers in
306         commentary.  Fix typo.
307
308 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
309
310         * config/rs6000/rs6000.md (movti_string): Remove clobber.
311         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
312         generate PARALLEL with clobber for TARGET_POWER.
313
314 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
315
316         * ra-colorize.c (colorize_one_web): Initialize variable.
317         * regmove.c (fixup_match_1): Likewise.
318         * reload1.c (reload_as_needed): Likewise.
319         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
320
321 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
322
323         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
324
325 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
326
327         * dbxout.c (lastfile, cwd): Fix `unused' warning.
328         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
329         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
330         is_main_source, file_table, decl_die_table_in_use,
331         abbrev_die_table_in_use, line_info_table_in_use,
332         separate_line_info_table_in_use, pubname_table_in_use,
333         arange_table_in_use, ranges_table_in_use,
334         current_function_has_inlines): Likewise.
335         * flow.c (life_analysis): Likewise.
336         * genemit.c (gen_insn): Likewise.
337         * protoize.c (cplus_suffix): Likewise.
338
339         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
340         * arm.h (ROUND_UP_WORD): Likewise.
341
342         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
343         warning.
344         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
345         init_emit_once): Likewise.
346         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
347         Likewise.
348         * function.c (assign_stack_temp_for_type): Likewise.
349         * loop.c (loop_invariant_p): Likewise.
350         * recog.c (push_operand): Likewise.
351         * regclass.c (init_reg_sets_1): Likewise.
352         * reload.c (update_auto_inc_notes): Likewise.
353         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
354         * stmt.c (expand_asm_operands): Likewise.
355         * stor-layout.c (start_record_layout): Likewise.
356
357 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
358
359         * config/c4x/c4x.md (epilogue): Correct last patch.
360
361 2003-01-15  Richard Henderson  <rth@redhat.com>
362
363         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
364         also check that GP is being used.
365         (alpha_find_lo_sum_using_gp): New.
366         (alpha_does_function_need_gp): Use get_attr_usegp.
367         * config/alpha/alpha-protos.h: Update.
368         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
369         as needed.
370
371 2003-01-15  Roger Sayle  <roger@eyesopen.com>
372
373         * gcse.c (one_cprop_pass): Change function arguments to take both
374         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
375         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
376         (bypass_jumps): New function to perform separate jump bypassing pass.
377         * rtl.h (bypass_jumps): Add function prototype.
378         * timevar.def (TV_BYPASS): New timing variable.
379         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
380         (dump_file): New entry for the bypass RTL dump file.
381         (rest_of_compilation): Insert new jump bypassing optimization
382         pass after loop.
383         * doc/passes.texi: Document new pass.
384
385 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
386
387         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
388         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
389         * pa.h (TARGET_SOM_SDEF): Define.
390         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
391
392 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
393
394         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
395         allocate 4-bytes of locals on 68HC11.
396         (expand_epilogue): Likewise.
397         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
398
399 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
400
401         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
402         and -mshort-double to the assembler to specify the ABI.
403         (LINK_SPEC): Likewise.
404         (CPP_SPEC): Pass HCS12 specific define.
405         (MASK_M68S12): New define.
406         (TARGET_M68S12): Likewise.
407         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
408         (TARGET_VERSION): Update.
409         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
410         (LINK_SPEC): Update.
411         (ASM_SPEC): Update.
412         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
413         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
414
415 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
416
417         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
418         the return code.
419
420 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
421
422         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
423         flag before setting it.
424
425 2003-01-15  Roger Sayle  <roger@eyesopen.com>
426
427         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
428         when loop condition is known true, i.e.  "while (1) { ... }".
429         (genrtl_for_stmt): Similarly for "for" statements.
430
431 2003-01-15  Roger Sayle  <roger@eyesopen.com>
432
433         * real.c (real_sqrt): Return a bool result indicating whether
434         a floating point exception or trap should be raised.
435         * real.h (real_sqrt): Update function prototype.
436         * builtins.c (fold_builtin): Only fold non-trapping square
437         roots unless we're ignoring errno and trapping math.
438
439 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
440
441         * expr.h (emit_conditional_add): Add PARAMS to declaration.
442         * gengtype-lex.l (malloc, realloc): Move defines after include of
443         system.h.  Remove duplicate include of system.h.
444
445 2003-01-15  Roger Sayle  <roger@eyesopen.com>
446
447         PR middle-end/9009
448         * optabs.c (expand_unop):  When manipulating the FP sign bit
449         using integer operations, account for targets with different
450         integer and FP word orders.
451         (expand_abs): Likewise.
452
453 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
454
455         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
456         file extension in section name.
457
458 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
459
460         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
461         constant offset.
462
463 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
464
465         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
466         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
467         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
468         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
469
470 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
471
472         PR f/9258
473         * global.c (struct allocno): Add no_stack_reg.
474         (global_conflicts): Set no_stack_reg.
475         (find_reg): Use it.
476
477         * convert.c (convert_to_real): Fold - and abs only when profitable.
478         * fold-const.c (fold): Fold truncates in - and abs.
479
480 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
481
482         Segher Boessenkool  <segher@koffie.nl>
483
484         * predict.c (real_inv_br_prob_base): New variable.
485         (propagate_freq): Use multiply by reciprocal instead of
486         division.  Don't divide by 1.0 at all.
487         (estimate_bb_frequencies): Similar.
488
489 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
490
491         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
492         * configure: Rebuilt.
493
494 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
495
496         * config/s390/s390.c (s390_safe_attr_type): New function.
497         (s390_use_dfa_pipeline_interface): New function, return true for z900.
498         (s390_issue_rate): New function.
499         (s390_agen_dep_p): New function.
500         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
501         (s390_adjust_cost): Return 'cost' if new DFA is used.
502         (s390_adjust_priority): Delete function.
503         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
504         * config/s390/s390.md (atype attribute): Attribute 'atype' default
505         determined by 'op_type'.
506         (type attribute): Added more type attributes.
507         * config/s390/2064.md: New DFA description for z900 pipeline.
508
509 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
510
511         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
512         forced to memory.  Fixes PR bootstrap/9036.
513
514         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
515         to set $gp before the call.
516
517 2003-01-14  Richard Henderson  <rth@redhat.com>
518
519         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
520         for force_const_mem.
521
522 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
523
524         * genattr.c (main): Rearrange output to avoid prototype warning.
525         * genautomata.c (transform_3): Fix ambiguous-else warning.
526         * local-alloc.c (requires_inout): Add parentheses around
527         assignment used as truth-value.
528         * timevar.c: Move system includes above local includes.  Include
529         toplev.h
530         * Makefile.in (timevar.o): Depend on toplev.h.
531
532 2003-01-14  Denis Chertykov  <denisc@overta.ru>
533
534         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
535         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
536
537         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
538         attributes.
539         (TARGET_ATTRIBUTE_TABLE): New macro.
540         (valid_machine_type_attribute): Remove.
541         (valid_machine_decl_attribute): Remove.
542         (ip2k_handle_progmem_attribute): New function.
543         (ip2k_handle_fndecl_attribute): New function.
544
545 2003-01-10  Andrew Haley  <aph@redhat.com>
546
547         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
548         registers to be in correct order.  Add rip.
549
550 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
551
552         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
553         (*iorsi3_and_lshiftrt_9_sb): Likewise.
554
555 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
556
557         * convert.c (strip_float_extensions):  Look for narrowest type handling
558         FP constants.
559
560         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
561         float1 CMP float2.
562         * convert.c (strip_float_extensions): Make global.
563         * tree.h (strip_float_extensions): Declare.
564
565 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
566
567         * timevar.def: define TV_NAME_LOOKUP.
568         * timevar.c (timevar_pop): Be verbose when aborting.
569
570 2003-01-13  Andreas Schwab  <schwab@suse.de>
571
572         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
573         $(parsedir), just move the temporary file at the end.
574         ($(parsedir)/gengtype-yacc.c): Likewise.
575
576 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
577
578         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
579         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
580         splitting.
581         * configure: Rebuilt.
582
583 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
584
585         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
586         internal_mcount): Don't use PARAMS.
587         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
588         ISO C style.
589         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
590
591 2003-01-13  Andreas Schwab  <schwab@suse.de>
592
593         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
594         directive.
595
596 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
597
598         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
599         (*iorsi3_and_lshiftrt_n_sb): Likewise.
600
601 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
602
603         PR c++/9264
604         * c-lex.c (c_lex): Set the token value to error_mark_node for
605         invalid numeric constants.
606
607 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
608
609         * c-pch.c (asm_file_startpos): Change to `long'.
610         (pch_init): Use ftell, not ftello.
611         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
612         Use `long' instead of `off_t'.
613         (c_common_read_pch): Likewise.
614         * ggc-common.c (gt_pch_save): Use long/ftell instead of
615         off_t/ftello.
616
617 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
618
619         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
620
621 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
622
623         * arm-protos.h (struct cpp_reader): Add declaration.
624
625 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
626
627         PR target/9068
628         * i386.c (output_fp_compare): Fix typo.
629
630 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
631
632         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
633
634 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
635
636         * Makefile.in (parsedir): New variable.
637         (docobjdir): New variable.
638         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
639         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
640         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
641         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
642         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
643         Use docobjdir.
644         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
645         objc.maintainer-clean): Use parsedir.
646
647         * varasm.c (struct constant_descriptor_rtx): Remove unused
648         `label' field.
649
650         * toplev.c (documented_lang_options): Document -Winvalid-pch.
651
652 2003-01-10  Richard Henderson  <rth@redhat.com>
653
654         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
655         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
656
657 2003-01-10  Richard Henderson  <rth@redhat.com>
658
659         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
660         not INTEGRAL_MODE_P when widening extensions.
661
662 2003-01-10  Richard Henderson  <rth@redhat.com>
663
664         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
665
666 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
667
668         * ggc-page.c (ggc_collect): Avoid overflow computing
669         min_expand.
670
671         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
672         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
673         Remove calls.
674         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
675
676 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
677
678         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
679         with weird operands.
680
681 2003-01-10  Dale Johannesen <dalej@apple.com>
682
683         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
684         parameters.  Call check_sibcall_argument_overlap if indicated.
685         (check_sibcall_argument_overlap):  Add mark_stored_args_map
686         parameter.  Don't mark parameter area as clobbered if not set.
687         (expand_call):  Adjust calls to above.
688
689 2003-01-10 Kelley Cook <kelleycook@comcast.net>
690
691         * configure.in (linker read-only and read-write section mixing):
692         Squelch some assembler warnings.
693         * configure: Likewise.
694
695 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
696
697         * doc/invoke.texi: Document -mtune, delete -mcpu
698         option for S/390 and zSeries.
699         * config/s390/s390.c (s390_tune_string) New variable.
700         (s390_cpu_string) Delete variable.
701         (override_options): Use s390_tune_string instead of
702         s390_cpu_string.
703         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
704
705 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
706
707         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
708
709 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
710
711         * jump.c (next_nonnote_insn_in_loop): New function.
712         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
713         next_nonnote_insn.
714         (duplicate_loop_exit_test). Likewise.
715
716 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
717
718         Merge from pch-branch:
719
720         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
721
722         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
723         load.
724
725         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
726
727         * cpplib.c (count_registered_pragmas): New function.
728         (save_registered_pragmas): New function.
729         (_cpp_save_pragma_names): New function.
730         (restore_registered_pragmas): New function.
731         (_cpp_restore_pragma_names): New function.
732         * cpphash.h (_cpp_save_pragma_names): Prototype.
733         (_cpp_restore_pragma_names): Likewise.
734         * cpppch.c (struct save_macro_item): Split from save_macro_data.
735         (struct save_macro_data): New field 'saved_pragmas'.
736         (save_macros): Update for changes to struct save_macro_data.
737         (cpp_prepare_state): Call _cpp_save_pragma_names, update
738         for changes to struct save_macro_data.
739         (cpp_read_state): Call _cpp_restore_pragma_names, update
740         for changes to struct save_macro_data.
741
742         * cpppch.c (cpp_read_state): Restore the hashtable references
743         in the cpp_reader.
744
745         * tree.h (built_in_decls): Mark for PCH.
746
747         * dbxout.c (lastfile): Don't mark for PCH.
748
749         * ggc.h: Document PCH calls into memory managers.
750
751         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
752
753         * doc/invoke.texi (Precompiled Headers): Document the
754         directory form of PCH.
755         * cppfiles.c (validate_pch): New function.
756         (open_file_pch): Search suitably-named directories for PCH files.
757
758         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
759
760         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
761         reorder options.
762         (Type Information): Mention that the information is also
763         used to implement PCH.
764         * doc/passes.texi (Passes): Improve documentation of
765         language-specific files.
766
767         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
768
769         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
770         (struct walk_type_data): Add reorder_fn field.
771         (walk_type): Process 'reorder' option.
772         (write_types_process_field): Reorder parameters to gt_pch_note_object,
773         call reorder_note_routine.
774         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
775         (ggc_wtd): Update for change to struct write_types_data.
776         (pch_wtd): Likewise.
777         * ggc.h (gt_pch_note_object): Reorder parameters.
778         (gt_handle_reorder): New definition.
779         (gt_pch_note_reorder): New prototype.
780         * ggc-common.c (struct ptr_data): Add reorder_fn.
781         (gt_pch_note_object): Reorder parameters.
782         (gt_pch_note_reorder): New.
783         (gt_pch_save): Call reorder_fn.
784         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
785
786         * dbxout.c (cwd): Don't mark for PCH.
787
788         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
789
790         * gengtype.c (finish_root_table): Fix some warnings.
791         (write_root): Handle TYPE_STRING.
792         * ggc.h (gt_ggc_m_S): Add prototype.
793         * stringpool.c (gt_ggc_m_S): New function.
794
795         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
796
797         * dwarf2out.c (dw2_string_counter): New.
798         (AT_string_form): Use it.
799         (same_dw_val_p): Update for removal of hashtable.h hash tables.
800
801         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
802
803         * dbxout.c: Include gt-dbxout.h.
804         (lastfile): Mark for PCH/GGC.
805         (cwd): Likewise.
806         (struct typeinfo): Likewise.
807         (typevec): Likewise.
808         (typevec_len): Likewise.
809         (next_type_number): Likewise.
810         (struct dbx_file): Likewise.
811         (current_file): Likewise.
812         (next_file_number): Likewise.
813         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
814         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
815         (dbxout_end_source_file): Don't free struct dbx_file.
816         (dbxout_type): Use GGC to allocate typevec.
817         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
818         (GTFILES): Add dbxout.c.
819         (gt-dbxout.h): New rule.
820
821         * Makefile.in (c-pch.o): Add debug.h as dependency.
822         * c-pch.c: Include debug.h.
823         (pch_init): Call start_source_file to keep nesting right.
824         (c_common_read_pch): Add orig_name parameter.  Call
825         start_source_file debug hook.  Call end_source_file debug hook.
826         * c-common.h (c_common_read_pch): Update prototype.
827         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
828         callback.
829         * cppfiles.c (struct include_file): Add new field `header_name'.
830         (find_or_create_entry): Default it to `name'.
831         (open_file_pch): Set it to the original header file searched for.
832         (stack_include_file): Don't stack an empty buffer, just handle
833         PCH files immediately.  Pass header_name field to read_pch callback.
834
835         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
836
837         * function.c (funcdef_no): Mark to be saved in a PCH.
838
839         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
840
841         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
842
843         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
844
845         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
846
847         * optabs.h (code_to_optab): Add GTY marker.
848
849         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
850
851         * Makefile.in (GTFILES): Add cpplib.h.
852         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
853         * c-decl.c (build_compound_literal): Don't use var_labelno.
854         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
855         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
856         * varasm.c (const_labelno): Use gengtype to mark.
857         (var_labelno): Likewise.
858         (in_section): Likewise.
859         (in_named_name): Likewise.
860         (struct in_named_entry): Likewise.
861         (in_named_htab): Likewise.
862         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
863         (init_varasm_once): Use GGC to allocate in_named_htab.
864         * config/darwin.c (current_pic_label_num): Mark for PCH.
865
866         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
867
868         * ggc-simple.c (init_ggc_pch): New stub procedure.
869         (ggc_pch_count_object): Likewise.
870         (ggc_pch_total_size): Likewise.
871         (ggc_pch_this_base): Likewise.
872         (ggc_pch_alloc_object): Likewise.
873         (ggc_pch_prepare_write): Likewise.
874         (ggc_pch_write_object): Likewise
875         (ggc_pch_finish): Likewise.
876         (ggc_pch_read): Likewise.
877
878         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
879
880         * c-pch.c (c_common_write_pch): Write the macro definitions after
881         the GCed data.
882         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
883         definitions after the GCed data.
884         * cpplib.c (save_macros): New.
885         (reset_ht): New.
886         (cpp_write_pch_deps): Split out of cpp_write_pch.
887         (cpp_write_pch_state): Split out of cpp_write_pch.
888         (cpp_write_pch): Delete.
889         (struct save_macro_data): Delete.
890         (cpp_prepare_state): New.
891         (cpp_read_state): Erase and restore initial macro definitions.
892         * cpplib.h (struct save_macro_data): Forward-declare.
893         (cpp_write_pch_deps): Prototype.
894         (cpp_write_pch_state): Prototype.
895         (cpp_write_pch): Delete prototype.
896         (cpp_prepare_state): Prototype.
897         (cpp_read_state): Add fourth argument.
898
899         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
900
901         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
902         (write_array): Remove warning.
903
904         * gengtype.c (contains_scalar_p): New.
905         (finish_root_table): Add the table to all languages, even if it's
906         empty.
907         (write_roots): Output gt_pch_scalar_rtab.
908         * ggc-common.c (gt_pch_save): Write out scalars.
909         (gt_pch_restore): Read scalars back.
910
911         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
912         (struct page_entry): Delete pch_page field.
913         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
914         (clear_marks): Likewise.
915         (sweep_pages): Likewise.
916         (poison_pages): Likewise.
917         (ggc_print_statistics): Likewise.
918         (ggc_pch_read): Don't free objects read from a PCH.
919         Properly set up in_use_p and page_tails.
920
921         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
922
923         * gengtype.c (struct write_types_data): New.
924         (struct walk_type_data): Make `cookie' const; add extra
925         prev_val item; add `orig_s' field.
926         (walk_type): Update prev_val[3].
927         (write_types_process_field): New.
928         (write_func_for_structure): Take write_types_data structure.
929         (write_types): New.
930         (ggc_wtd): New.
931         (pch_wtd): New.
932         (write_types_local_process_field): New.
933         (gc_mark_process_field): Delete.
934         (write_local_func_for_structure): New.
935         (gc_mark_func_name): Delete.
936         (write_gc_types): Delete.
937         (write_local): New.
938         (finish_root_table): Don't include 'ggc_' in PFX.
939         (write_root): Rename from write_root.  Fill pchw field of structures.
940         (write_array): New.
941         (write_roots): Rename from write_gc_roots.  Split out to write_array.
942         Update to changes to other routines.  Write gt_pch_cache_rtab table.
943         (main): Write PCH walking routines.
944         * ggc-common.c: Include toplev.h, sys/mman.h.
945         (ggc_mark_roots): For cache hashtables, also mark the hash table
946         and the array of entries.
947         (saving_htab): New.
948         (struct ptr_data): New.
949         (POINTER_HASH): New.
950         (gt_pch_note_object): New.
951         (saving_htab_hash): New.
952         (saving_htab_eq): New.
953         (struct traversal_state): New.
954         (call_count): New.
955         (call_alloc): New.
956         (compare_ptr_data): New.
957         (relocate_ptrs): New.
958         (write_pch_globals): New.
959         (struct mmap_info): New.
960         (gt_pch_save): New.
961         (gt_pch_restore): New.
962         * ggc-page.c (ROUND_UP_VALUE): New.
963         (ROUND_UP): New.
964         (struct page_entry): Add field `pch_page'.
965         (init_ggc): Use ROUND_UP.
966         (struct ggc_pch_data): Declare.
967         (init_ggc_pch): New.
968         (ggc_pch_count_object): New.
969         (ggc_pch_total_size): New.
970         (ggc_pch_this_base): New.
971         (ggc_pch_alloc_object): New.
972         (ggc_pch_prepare_write): New.
973         (ggc_pch_write_object): New.
974         (ggc_pch_finish): New.
975         (ggc_pch_read): New.
976         * ggc.h (gt_pointer_operator): New.
977         (gt_note_pointers): New.
978         (gt_pch_note_object): New prototype.
979         (gt_pointer_walker): New.
980         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
981         (LAST_GGC_ROOT_TAB): Update.
982         (gt_pch_cache_rtab): Declare.
983         (gt_pch_scalar_rtab): Declare.
984         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
985         (LAST_GGC_CACHE_TAB): Update.
986         (gt_pch_save_stringpool): Declare.
987         (gt_pch_restore_stringpool): Declare.
988         (gt_pch_p_S): Declare.
989         (gt_pch_n_S): Declare.
990         (struct ggc_pch_data): Forward-declare.
991         (init_ggc_pch): Declare.
992         (ggc_pch_count_object): Declare.
993         (ggc_pch_total_size): Declare.
994         (ggc_pch_this_base): Declare.
995         (ggc_pch_alloc_object): Declare.
996         (ggc_pch_prepare_write): Declare.
997         (ggc_pch_write_object): Declare.
998         (ggc_pch_finish): Declare.
999         (ggc_pch_read): Declare.
1000         (gt_pch_save): Declare.
1001         (gt_pch_restore): Declare.
1002         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
1003         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
1004         const_double_htab, mem_attrs_htab using GGC.
1005         * c-pch.c: Include ggc.h.
1006         (pch_init): Allow reading PCH file back.
1007         (c_common_write_pch): Call gt_pch_save.
1008         (c_common_read_pch): Call gt_pch_restore.
1009         * c-parse.in (init_reswords): Delete now-untrue comment.
1010         Allocate ridpointers using GGC.
1011         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
1012         calling expand_deferred_fns.
1013         * c-common.h (ridpointers): Mark for GTY machinery.
1014         * Makefile.in (stringpool.o): Update dependencies.
1015         (c-pch.o): Update dependencies.
1016         (ggc-common.o): Update dependencies.
1017         * stringpool.c: Include gt-stringpool.h.
1018         (gt_pch_p_S): New.
1019         (gt_pch_n_S): New.
1020         (struct string_pool_data): New.
1021         (spd): New.
1022         (gt_pch_save_stringpool): New.
1023         (gt_pch_restore_stringpool): New.
1024         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1025
1026         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1027
1028         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1029         (output_mangled_typename): Don't pass size_t to printf.
1030
1031         * tree.h (union tree_type_symtab): Add tag to `address' field.
1032         (union tree_decl_u2): Add tag to 'i' field.
1033         * varasm.c (union rtx_const_un): Add tags to all fields.
1034         * gengtype.c (struct walk_type_data): New.
1035         (output_escaped_param): Take struct walk_type_data parameter.
1036         (write_gc_structure_fields): Delete.
1037         (walk_type): New.
1038         (write_gc_marker_routine_for_structure): Delete.
1039         (write_func_for_structure): New.
1040         (gc_mark_process_field): New.
1041         (gc_mark_func_name): New.
1042         (gc_counter): Delete.
1043         (write_gc_types): Use write_func_for_structure.
1044         (write_gc_roots): Use walk_type.
1045
1046         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1047
1048         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1049         (ggc_splay_dont_free): Fix warning about unused 'x'.
1050         (ggc_print_common_statistics): Remove warnings.
1051
1052         2002-10-01  Mike Stump  <mrs@apple.com>
1053
1054         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1055         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1056
1057         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1058             Catherine Moore  <clm@redhat.com>
1059
1060         * Makefile (c-pch.o): Update dependencies.
1061         (LIBCPP_OBJS): Add cpppch.o.
1062         (cpppch.o): New.
1063         * c-common.c (c_common_init): Don't call pch_init here.
1064         * c-common.h (c_common_read_pch): Update prototype.
1065         * c-lex.c (c_common_parse_file): Call pch_init here.
1066         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1067         (c_common_decode_option): Handle them.
1068         * c-pch.c: Include c-pragma.h.
1069         (save_asm_offset): Delete.
1070         (pch_init): Move contents of save_asm_offset into here, call
1071         cpp_save_state.
1072         (c_common_write_pch): Call cpp_write_pch.
1073         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1074         cpp_valid_state.
1075         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1076         * cppfiles.c (stack_include_file): Update for change to
1077         parameters of cb.read_pch.
1078         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1079         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1080         `restore_pch_deps' fields.
1081         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1082         (cpp_save_state): Prototype.
1083         (cpp_write_pch): Prototype.
1084         (cpp_valid_state): Prototype.
1085         (cpp_read_state): Prototype.
1086         * cpppch.c: New file.
1087         * flags.h (version_flag): Remove prototype.
1088         * mkdeps.c (deps_save): New.
1089         (deps_restore): New.
1090         * mkdeps.h (deps_save): Prototype.
1091         (deps_restore): Prototype.
1092         * toplev.c (late_init_hook): Delete.
1093         (version_flag): Make static again.
1094         (compile_file): Don't call late_init_hook.
1095         * toplev.h (late_init_hook): Delete.
1096         * doc/cppopts.texi: Document -fpch-deps.
1097         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1098
1099         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1100
1101         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1102         callers.
1103         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1104         (c_common_read_pch): Rename from c_read_pch, change callers.
1105
1106         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1107         a space between it and its argument.
1108
1109         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1110
1111         * c-pch.c: New file.
1112         * toplev.h (late_init_hook): Declare.
1113         * toplev.c (late_init_hook): Define.
1114         (version_flag): Make globally visible.
1115         (compile_file): Call late_init_hook.
1116         (init_asm_output): Make output file seekable.
1117         * gcc.c (default_compilers): Update c-header rule.
1118         * flags.h (version_flag): Declare.
1119         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1120         fields.
1121         * cppfiles.c (struct include_file): Add 'pch' field.
1122         (INCLUDE_PCH_P): New.
1123         (open_file_pch): New.
1124         (stack_include_file): Handle PCH files specially.
1125         (find_include_file): Call open_file_pch instead of open_file.
1126         (_cpp_read_file): Explain why open_file is used instead of
1127         open_file_pch.
1128         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1129         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1130         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1131         in cpplib callbacks.
1132         * c-common.c (pch_file): Correct comment.
1133         (allow_pch): Define.
1134         (c_common_init): Call pch_init.
1135         * c-common.h (allow_pch): Declare.
1136         (pch_init): Declare.
1137         (c_valid_pch): Declare.
1138         (c_read_pch): Declare.
1139         (c_write_pch): Declare.
1140         * Makefile.in (c-pch.o): New.
1141         (C_AND_OBJC_OBJS): Add c-pch.o.
1142         * doc/invoke.texi (Precompiled Headers): Add index entries,
1143         complete truncated paragraph.
1144
1145         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1146
1147         * c-common.c: (pch_file): Define.
1148         * c-common.h (pch_file): Declare.
1149         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1150         (missing_arg): Require --output-pch= to have an argument.
1151         (c_common_decode_option): Handle --output-pch=.
1152         * gcc.c: Document new %V.
1153         (default_compilers): Handle compiling C header files.
1154         (do_spec_1): Implement %V.
1155         (main): Handle "gcc foo.h" without trying to run linker.
1156         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1157         (Overall Options): Document what the driver does with header files,
1158         document new -x option possibilities.
1159         (Invoking G++): More documentation for PCH.
1160         (Precompiled Headers): New.
1161
1162         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1163
1164         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1165         organized.
1166         (ggc_add_root): Delete.
1167         (ggc_mark_rtx): Delete.
1168         (ggc_mark_tree): Delete.
1169         (struct ggc_statistics): Remove contents.
1170         * ggc-common.c: Remove unneeded includes.
1171         (struct ggc_root): Delete.
1172         (roots): Delete.
1173         (ggc_add_root): Delete.
1174         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1175         (ggc_print_common_statistics): Remove most of the contents.
1176         * Makefile.in (GGC_H): No longer uses varray.h.
1177         (ggc-common.o): Update dependencies.
1178         (c-parse.o): Add varray.h to dependencies.
1179         (c-common.o): Add varray.h.
1180         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1181         (mark_ident_hash): Rename to ggc_mark_stringpool.
1182         (init_stringpool): Don't use ggc_add_root.
1183         * c-parse.in: Include varray.h.
1184         * c-common.c: Include varray.h.
1185         * objc/Make-lang.in (objc-act.o): Add varray.h.
1186         * objc/objc-act.c: Include varray.h.
1187
1188         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1189
1190         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1191         (dw_cfi_oprnd1_desc): Likewise.
1192
1193         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1194
1195         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1196         move out of ifdef.
1197         (alpha_links): Use gengtype to mark; move out of ifdef.
1198         (mark_alpha_links_node): Delete.
1199         (mark_alpha_links): Delete.
1200         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1201         alpha_links, strings.  Don't use ggc_add_root.
1202         * ggc-common.c (ggc_splay_alloc): New.
1203         (ggc_splay_dont_free): New.
1204         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1205         (ggc_mark_tree): Likewise.
1206         (splay_tree_new_ggc): New.
1207         (ggc_splay_alloc): Declare.
1208         (ggc_splay_dont_free): Declare.
1209         * dwarf2asm.c: Include gt-dwarf2asm.h.
1210         (mark_indirect_pool_entry): Delete.
1211         (mark_indirect_pool): Delete.
1212         (indirect_pool): Use gengtype to mark.
1213         (dw2_force_const_mem): Don't use ggc_add_root.
1214         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1215         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1216         (gt-dwarf2asm.h): Depend on s-gtype.
1217
1218         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1219
1220         * tree.h (union tree_type_symtab): Mark `die' field.
1221         * Makefile.in (dwarf2out.o): Update dependencies.
1222         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1223         hash tables.
1224         (dw_cfi_oprnd1_desc): New function.
1225         (dw_cfi_oprnd2_desc): New function.
1226         (indirect_string_alloc): Delete.
1227         (debug_str_do_hash): New function.
1228         (debug_str_eq): New function.
1229         (mark_limbo_die_list): Delete.
1230         (dwarf2out_init): Don't call ggc_add_root.
1231
1232 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1233
1234         The following changes are merged from itanium-sched-branch:
1235
1236         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1237
1238         * doc/md.texi: Clarify assignment of units to automata description.
1239
1240         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1241
1242         * genautomata.c (unit_decl): Remove members
1243         `the_same_automaton_unit' and
1244         `the_same_automaton_message_reported_p'.
1245         (process_unit_to_form_the_same_automaton_unit_lists,
1246         form_the_same_automaton_unit_lists_from_regexp,
1247         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1248         Remove them.
1249         (annotation_message_reported_p): New global variable.
1250         (check_unit_distribution_in_reserv,
1251         check_regexp_units_distribution): New functions.
1252         (check_unit_distributions_to_automata): Rewrite it.
1253
1254         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1255
1256         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1257         Use continue instead of break if cycle is too big.
1258
1259         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1260
1261         * genautomata.c (check_unit_distributions_to_automata): Output at
1262         most one message for a unit.
1263         (process_unit_to_form_the_same_automaton_unit_lists): Check
1264         automaton of units instead of units themself.
1265
1266         * doc/md.texi: Describe the constraint about assigning unit to
1267         automata.
1268
1269         2002-12-20  Jan Hubicka  <jH@suse.cz>
1270                     Vladimir Makarov  <vmakarov@redhat.com>
1271
1272         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1273         and `in_set_p'.
1274         (gen_cpu_unit): Initialize the new members.
1275         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1276         up `min_occ_cycle_num'.
1277         (evaluate_max_reserv_cycles): Change the function call.
1278         (CLEAR_BIT): New macro.
1279         (states_union, state_shift): Use the mask.
1280         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1281         (form_reservs_matter): New function.
1282         (make_automaton): Call the function and use the mask.
1283         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1284         account.
1285
1286         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1287
1288         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1289
1290         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1291
1292         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1293         for Itanium.
1294
1295         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1296
1297         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1298         default cpu.
1299
1300         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1301                 2002-10-31  Dale Johannesen <dalej@apple.com>
1302
1303         * haifa-sched.c (find_set_reg_weight): New function.
1304         (find_insn_reg_weight): Use the new function.
1305         (schedule_block): Do sorting ready queue always
1306         after insn issue.
1307
1308         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1309
1310         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1311
1312         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1313
1314         * haifa-sched.c (choice_entry): New structure.
1315         (choice_stack, cycle_issued_insns): New variables.
1316         (max_issue): Rewrite it.
1317         (choose_ready): Set up ready_try for unknown insns too.
1318         (schedule_block): Allocate and free choice_stack.  Set up
1319         and modify cycle_issued_insns.
1320
1321         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1322         with and without filling the bundle.
1323         (bundling): Combine calls of issue_nops_and_insn.
1324
1325         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1326
1327         * config/ia64/itanium1.md: New file.
1328
1329         * config/ia64/itanium2.md: New file.
1330
1331         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1332         Remove the old pipeline description.
1333
1334         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1335         itanium processor names.
1336
1337         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1338
1339         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1340         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1341
1342         * config/ia64/ia64.md: Add descriptions for Itanium2.
1343
1344         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1345
1346         * config/ia64/ia64.h (processor_type): New enumeration.
1347         (ia64_tune, ia64_tune_string): New external declarations.
1348         (TARGET_OPTIONS): Add option `tune='.
1349
1350         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1351         variables.
1352         (ia64_override_options): Set up `ia64_tune'.
1353         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1354         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1355         (bundling): Add nops for MM-insns only for Itanium.
1356         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1357         Itanium.
1358
1359         * config/ia64/ia64.md (cpu): New attribute.
1360         (DFA description): Enable it only for Itanium.
1361
1362         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1363                     Richard Henderson  <rth@redhat.com>
1364
1365         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1366         MASK_EARLY_STOP_BITS.
1367         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1368         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1369         `early-stop-bits'.
1370
1371         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1372         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1373         instead of TARGET_TUNE_STOP_BITS.
1374
1375         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1376         `-mearly-stop-bits'.
1377
1378         * config/ia64/ia64.c (automata_option "v"): Comment it.
1379
1380         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1381
1382         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1383         New macros.
1384         (TARGET_SWITCHES): Add entries for the new option.
1385
1386         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1387         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1388         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1389         global variables.
1390         (ia64_sched_reorder2): Set up `clocks'.
1391         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1392         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1393         queue when TARGET_TUNE_STOP_BITS.
1394         (bundling): Insert additional nops for MM-insns.
1395         (final_emit_insn_group_barriers): Add insertion of stop bits
1396         according `stops_p'.
1397         (ia64_reorg): Initiate the new varibales.
1398
1399         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1400
1401         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1402
1403         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1404         insns at the end of block insn scheduling.
1405
1406         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1407
1408         * sched-deps.c (remove_dependence, group_leader): Remove it.
1409         (add_dependence): Add dependence to group leader to.
1410         (set_sched_group_p): Add dependence to the first insn of the
1411         schedule group too.
1412         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1413         Change true dependence by anti-dependence when
1414         `reg_pending_barrier'.
1415
1416         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1417         add_branch_dependences): Ignore schedule groups.
1418
1419         * sched-ebb.c (init_ready_list): Ditto.
1420
1421         * (move_insn, set_priorities): Ditto.
1422
1423         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1424         flag is clear after reload.
1425         (adjust_cost): Change cost only for output dependencies.
1426
1427         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1428
1429         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1430
1431         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1432
1433         * target.h (gcc_target): Add member
1434         `dependencies_evaluation_hook'.
1435
1436         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1437         macro.
1438         (TARGET_SCHED): Add initiatialization of the new member.
1439
1440         * sched-ebb.c: Include `target.h'.
1441         (schedule_ebb): Call `dependencies_evaluation_hook'.
1442
1443         * sched-rgn.c (schedule_region): Call
1444         `dependencies_evaluation_hook'.
1445
1446         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1447         New macro.
1448         (ia64_dependencies_evaluation_hook): New function.
1449
1450         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1451         Describe the new hook.
1452
1453         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1454
1455         * target.h (gcc_target): Add members
1456         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1457
1458         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1459         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1460         macros.
1461         (TARGET_SCHED): Add initiatialization of the new members.
1462
1463         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1464         insn scheduling too.
1465         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1466         initialize `ready_try'.
1467         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1468         `dfa_new_cycle' says not to do it.
1469
1470         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1471         bundling.
1472
1473         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1474
1475         * config/ia64/ia64.c: Include `hashtab.h'.
1476         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1477         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1478         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1479         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1480         bundle_state_eq_p, insert_bundle_state,
1481         initiate_bundle_state_table, finish_bundle_state_table,
1482         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1483         get_template, get_next_important_insn, bundling): New functions.
1484         (ia64_internal_sched_reorder): Remove it.
1485         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1486         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1487         (ia64_safe_itanium_requires_unit0): Remove it.
1488         (group_barrier_needed_p): Place group barrier right before a real
1489         insn.
1490         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1491         Remove them.
1492         (bundle_name): New variable.
1493         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1494         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1495         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1496         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1497         temp_dfa_state, prev_cycle_state): New global variables.
1498         (insn_matches_slot, maybe_rotate, finish_last_head,
1499         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1500         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1501         find_best_packet, itanium_reorder, dump_current_packet,
1502         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1503         (sched_data, sched_ready, sched_types): Remove them.
1504         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1505         `init_insn_group_barriers'.
1506         (ia64_sched_reorder, ia64_sched_reorder2): Call
1507         ia64_dfa_sched_reorder.
1508         (ia64_variable_issue): Rewrite it.
1509         (bundle_state): New structure.
1510         (index_to_bundle_states, bundle_states_num,
1511         allocated_bundle_states_chain, free_bundle_state_chain): New
1512         global variables.
1513         (ia64_sched_finish): Add stop bits and call `bundling' after the
1514         2nd insn scheduling.
1515         (ia64_use_dfa_pipeline_interface): Return zero always.
1516         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1517         insn scheduling.
1518         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1519         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1520         (ia64_reorg): Add bundling insns.
1521
1522         * doc/tm.texi
1523         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1524         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1525
1526         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1527
1528         * config/ia64/ia64.md: Add Itanium1 DFA description.
1529         (itanium_class): Add `nop' and `pre_cycle'.  Add
1530         define_function_unit for `nop'.
1531         (nop): Change attribute `itanium_class'.
1532         (pre_cycle): New define_insn.
1533
1534         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1535         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1536         ia64_produce_address_p): New function prototypes.
1537
1538         * config/ia64/ia64.c (bundling_p): New global variable.
1539         (ia64_use_dfa_pipeline_interface,
1540         ia64_first_cycle_multipass_dfa_lookahead,
1541         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1542         functions.
1543         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1544         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1545         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1546         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1547         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1548         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1549         (dfa_pre_cycle_insn): New variable.
1550
1551         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1552
1553         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1554         constructions.
1555
1556         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1557         New function prototypes.
1558
1559         * genattrtab.c (main): Process the new constructions.
1560
1561         * genautomata.c (gen_presence_absence_set,
1562         process_presence_absence_names, process_presence_absence_patterns,
1563         add_presence_absence, check_absence_pattern_sets): Add parameter
1564         `final_p'.
1565         (unit_decl): Add new members `final_presence_list' and
1566         `final_absence_list'.
1567         (unit_pattern_rel_decl): Add new member `final_p'.
1568         (gen_final_presence_set, gen_final_absence_set): New functions.
1569         (process_decls): Use member `final_p'.
1570         (temp_reserv): New global variable.
1571         (reserv_sets_are_intersected): Add processing `final_presence_set'
1572         and `final_absence_set'.
1573         (initiate_states): Allocate `temp_reserv'.
1574         (unit_final_presence_set_table, unit_final_absence_set_table): New
1575         gloabal variables.
1576         (initiate_presence_absence_pattern_sets): Initiate them.
1577         (NDFA_to_DFA): Fix typo.
1578         (output_description): Output `final_presence_set' and
1579         `final_absence_set'.
1580
1581         * doc/md.texi (final_presence_set, final_absence_set): Describe
1582         them.
1583
1584         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1585
1586         * genautomata.c (transform_3): Process a missing case (nothing on
1587         unit place).
1588
1589         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1590
1591         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1592         comments about queried units and the minimization.
1593
1594         * doc/md.texi: Ditto.
1595
1596         * genautomata.c (create_composed_state): Return nonzero if the new
1597         state has been created.
1598         (first_cycle_unit_presence): New function.
1599         (state_is_differed): Add new parameter.  Use the new function.
1600         Take queried units into account.
1601         (partition_equiv_class): Pass additional parameter to
1602         `state_is_differed'.
1603         (merge_states): Process composed states too.
1604         (build_automaton, create_automata, output_min_issue_delay_table,
1605         output_tables, output_statistics): Output more information.
1606         (output_reserved_units_table): Use function
1607         `first_cycle_unit_presence'.
1608         (output_tables): Output table of queried units even if the
1609         minimization is switched on.
1610         (write_automata): Output code for querying units even if the
1611         minimization is switched on.
1612
1613         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1614
1615         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1616         syntax of the constructions.
1617
1618         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1619         extended syntax of the constructions.
1620
1621         * genautomata.c (unit_rel_decl): Rename it to
1622         `unit_pattern_rel_decl'.
1623         (pattern_set_el, pattern_reserv): New structures.
1624         (pattern_set_el_t, pattern_reserv_t): New types.
1625         (gen_presence_absence_set): New function.
1626         (process_presence_absence): Remove it.
1627         (process_presence_absence_names,
1628         process_presence_absence_patterns): New functions.
1629         (get_presence_absence_set): Remove it.
1630         (initiate_presence_absence_sets): Rename it on
1631         `initiate_presence_absence_pattern_sets'.  Use new function
1632         `form_reserv_sets_list'.
1633         (form_reserv_sets_list, check_presence_pattern_sets,
1634         check_absence_pattern_sets, output_pattern_set_el_list): New
1635         functions.
1636         (unit_decl): Change types of members `presence_list' and
1637         `absence_list'.
1638         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1639         (decl): Change types of members `excl', `presence', and `absence'.
1640         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1641         at the end of the vector.
1642         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1643         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1644         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1645         (gen_presence_set, gen_absence_set): Use new function
1646         `gen_presence_absence_set'.
1647         (add_presence_absence): Process `pattern_list' instead of
1648         `source_list'.
1649         (process_decls): USe new functions
1650         `process_presence_absence_names' and
1651         `process_presence_absence_patterns'.
1652         (reserv_sets_are_intersected): Use new function
1653         `check_presence_pattern_sets'.
1654         (presence_set, absence_set): Remove them.
1655         (unit_presence_set_table, unit_absence_set_table): New global
1656         variables.
1657         (output_description): Use new function
1658         `output_pattern_set_el_list'.
1659         (generate): Use `initiate_presence_absence_pattern_sets'.
1660
1661         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1662
1663         * genattr.c (main): Add output of prototype of new interface
1664         function `dfa_clean_insn_cache'.
1665
1666         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1667         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1668         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1669         the generated code.
1670         (write_automata): Call the new function.
1671
1672 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1673
1674         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1675         correctly.
1676
1677 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1678
1679         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1680
1681 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1682
1683         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1684         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1685         (CONSTRAINT_LEN): Provide default definition.
1686         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1687         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1688         (EXTRA_CONSTRAINT_STR): Likewise.
1689         (REG_CLASS_FROM_CONSTRAINT): Define.
1690         * genoutput.c (check_constraint_len, constraint_len): New functions.
1691         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1692         constraint / modifier.
1693         (gen_insn): Call check_constraint_len.
1694         * local-alloc.c (block_alloc): Update to use new macros / pass
1695         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1696         * ra-build.c (handle_asm_insn): Likewise.
1697         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1698         (constrain_operands, peep2_find_free_register): Likewise.
1699         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1700         * regmove.c (find_matches): Likewise.
1701         * reload.c (push_secondary_reload, find_reloads): Likewise.
1702         (alternative_allows_memconst): Likewise.
1703         * reload1.c (maybe_fix_stack_asms): Likewise.
1704         (reload_cse_simplify_operands): Likewise.
1705         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1706         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1707         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1708         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1709         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1710         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1711
1712         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1713
1714 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1715
1716         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1717         length.
1718         (*extzv_1_r_h8300hs): Likewise.
1719         (*extzv_1_r_inv_h8300): Likewise.
1720         (*extzv_1_r_inv_h8300hs): Likewise.
1721
1722 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1723
1724         * config/h8300/h8300.h (PREDICATE_CODES): New.
1725
1726 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1727
1728         * config/h8300/h8300.md (*addsi3_upper): New.
1729         (*iorsi3_shift): Likewise.
1730         (two splitters): Likewise.
1731         (*addsi3_shift): Likewise.
1732         (two splitters): Likewise.
1733
1734 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1735
1736         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1737         * basic-block.h (control_flow_insn_p): Fuction was exported.
1738         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1739         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1740         notes only when the region is contained in a single basic block.
1741
1742 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1743
1744         PR inline-asm/8832
1745         * tree.h (expand_asm): New prototype.
1746         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1747         to do so.
1748         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1749         down to expand_asm.
1750         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1751         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1752         (volatile_refs_p) [ASM_INPUT]: Likewise.
1753         (side_effects_p) [ASM_INPUT]: Likewise.
1754
1755 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1756
1757         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1758         athlon_decode attributes
1759         (imul/k8 optimization peep2s): New.
1760
1761         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1762         * i386.md (type attribute): Add ssecomi.
1763         (unit, memory, prefix attributes): Handle ssecomi.
1764         (cvt?2? patterns): Fix athlon_decode attribute
1765         (comi patterns): Set attribute to ssecomi.
1766
1767         PR target/8343
1768         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1769
1770 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1771
1772         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1773         that match register_operands.
1774         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1775         register_operand the default case.
1776
1777 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1778
1779         PR c/8032
1780         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1781         an empty element, do not advance the pointer to unfilled
1782         fields if there are pending initializers.
1783
1784 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1785
1786         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1787         (install-gcc-tooldir, install-cpp, installdirs,
1788         install-common, install-driver, install-info, install-man,
1789         install-headers, install-include-dir, install-headers-tar,
1790         install-headers-cpio, install-headers-cp, install-mkheaders,
1791         install-collect2, uninstall): Prepend $(DESTDIR) to
1792         destination paths in all (un)installation commands.
1793         (install-driver): Rewrite $(LN) commands to support DESTDIR
1794         with "ln" as well as with "ln -s".
1795         (installdirs): Simply use mkinstalldirs.
1796         (install-libgcc, install-multilib): Also pass DESTDIR.
1797         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1798         installation destination variable ldir.
1799         * config/alpha/t-osf4, config/arm/t-netbsd,
1800         config/ia64/t-hpux, config/mips/t-iris5-6,
1801         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1802         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1803         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1804         in the definition of SHLIB_INSTALL.
1805         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1806         $(libsubdir) in the installation commands.
1807
1808 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1809
1810         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1811         non-optimizing compile.
1812         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1813         compile.
1814
1815 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1816
1817         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1818         ms_struct and gcc_struct.
1819         (ix86_handle_struct_attribute): New function.
1820         (ix86_ms_bitfield_layout_p): Update to take new attributes
1821         into account.
1822         * doc/extend.texi: Document new attributes.
1823         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1824
1825 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1826
1827         PR optimization/8750
1828         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1829         scheduling pass to move insns across __alloca call.
1830
1831 2003-01-08  Dale Johannesen  <dalej@apple.com>
1832
1833         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1834         with *stmsi[3-8].
1835
1836 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1837
1838         PR target/9210
1839         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1840         Set SYMBOL_REF_FLAG on local data sym_ref.
1841
1842 2003-01-08  Dale Johannesen  <dalej@apple.com>
1843
1844         * function.c (assign_parms):  Don't set pretend_args_size if
1845           REG_PARM_STACK_SPACE.
1846           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1847           pretend_args_size.
1848
1849 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1850
1851         * gcc.hlp: Delete.
1852
1853 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1854
1855         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1856
1857 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1858
1859         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1860         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1861         as hook_bool_tree_hwi_hwi_tree_true.
1862         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1863         (rs6000_emit_epilogue): Same.
1864         (rs6000_output_mi_thunk): Re-implement as RTL.
1865         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1866         xcoffout_declare_function if any debugging enabled.
1867
1868 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1869
1870         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1871         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1872         * config/mips/mips.h (enum processor_type): Rename
1873         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1874         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1875         Add PROCESSOR_M4K.
1876         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1877         (ISA_MIPS32R2): New define.
1878         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1879         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1880         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1881         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1882         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1883         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1884         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1885         compiling MIPS16 code.
1886         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1887         comment.
1888         (ISA_HAS_SEB_SEH): New define.
1889         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1890         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1891         processor_type value renaming.  Add support for MIPS32R2.
1892         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1893         entries.
1894         (override_options): Reimplement -mipsN option handling so that
1895         it will work correctly for -mips32r2.  Avoid branch-likely
1896         instructions on MIPS32R2.
1897         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1898         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1899         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1900         (extendhisi2_hw, extendqisi2_hw): New.
1901         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1902         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1903         MIPS32R2, and MIPS64.
1904         (LINK_SPEC): Pass -mips32r2 to linker.
1905         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1906         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1907         for mips32r2 in the -march description.  Alphabetically sort
1908         CPU names in the -march description.  Add long-missed -mips32
1909         and -mips64 to MIPS option summary.
1910
1911         * config.gcc: Update copyright years to include 2003.
1912         * config/mips/mips.c: Likewise.
1913         * config/mips/mips.h: Likewise.
1914         * config/mips/mips.md: Likewise.
1915         * config/mips/netbsd.h: Likewise.
1916         * doc/invoke.texi: Likewise.
1917
1918 2003-01-08  Andreas Schwab  <schwab@suse.de>
1919
1920         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1921         variable.
1922         * configure: Regenerated.
1923
1924 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1925
1926         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1927         extraction of det with b0, b1, w0, w2, etc.
1928         (compute_logical_op_length): Likewise.
1929         (compute_logical_op_cc): Likewise.
1930
1931 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1932
1933         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1934         HIGH on all variants.
1935
1936 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1937
1938         * Makefile.in (PARTITION_H): New.
1939         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1940         * basic-block.h: Include hard-reg-set.h.
1941
1942 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1943
1944         * arm.h (ENABLE_XF_PATTERNS): Delete.
1945         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1946         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1947         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1948         (cmpxf_trap): Delete.
1949         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1950
1951 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1952
1953         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1954         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1955         (add??cc): New expanders.
1956         * i386.c (expand_int_addcc): New function.
1957         * i386-protos.h (expand_int_addcc): Declare.
1958
1959         * alias.c (memory_modified_1): New static function.
1960         (memory_modified): New static varaible.
1961         (memory_modified_in_insn_p): New global function.
1962         * rtl.h (memory_modified_in_insn_p): Declare.
1963         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1964         references.
1965
1966         * expr.h (emit_conditional_add): Declare.
1967
1968 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1969
1970         PR other/8947
1971         * doc/invoke.texi (-malign-double): Explain that the option breaks
1972         binary compatibility.
1973
1974 2003-01-08  Andreas Schwab  <schwab@suse.de>
1975
1976         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1977         should come from the generic *-*-linux* entry.
1978
1979 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1980
1981         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1982         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1983         we are inside libcall.
1984         * cselib.h (elt_loc_list): Add in_libcall.
1985         * gcse.c (do_local_cprop): Do not copy propagate using insns
1986         in libcalls.
1987
1988 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1989
1990         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1991         not normally affect to issue rate.
1992
1993 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1994
1995         * genopinit.c (optabs): Add addc_optab.
1996         * ifcvt.c (noce_try_store_flag): Rename to ...
1997         (noce_try_addcc): ... this one; handle generic conditional increment.
1998         (noce_process_if_block): Update noce_try_addcc call.
1999         * optabs.c (emit_conditional_add): New.
2000         (init_obtabs): Initialize addc_optab.
2001         * optabs.h (optab_index): Add OTI_addcc.
2002         (addcc_optab): New macro.
2003         * md.texi: Document addMcc
2004
2005         PR target/8322
2006         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
2007         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2008         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
2009
2010         * reload1.c (delete_output_reload): Avoid repeated attempts
2011         to delete insn.
2012
2013 2003-01-07  Andreas Schwab  <schwab@suse.de>
2014
2015         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
2016         Move --enable-initfini-array check ...
2017         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
2018         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
2019         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
2020         * configure: Rebuild.
2021
2022 2003-01-07  Richard Henderson  <rth@redhat.com>
2023
2024         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2025         if the register is set once.
2026
2027 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2028
2029         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2030         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2031         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2032
2033 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2034             Sunil Davasam  <sunil.k.davasam@intel.com>
2035
2036         PR libstdc++/9076
2037         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2038         DW_CFA_same_value, read next and ignore.
2039
2040 2003-01-07  Richard Henderson  <rth@redhat.com>
2041
2042         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2043
2044 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2045
2046         * cfg.c: Include alloc-pool.h
2047         (edge_pool): New pool.
2048         (bb_pool): New pool.
2049         (first_deleted_edge): Remove.
2050         (first_deleted_block): Remove.
2051         (init_flow): Alloc/free the pools.
2052         (free_edge): Use pools.
2053         (alloc_block): Ditto.
2054         (expunge_block): Ditto.
2055         (cached_make_edge): Ditto.
2056
2057         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2058
2059 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2060
2061         * et-forest.c: Include alloc-pool.h.
2062         (struct et_forest): Add node_pool and occur_pool.
2063         (et_forest_create): Create the new pools.
2064         (et_forest_delete): Delete them.
2065         (et_forest_add_node): Allocate and free using pools.
2066         (et_forest_add_edge): Ditto.
2067         (et_forest_remove_node): Ditto.
2068         (et_forest_remove_edge): Ditto.
2069
2070         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2071
2072 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2073
2074         * config/h8300/h8300.c (output_logical_op): Simplify and
2075         optimize the handling of SImode.
2076         * config/h8300/h8300.c (compute_logical_op_length): Update
2077         accordingly.
2078         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2079
2080 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2081
2082         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2083         big-endian correction to indirect arguments too.
2084
2085 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2086
2087         Segher Boessenkool  <segher@koffie.nl>
2088
2089         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2090         (alt_reg_names): Ditto, fix formatting.
2091         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2092
2093 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2094
2095         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2096         (output_logical_op): Constify intval and det.
2097         (compute_logical_length): Likewise.
2098         (compute_logical_cc): Likewise.
2099         (output_a_shift): Constify mask.
2100         (h8300_encode_label): Constify len.
2101
2102 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2103
2104         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2105         (h8300_expand_epilogue): Likewise.
2106
2107 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2108
2109         Segher Boessenkool  <segher@koffie.nl>
2110
2111         * config/rs6000/altivec.md: Remove spaces from assembler
2112         instruction argument lists.
2113
2114 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2115
2116         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2117         c4x_assembler_function_p.
2118         (c4x_null_epilogue_p): Complement return value, all uses updated.
2119         (c4x_insert_attributes): Add naked.
2120         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2121         * doc/extend.texi: Update C4x function attributes.
2122
2123 2003-01-06  Richard Henderson  <rth@redhat.com>
2124
2125         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2126         properly when changing "local-ness".
2127         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2128
2129 2003-01-06  Dale Johannesen  <dalej@apple.com>
2130
2131         * config/darwin-protos.h:  Add prototypes for new section functions.
2132
2133 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2134
2135         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2136         to EABI.
2137
2138 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2139
2140         * hwint.h: If the current compiler has no 64-bit type at all,
2141         make HOST_WIDEST_INT 32 bits.
2142
2143 2003-01-06  Eric Christopher  <echristo@redhat.com>
2144
2145         * config/mips/mips.md (movdf_internal2): Fix constraints.
2146
2147 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2148
2149         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2150
2151 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2152
2153         * config/mips/mips.md (leadi): Use dla rather than la.
2154
2155 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2156
2157         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2158         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2159
2160 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2161
2162         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2163         redefinition.
2164
2165 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2166
2167         * config/h8300/h8300.md (*extzv_8_23): New.
2168
2169 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2170
2171         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2172         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2173         USE_EH_FRAME_REGISTRY when defining.
2174
2175 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2176
2177         * config/h8300/h8300.c (output_a_shift): Do not output a
2178         variable shift.
2179         * config/h8300/h8300.md (two splitters): New.
2180
2181 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2182
2183         * config/mips/mips.md: Disable the movstrsi define_split.
2184
2185 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2186
2187         * alloc-pool.c: Don't include "libiberty.h".
2188         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2189         * convert.c (convert_to_real): Hide unused variable.
2190
2191 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2192
2193         * Makefile.in (gtyp-gen.h): Const-ify.
2194         * gcov-dump.c (tag_table): Likewise.
2195
2196 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2197
2198         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2199         of *both* the file name and the fix name.
2200
2201 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2202
2203         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2204         collect2.
2205         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2206         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2207         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2208         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2209         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2210         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2211         elfos.h.
2212         (EH_FRAME_IN_DATA_SECTION): Delete define.
2213         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2214         (STARTFILE_SPEC): Use crtbegin.o.
2215         (ENDFILE_SPEC): Use crtend.o.
2216         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2217         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2218         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2219         DTOR_LIST_BEGIN): Define.
2220         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2221         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2222         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2223
2224 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2225
2226         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2227         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2228         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2229         Cleanup handling of replacement text.
2230         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2231
2232 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2233
2234         * fixinc/tests/base/math.h: removed obsolete results
2235         * fixinc/tests/base/stdlib.h: ditto
2236         * fixinc/tests/base/sys/param.h: ditto
2237         * fixinc/tests/base/sys/stat.h: ditto
2238         * fixinc/tests/base/time.h: ditto
2239         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2240         * fixinc/tests/base/sys/byteorder.h: ditto
2241         * fixinc/inclhack.def: Remove superfluous backslashes
2242
2243 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2244
2245         * config/h8300/h8300-protos.h: Add prototypes for
2246         the new functions defined below.
2247         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2248         define.
2249         (dosize): Emit RTL instead of assembly code.
2250         (push): Likewise.
2251         (pop): Likewise.
2252         (h8300_output_function_prologue): Remove.
2253         (h8300_expand_prologue): New.
2254         (h8300_expand_epilogue): New.
2255         (h8300_output_function_epilogue): Do only the reset of
2256         pragma_saveall.
2257         * config/h8300/h8300.md (push_h8300): New.
2258         (push_h8300hs): Likewise.
2259         (pop_h8300): Likewise.
2260         (pop_h8300hs): Likewise.
2261         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2262         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2263         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2264         (*ldm_h8300s_2): New.
2265         (*ldm_h8300s_3): Likewise.
2266         (*ldm_h8300s_4): Likewise.
2267         (return): Likewise.
2268         (*return_1): Likewise.
2269         (prologue): Likewise.
2270         (epilogue): Likewise.
2271         (monitor_prologue): Likewise.
2272
2273 2003-01-03  Dale Johannesen  <dalej@apple.com>
2274
2275         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2276           machopic_picsymbol_stub1.
2277           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2278         * rs6000/rs6000.c:  Update copyright.
2279           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2280
2281 2003-01-02  Jason Merrill  <jason@redhat.com>
2282
2283         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2284
2285         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2286         static/external decls.
2287
2288         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2289         outermost scope.
2290         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2291
2292 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2293
2294         * config/h8300/h8300-protos.h: Add a prototype for
2295         h8300_current_function_interrupt_function_p.
2296         * config/h8300/h8300.c (interrupt_handler): Remove.
2297         (os_task): Likewise.
2298         (monitor): Likewise.
2299         (pragma_interrupt): New.
2300         (WORD_REG_USED): Use
2301         h8300_current_function_interrupt_function_p.
2302         (dosize): Likewise.
2303         (h8300_output_function_prologue): Likewise.
2304         Do not set interrupt_handler, os_task, monitor.
2305         (h8300_output_function_prologue): Use
2306         h8300_current_function_interrupt_function_p.
2307         Do not set interrupt_handler, os_task, monitor.
2308         (h8300_current_function_interrupt_function_p): New.
2309         (h8300_pr_interrupt): Set pragma_interrupt.
2310         (h8300_insert_attributes): Reset pragma_interrupt.
2311
2312 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2313
2314         * doc/install.texi (Configuration): Fix markup for reference to
2315         gcc/config.gcc.
2316
2317 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2318
2319         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2320         (*iorhi3_two_qi): Likewise.
2321         (*iorsi3_zexthi): Likewise.
2322         (*xorhi3_zextqi): Likewise.
2323         (*xorsi3_zexthi): Likewise.
2324         (*xorsi3_zextqi): Likewise.
2325
2326 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2327
2328         * config/h8300/h8300.c (stack_pointer_operand): New.
2329         (const_int_gt_2_operand): Likewise.
2330         (const_int_ge_8_operand): Likewise.
2331         * config/h8300/h8300.md (a splitter): Likewise.
2332         (a peephole2): Likewise.
2333         * config/h8300/h8300-protos.h: Add prototypes for the new
2334         functions above.
2335
2336 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2337
2338         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2339         objc/objc-act.h: Fix copyright years.
2340
2341 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2342
2343         * doc/passes.texi: Fix documentation for -fssa-ccp
2344
2345 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2346
2347         * gccbug.in: Update for new categories.
2348
2349 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2350
2351         * config/h8300/h8300.md: Reorder some patterns.
2352
2353 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2354
2355         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2356
2357 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2358
2359         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2360         config/cris/cris-protos.h, config/i370/i370-protos.h,
2361         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2362         config/v850/v850-protos.h: Use struct, and don't conditionally
2363         compile on GCC_C_PRAGMA_H.
2364
2365 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2366
2367         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2368         * config/h8300/h8300-protos.h: Likewise.
2369         * config/sh/sh-protos.h: Likewise.
2370
2371 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2372
2373         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2374         cpp_reader.
2375         * config/h8300/h8300-protos.h: Likewise.
2376         * config/sh/sh-protos.h: Likewise.
2377
2378 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2379
2380         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2381         arm_pr_long_calls_off): Use struct.
2382         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2383         : Similarly.
2384         Don't include cpplib.h.
2385         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2386         sh_pr_nosave_low_regs): Similarly.
2387
2388 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2389
2390         * config/h8300/h8300.c: Include cpplib.h.
2391
2392 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2393
2394         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2395           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2396           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2397           "GCC" in the copyright header.
2398
2399 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2400
2401         * c-pragma.c (c_register_pragma): New.
2402         (init_pragma): Use it.
2403         * c-pragma.h (cpp_register_pragma): Don't declare.
2404         (c_register_pragma): New.
2405         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2406         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2407         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2408         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2409         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2410         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2411         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2412         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2413         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2414         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2415         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2416         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2417
2418 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2419
2420         * config/h8300/h8300-protos.h: Update the prototypes.
2421         * config/h8300/h8300.c (const_le_2_operand): Change to
2422         const_int_le_2_operand.
2423         (const_int_le_6_operand): Change to const_int_le_6_operand.
2424         * config/h8300/h8300.md (two peepholes): Update the function
2425         names.
2426
2427 2002-12-31  Tom Tromey  <tromey@redhat.com>
2428
2429         * doc/install.texi (Testing): Fixed typo.
2430
2431 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2432
2433         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2434         (TRAMPOLINE_SIZE): Support the normal mode.
2435         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2436
2437 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2438
2439         * c-common.h (pending_lang_change): Declare.
2440
2441 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2442
2443         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2444         descriptions.
2445
2446 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2447
2448         * gcc/doc/invoke.texi (Optimization Options): List the options
2449         enabled by each -O flag.
2450
2451 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2452
2453         * doc/install.texi (Configuration): Explicitly refer
2454         gcc/config.gcc for a list of cpu models.
2455
2456 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2457
2458         * config/h8300/h8300.h: Fix comment typos.
2459
2460 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2461
2462         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2463
2464 2002-12-30  Tom Tromey  <tromey@redhat.com>
2465
2466         * doc/install.texi (Testing): Mention Jacks.
2467
2468 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2469
2470         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2471
2472 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2473
2474         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2475         cases.
2476         (compute_logical_op_length): Update to reflect the change in
2477         output_logical_op.
2478         (compute_logical_op_cc): Likewise.
2479
2480 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2481
2482         * doc/service.texi: Uncomment and update FAQ link.
2483
2484 2002-12-30  Andreas Jaeger  <aj@suse.de>
2485
2486         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2487
2488 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2489
2490         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2491
2492 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2493
2494         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2495         are clearing the most significant byte.
2496         (compute_logical_op_length): Update to reflect the change in
2497         output_logical_op.
2498         (compute_logical_op_cc): Likewise.
2499
2500 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2501
2502         * config/h8300/h8300.md: Give internal names to anonymous
2503         insns.
2504
2505 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2506
2507         * config/h8300/h8300.md: Reorder some insns.
2508
2509 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2510
2511         * config/h8300/h8300-protos.h: Add prototypes for
2512         const_int_qi_operand and const_int_hi_operand.
2513         * config/h8300/h8300.c (const_int_qi_operand): New.
2514         (const_int_hi_operand): Likewise.
2515         * config/h8300/h8300.md (three peepholes): New.
2516
2517 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2518
2519         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2520         Use @copying.
2521
2522 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2523
2524         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2525         * configure: Regenerate.
2526         * doc/install.texi: Update Texinfo version requirement.
2527
2528 2002-12-28  Andreas Jaeger  <aj@suse.de>
2529
2530         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2531         possibly unused.
2532
2533         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2534         correct format.
2535
2536 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2537
2538         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2539         *iorhi_ashift_8.
2540         (*iorhi_lshiftrt_8): New.
2541
2542 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2543
2544         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2545
2546 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2547
2548         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2549
2550 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2551
2552         * config/h8300/h8300-protos.h: Fix comment typos.
2553         Update copyright.
2554         * config/h8300/h8300.c: Fix comment typos.
2555
2556 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2557
2558         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2559
2560 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2561
2562         * config/i386/athlon.md: Fix comment typos.
2563         * config/i386/crtdll.h: Likewise.
2564         * config/i386/djgpp.h: Likewise.
2565         * config/i386/i386-interix.h: Likewise.
2566         * config/i386/i386.c: Likewise.
2567         * config/i386/i386.h: Likewise.
2568         * config/i386/i386.md: Likewise.
2569         * config/i386/k6.md: Likewise.
2570         * config/i386/mingw32.h: Likewise.
2571         * config/i386/pentium.md: Likewise.
2572         * config/i386/sco5.h: Likewise.
2573         * config/i386/winnt.c: Likewise.
2574         * config/i386/xmmintrin.h: Likewise.
2575
2576 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2577
2578         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2579         INSN_P before checking to see if it is dead.
2580         (mark_all_insn_unnecessary): Similarly.
2581         (ssa_eliminate_dead_code): Similarly.
2582         * rtl.h (struct rtx_def): Update comments for in_struct usage
2583         in dead code elimination pass.
2584         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2585
2586 2002-12-26  Andreas Schwab  <schwab@suse.de>
2587
2588         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2589
2590 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2591
2592         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2593         tartet_flags_explicit.
2594         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2595         Compact target_flags bits.
2596         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2597         (TARGET_SWITCHES): Delete references to *_SET flags.
2598
2599 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2600
2601         * i386.md (memory attribute): Fix setcc attribute.
2602
2603 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2604
2605         * output.h: Fix comment typos.
2606         * predict.c: Likewise.
2607         * print-tree.c: Likewise.
2608         * profile.c: Likewise.
2609         * ra-build.c: Likewise.
2610         * ra-colorize.c: Likewise.
2611         * ra-debug.c: Likewise.
2612         * ra-rewrite.c: Likewise.
2613         * ra.c: Likewise.
2614         * ra.h: Likewise.
2615         * real.c: Likewise.
2616         * recog.c: Likewise.
2617         * reg-stack.c: Likewise.
2618         * regclass.c: Likewise.
2619
2620 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2621
2622         * config/h8300/h8300.c (print_operand_address): Do not negate
2623         a negative number when printing one.
2624
2625 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2626
2627         * config/h8300/h8300-protos.h: Add prototypes for
2628         output_plussi, compute_plussi_length, and compute_plussi_cc.
2629         * config/h8300/h8300.c (output_plussi): New.
2630         (compute_plussi_length): Likewise.
2631         (compute_plussi_cc): Likewise.
2632         * config/h8300/h8300.md (addsi_h8300h): Call
2633         output_plussi, compute_plussi_length, and compute_plussi_cc.
2634
2635 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2636
2637         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2638         of match_operand in the new patterns.
2639
2640 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2641
2642         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2643
2644 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2645
2646         * configure.in (enable-coverage): Add SELF_COVERAGE.
2647         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2648
2649 2002-12-24  Jim Wilson  <wilson@redhat.com>
2650
2651         * alias.c (record_set): Handle multi-reg hard registers.
2652
2653 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2654
2655         * regmove.c: Fix comment typos.
2656         * reload.c: Likewise.
2657         * reload1.c: Likewise.
2658         * resource.c: Likewise.
2659         * rtl.def: Likewise.
2660         * rtl.h: Likewise.
2661         * rtlanal.c: Likewise.
2662         * sched-deps.c: Likewise.
2663         * sched-rgn.c: Likewise.
2664         * sibcall.c: Likewise.
2665         * simplify-rtx.c: Likewise.
2666         * ssa-ccp.c: Likewise.
2667         * ssa.c: Likewise.
2668         * stmt.c: Likewise.
2669         * stor-layout.c: Likewise.
2670         * system.h: Likewise.
2671         * tlink.c: Likewise.
2672         * toplev.c: Likewise.
2673         * tracer.c: Likewise.
2674         * tree-inline.c: Likewise.
2675         * tree.c: Likewise.
2676         * tree.h: Likewise.
2677         * unroll.c: Likewise.
2678         * varasm.c: Likewise.
2679
2680 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2681
2682         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2683         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2684         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2685         DG/UX entries.
2686         * doc/md.texi: Remove AMD 29K entries.
2687         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2688         1.38.1, NewsOS, RT PC, WE32K entries.
2689
2690 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2691
2692         PR/8763
2693         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2694         (altivec_vspltisw_v4sf): Name pattern.
2695         (altivec_vslw_v4sf): New pattern.
2696
2697 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2698
2699         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2700
2701 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2702
2703         * stor-layout.c (update_alignment_for_field): Correct handling of
2704         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2705         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2706         bitfield does not affect alignment.
2707
2708 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2709
2710         * expr.c (expand_assignment): Apply special treatment to
2711         ARRAY_TYPE.
2712
2713 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2714
2715         * config/h8300/h8300-protos.h: Update the prototype of
2716         expand_a_shift.
2717         * config/h8300/h8300.c (expand_a_shift): Change the return
2718         type to void.
2719         * config/h8300/h8300.md: Update all the uses of
2720         expand_a_shift.
2721
2722 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2723
2724         * tree.c (save_expr): Allow either side of a dyadic operand to be
2725         constant.
2726
2727         * doc/portability.texi (portability): Update portability goals.
2728
2729 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2730
2731         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2732
2733 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2734
2735         * stor-layout.c (update_alignment_for_field): Guard use of
2736         ADJUST_FIELD_ALIGN with #ifdef.
2737
2738         * stor-layout.c (update_alignment_for_field): Use
2739         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2740         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2741
2742 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2743
2744         * genautomata.c: Fix comment typos.
2745
2746 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2747
2748         * params.def (tracer-min-branch-probability-feedback): Fix default.
2749         * final.c (compute_alignments): Use profile to avoid code bloat.
2750
2751 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2752
2753         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2754         sequences end with a valid cc0 whenever possible.
2755
2756 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2757
2758         * config/h8300/h8300.md (negsf2): New.
2759         (*negsf2_h8300): Likewise.
2760         (*negsf2_h8300hs): Likewise.
2761
2762 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2763
2764         * integrate.c (output_inline_function): Don't hold private
2765         pointers to 'struct function' over GC calls.
2766
2767 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2768
2769         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2770         NO_FPSCR_VALUES.
2771         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2772
2773 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2774
2775         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2776         length.
2777
2778 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2779
2780         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2781         second alternative "#".
2782         (*zero_extendqihi2_h8300hs): Likewise.
2783         (a define_split): New.
2784
2785 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2786
2787         * config/h8300/h8300-protos.h: Update the prototype for
2788         split_adds_subs.
2789         Add prototypes for const_le_2_operand and const_le_6_operand.
2790         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2791         specify whether inc/dec should be used when possible.
2792         (const_le_2_operand): New.
2793         (const_le_6_operand): Likewise.
2794         * config/h8300/h8300.md (two peepholes): New.
2795
2796 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2797
2798         * config/fr30/fr30.md: Fix a comment typo.
2799         * config/i386/i386.c: Likewise.
2800         * config/ip2k/ip2k.h: Likewise.
2801
2802 2002-12-20  Jim Wilson  <wilson@redhat.com>
2803
2804         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2805         (__ev_subw, __ev_subiw): New.
2806         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2807         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2808
2809 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2810
2811         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2812         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2813         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2814         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2815
2816 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2817
2818         * config/h8300/h8300-protos.h: Add prototypes for
2819         incdec_operand and eqne_operator.
2820         * config/h8300/h8300.c (incdec_operand): New.
2821         (eqne_operator): Likewise.
2822         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2823         (CONST_OK_FOR_O): Likewise.
2824         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2825         CONST_OK_FOR_O.
2826         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2827         (addhi3_incdec): New.
2828         (addsi3_incdec): Likewise.
2829         (two peepholes): Likewise.
2830
2831 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2832
2833         * config/h8300/h8300.c (dosize): Remove warnings.
2834         (print_operand): Likewise.
2835
2836 2002-12-20  Richard Henderson  <rth@redhat.com>
2837
2838         * config/alpha/alpha.c (decl_has_samegp): New.
2839         (samegp_function_operand): Use it.  Rename from
2840         current_file_function_operand.
2841         (direct_call_operand): Handle -msmall-text via symbol->jump.
2842         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2843         (tls_symbolic_operand_type): Likewise.
2844         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2845         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2846         (alpha_end_function): Set symbol->jump for functions defined in
2847         the text section.
2848         * config/alpha/alpha-protos.h: Update.
2849         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2850         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2851         (PREDICATE_CODES): Update.
2852         * config/alpha/alpha.md (call patterns): Update for
2853         samegp_function_operand rename; use !samegp reloc if
2854         TARGET_EXPLICIT_RELOCS.
2855         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2856
2857 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2858
2859         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2860         all registers capable of holding a double float.
2861         (*rcond): change name of "reverse branch" insns to
2862         something more meaningful.
2863         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2864         comparisons properly.
2865         (*ffs): Change operand 0 from write to read-modify-write.
2866         (*ffsssi2): Drop constraints from define_expand.
2867
2868         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2869         MOVE_RATIO as default for store operations.
2870
2871         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2872         LONG_REGS class.
2873         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2874         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2875         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2876
2877         * config/ns32k/STATUS: New File
2878         * config/ns32k/NOTES: New file.
2879
2880 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2881
2882         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2883         option for S/390 and zSeries.
2884         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2885         s390_arch_string): New variables.
2886         (override_options): Checking for options and setting of
2887         appropriate target_flags, cpu and arch flags.
2888         * config/s390/s390.h: (processor_type): New enum.
2889         (TARGET_SWITCHES): New switches -mesa/zarch.
2890         * config/s390/s390.md: New attribute 'cpu'.
2891
2892 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2893
2894         * c-pretty-print.h: Fix comment typos.
2895         * integrate.c: Likewise.
2896         * varasm.c: Likewise.
2897         * config/c4x/c4x.h: Likewise.
2898         * config/c4x/c4x.md: Likewise.
2899         * config/fr30/fr30.md: Likewise.
2900         * config/frv/frv.c: Likewise.
2901         * config/h8300/h8300.c: Likewise.
2902         * config/i386/i386.c: Likewise.
2903         * config/i386/i386.h: Likewise.
2904         * config/ia64/ia64.c: Likewise.
2905         * config/ia64/ia64.h: Likewise.
2906         * config/ip2k/ip2k.md: Likewise.
2907         * config/m68hc11/m68hc11-crt0.S: Likewise.
2908         * config/m68hc11/m68hc11.h: Likewise.
2909         * config/m68hc11/m68hc11.md: Likewise.
2910         * config/m68hc11/m68hc12.h: Likewise.
2911         * config/mcore/mcore.md: Likewise.
2912         * config/mips/mips.c: Likewise.
2913         * config/mips/mips.md: Likewise.
2914         * config/mmix/mmix-modes.def: Likewise.
2915         * config/pa/pa.c: Likewise.
2916         * config/rs6000/rs6000.c: Likewise.
2917         * config/rs6000/rs6000.h: Likewise.
2918         * config/rs6000/rs6000.md: Likewise.
2919
2920 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2921
2922         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2923         output shifts using rotation.
2924
2925 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2926
2927         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2928
2929 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2930
2931         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2932         pointer.
2933         (pushqi_h8300hs): Likewise.
2934         (pushhi_h8300): Likewise.
2935         (pushhi_h8300hs): Likewise.
2936
2937 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2938
2939         * sched-rgn.c (init_regions): Update comment.
2940
2941 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2942
2943         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2944         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2945         attributes.
2946         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2947         (get_vrsave_internal,set_vrsave_internal): Same.
2948         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2949         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2950         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2951
2952 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2953             Danny Smith  <dannysmith@users.sourceforge.net>
2954             Eric Kohl  <ekohl@rz-online.de>
2955
2956         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2957         attributes incompatible with fastcall attribute.
2958         (ix86_handle_regparm_attribute): Likewise.
2959
2960         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2961         fastcall types.
2962
2963         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2964         attributes.
2965         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2966         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2967         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2968         i386_pe_output_labelref rather than here.
2969         (gen_fastcall_suffix): New function. Decorates a label name with the
2970         fastcall prefix (@) and the stdcall suffix.
2971         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2972         has a fastcall attribute.
2973         (i386_pe_output_labelref): New function. Outputs a label reference.
2974         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2975         valid attribute.
2976         (ix86_return_pops_args): Fastcall functions pop the stack.
2977         (init_cumulative_args): Reserve registers ECX and EDX if function has
2978         fastcall attribute.
2979         (function_arg): Use registers ECX and EDX if function has fastcall
2980         attribute.
2981         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2982         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2983         (FASTCALL_PREFIX): Define as '@'.
2984         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2985         attributes.
2986         * doc/extend.texi: Add documentation of fastcall attribute.
2987
2988 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2989
2990         * configure.in: FORBUILD when build!=host changed from
2991         ../$build-alias to ../build-$build_alias to match change made
2992         in top directory.
2993         * configure: Regenerated.
2994
2995 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2996
2997         PR optimization/8988
2998         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2999         the biv when eliminating.
3000
3001 2002-12-19  Devang Patel  <dpatel@apple.com>
3002         * gcc.c (struct default_compiler): Recognizes input file name with
3003         .CPP extension as C++ source files
3004         * cp/lang-spec.h: Same
3005         * doc/invoke.texi:  Add documentation for .CPP support.
3006
3007 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
3008
3009         PR 8553
3010         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
3011         registers.
3012         ("absv16qi2"): Same.
3013         ("absv4si2"): Same.
3014         ("absv4sf2"): Same.
3015         ("altivec_abss_v16qi"): Same.
3016         ("altivec_abss_v8hi"): Same.
3017         ("altivec_abss_v4si"): Same.
3018
3019 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
3020
3021         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
3022         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
3023
3024 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3025
3026         PR target/8340
3027         * stmt.c (expand_asm_operands): Produce an error when
3028         the PIC register is clobbered.
3029
3030 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3031
3032         * Makefile.in (OBJS): Add alloc-pool.o
3033         (alloc-pool.o): New object.
3034
3035         * alloc-pool.c: New file.
3036         * alloc-pool.h: New file.
3037
3038 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3039
3040         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3041
3042 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3043
3044         * config.gcc: Set extra_objs in the generic Darwin rule,
3045         not in the machine-specific rules.
3046
3047 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3048
3049         * ChangeLog: Follow spelling conventions.
3050         * ChangeLog.2: Likewise.
3051         * ChangeLog.4: Likewise.
3052         * ChangeLog.5: Likewise.
3053         * cppexp.c: Likewise.
3054         * df.c: Likewise.
3055         * gcov.c: Likewise.
3056         * gengtype.c: Likewise.
3057         * reload1.c: Likewise.
3058         * sched-rgn.c: Likewise.
3059         * stmt.c: Likewise.
3060         * stor-layout.c: Likewise.
3061         * timevar.c: Likewise.
3062         * toplev.c: Likewise.
3063         * tree.h: Likewise.
3064         * varasm.c: Likewise.
3065         * config/fr30/fr30.md: Likewise.
3066         * config/i386/i386.c: Likewise.
3067         * config/ia64/ia64.c: Likewise.
3068         * config/pa/pa.c: Likewise.
3069
3070 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3071
3072         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3073
3074 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3075
3076         PR 8551
3077         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3078         macro.
3079         (vec_cmplt C++ functions): Reverse arguments.
3080
3081 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3082
3083         * config/rs6000/t-rs6000: Move contents to t-fprules,
3084         add rules for dependencies of rs6000.o and to build rs6000-c.o
3085         * config/rs6000/t-fprules: New file from t-rs6000.
3086         * config/rs6000/t-beos: Remove soft-fp rules.
3087         * config/rs6000/t-ppccomm: Likewise.
3088         * config/rs6000/t-newas: Likewise.
3089         * config/rs6000/t-rs6000-c-rule: Delete.
3090         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3091         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3092         Create generic Darwin rules.
3093
3094         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3095
3096 2002-12-18  Doug Evans  <dje@sebabeach.org>
3097
3098         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3099         and LIT_NAME_P.
3100         (move_src_operand): Remove compile-time warning.
3101         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3102
3103 2002-12-18  Jason Merrill  <jason@redhat.com>
3104
3105         * unwind-dw2-fde.c (frame_downheap): Split out from...
3106         (frame_heapsort): Here.
3107
3108 2002-12-17  Jason Merrill  <jason@redhat.com>
3109
3110         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3111         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3112
3113         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3114
3115         * calls.c (expand_call): Don't try to be clever about expanding
3116         the return slot address.
3117
3118 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3119
3120         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3121         Define.
3122
3123 2002-12-17  Jason Merrill  <jason@redhat.com>
3124
3125         * genmultilib: Use 'cd ./foo'.
3126
3127 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3128
3129         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3130
3131 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3132
3133         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3134         * doc/cpp.texi: Likewise.
3135         * doc/extend.texi: Likewise.
3136         * doc/gty.texi: Likewise.
3137         * doc/install.texi: Likewise.
3138         * doc/invoke.texi: Likewise.
3139         * doc/md.texi: Likewise.
3140         * doc/passes.texi: Likewise.
3141         * doc/rtl.texi: Likewise.
3142         * doc/sourcebuild.texi: Likewise.
3143         * doc/tm.texi: Likewise.
3144
3145 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3146
3147         * doc/invoke.texi: Minor spelling and grammar fixes.
3148
3149 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3150
3151         * config/s390/s390.c (s390_output_constant_pool): Replace
3152         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3153
3154 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3155
3156         * convert.c (convert_to_real): Disable function transformation for
3157         now.
3158
3159 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3160
3161         * gcc.c (handle_braces): Allow '@' as a switch name.
3162
3163 2002-12-16  Jason Merrill  <jason@redhat.com>
3164
3165         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3166         with special struct-return ABIs.
3167
3168         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3169         doesn't match the begin SCOPE_STMT in partialness.
3170
3171 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3172
3173         * genmultilib: Create temporary files in unique subdirectory.
3174
3175         * gcc.c (validate_switches): Allow '@' as a switch name.
3176
3177 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3178
3179         * Makefile.in (gcov-iov.h): Improve portability.
3180
3181 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3182
3183         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3184         gas
3185         * mips.md (tablejump insn): Likewise.
3186
3187 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3188
3189         * doc/include/gcc-common.texi: Change version number to 3.4.
3190
3191 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3192
3193         * fixinc/fixlib.h: add: #include <signal.h>
3194         * fixinc/fixincl.c: remove: #include <signal.h>
3195
3196 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3197
3198         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3199         (EXTRA_CONSTRAINT): Use it.
3200         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3201
3202 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3203
3204         * config.gcc (need_64bit_hwint): New variable.
3205         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3206         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3207         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3208         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3209         Set it.
3210         (powerpc*-*-darwin*): Unset it.
3211         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3212         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3213         deleted/nonexistent xm-*.h headers.
3214         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3215         target set need_64bit_hwint in config.gcc.
3216         * configure, config.in: Regenerate.
3217
3218         * hwint.h: Overhaul.  Don't bother trying int for
3219         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3220         decision to force 64-bit HOST_WIDE_INT on
3221         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3222         not visible at this point.  Don't allow prior definition of
3223         any macro defined by this file.
3224
3225         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3226         HOST_BITS_PER_WIDE_INT.
3227         * config/c4x/c4x.h: Adjust redefinition of
3228         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3229         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3230         config/i386/xm-i386-interix.h: Delete file.
3231
3232 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3233             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3234
3235         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3236         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3237
3238 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3239
3240         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3241
3242 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3243
3244         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3245         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3246         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3247         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3248         config/v850/t-v850:  Correct dependencies and normalize
3249         compilation commands for files that include coretypes.h and tm.h.
3250
3251         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3252         not config.h and system.h.
3253
3254 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3255
3256         * i386.c (flags_reg_operand):  New function.
3257         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3258         * i386.md (cmov splitter, movqicc): Use new predicate.
3259
3260 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3261
3262         * i386.md (movqicc splitter): Fix template.
3263
3264 2002-12-13  Jason Merrill  <jason@redhat.com>
3265
3266         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3267         * calls.c (expand_call): Handle it.
3268         * tree-inline.c (struct inline_data): Remove target_exprs field.
3269         (optimize_inline_calls): Don't initialize it.
3270         (expand_call_inline): Don't modify it.  Handle
3271         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3272         (declare_return_variable): Take return slot addr.
3273         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3274         to return_slot_addr.
3275         * langhooks-def.h, langhooks.c: Adjust.
3276         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3277         a decl with no DECL_INITIAL.
3278
3279         * expr.c (expand_expr): Don't discard the target of a call which
3280         returns in memory.
3281
3282 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3283
3284         * cppinit.c (path_include): Take an environment variable name.
3285         Tidy up.
3286         (init_standard_includes): Simplify environment handling, and
3287         move to ...
3288         (cpp_read_main_file): ...here as -nostdinc should not affect
3289         environment variable paths.
3290
3291 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3292
3293         * pa.c (output_millicode_call): Correct typo.
3294         (output_call): Likewise.
3295
3296 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3297
3298         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3299         operand's range.  Print value directly, without aid from
3300         output_address.
3301         <case U>: New.
3302         <case S>: Make sure argument to fprintf has the right type.
3303         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3304         (EXTRA_CONSTRAINT): Adjust.
3305         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3306         bclr.  Use %U for immediate operands of bset and bclr.
3307         (iorqi3): New expand, with insns for AM33 and mn10300.
3308
3309 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3310
3311         * sh.c (sh_register_operand): New function.
3312         (prepare_move_operands): Use it.
3313         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3314         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3315         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3316         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3317         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3318         (movv2si_i): Likewise.
3319
3320 2002-12-13  Jim Wilson  <wilson@redhat.com>
3321
3322         * doc/extend.texi (Complex Numbers): Update info on debug info.
3323
3324 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3325
3326         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3327         alternative.
3328
3329 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3330
3331         * hooks.h (hook_tree_tree_bool_false): Declare
3332         hook_bool_tree_tree_false instead.
3333
3334 2002-12-12  Devang Patel  <dpatel@apple.com>
3335
3336         * doc/invoke.texi: Document Darwin linker options, -bundle
3337         -bind_at_load, -all_load and -arch_errors_fatal
3338
3339 2002-12-12  Jim Wilson  <wilson@redhat.com>
3340
3341         * dbxout.c (dbxout_fptype_value): New.
3342         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3343
3344 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3345
3346         * c-decl.c: Fix a comment typo.
3347         * cfg.c: Likewise.
3348         * cfgcleanup.c: Likewise.
3349         * cfglayout.c: Likewise.
3350         * cfgrtl.c: Likewise.
3351         * c-typeck.c: Likewise.
3352         * dominance.c: Likewise.
3353         * dwarf2asm.c: Likewise.
3354         * dwarfout.c: Likewise.
3355         * expmed.c: Likewise.
3356         * expr.c: Likewise.
3357         * final.c: Likewise.
3358         * flow.c: Likewise.
3359         * function.c: Likewise.
3360         * gcc.c: Likewise.
3361         * genautomata.c: Likewise.
3362         * integrate.c: Likewise.
3363         * loop.c: Likewise.
3364         * loop.h: Likewise.
3365         * output.h: Likewise.
3366         * profile.c: Likewise.
3367         * ra.h: Likewise.
3368         * reload1.c: Likewise.
3369         * reload.c: Likewise.
3370         * sched-rgn.c: Likewise.
3371         * stmt.c: Likewise.
3372         * tree.h: Likewise.
3373         * vmsdbgout.c: Likewise.
3374
3375 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3376
3377         * config/h8300/h8300.md: Add a new peephole2.
3378
3379 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3380
3381         * config/h8300/h8300.md (a peephole2): Accept a constant
3382         that's accepted by CONST_OK_FOR_J.
3383
3384 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3385
3386         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3387         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3388         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3389         (*addhi_h8300hs): Likewise.
3390
3391 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3392
3393         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3394         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3395         Increase cost for moves involving multiple general purpose registers.
3396         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3397         TARGET_FMOVD.
3398         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3399         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3400         (enum reg_class reg_class_from_letter): No longer const.
3401         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3402         REGCLASS_HAS_GENERAL_REG.
3403         Handle SImode moves from/to fp registers.
3404         ! TARGET_SHMEDIA && TARGET_FMOVD.
3405         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3406         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3407
3408 2002-12-12  Andreas Schwab  <schwab@suse.de>
3409
3410         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3411         change and some warnings.
3412
3413 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3414
3415         * doc/md.texi (pushm): Fix a typo.
3416
3417 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3418
3419         * config/mips/mips.c (mips_output_conditional_branch): Support
3420         PIC-safe out-of-range branch and branch-likely.
3421         * config/mips/mips.md (attr length): PIC-safe out-of-range
3422         branches are longer.
3423         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3424         unused code to support indirect jumps.
3425
3426 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3427
3428         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3429         $(tm_file_list).
3430
3431 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3432
3433         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3434
3435 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3436
3437         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3438
3439 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3440
3441         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3442         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3443         BIGGEST_ALIGNMENT.
3444         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3445         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3446
3447 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3448
3449         * doc/invoke.texi: Correct dump file names.
3450
3451 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3452
3453         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3454         name to globalize_label or assemble_name.
3455
3456 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3457
3458         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3459         if not TARGET_SHMEDIA.
3460
3461 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3462
3463         * sh.h (REG_CLASS_HAS_FP_REG): New.
3464         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3465         move it into:
3466         * sh.c (sh_register_move_cost).
3467         * sh-protos.h (sh_register_move_cost): Declare.
3468
3469         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3470         (sh_adjust_cost): Always return a value.
3471
3472 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3473
3474         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3475         (REGISTER_MOVE_COST): Use it.
3476
3477 2002-12-11  Richard Henderson  <rth@redhat.com>
3478
3479         * tree.h (MODULE_LOCAL_P): Kill.
3480         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3481
3482 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3483
3484         * config/h8300/h8300.md (two define_peephole2): New.
3485
3486 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3487
3488         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3489         (CONST_OK_FOR_K): Likewise.
3490         (CONST_OK_FOR_M): Likewise.
3491         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3492
3493 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3494
3495         * c-common.c (builtin_define_type_max): Handle unsigned
3496         types too.
3497
3498 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3499
3500         * haifa-sched.c (rank_for_schedule): Correct style.
3501
3502 2002-12-10  Per Bothner  <pbothner@apple.com>
3503
3504         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3505         directive_index into an unsigned field and a new is_directive field.
3506         * cppinit.c (mark_named_operators):  Update to set new fields.
3507         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3508         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3509         No longer need to subtract 1 from directive_index.
3510         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3511         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3512
3513 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3514
3515         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3516         check for evaluating sqrt of a constant at compile time.
3517         * simplify-rtx.c (simplify_unary_operation): Likewise.
3518
3519 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3520
3521         PR other/8882
3522         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3523
3524 2002-12-10  Devang Patel  <dpatel@appple.com>
3525
3526         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3527         * doc/invoke.texi: Add new "Darwin Options" section.
3528
3529 2002-12-10  Jim Wilson  <wilson@redhat.com>
3530
3531         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3532         memory.
3533
3534 2002-12-10  Andrew Haley  <aph@redhat.com>
3535
3536         * cse.c (cse_insn): Don't cse past a basic block boundary.
3537
3538 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3539
3540         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3541         -shared.
3542         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3543         * config/alpha/linux.h (LIB_SPEC): Likewise.
3544         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3545         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3546         * config/sparc/linux.h (LIB_SPEC): Likewise.
3547         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3548
3549 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3550
3551         * doc/invoke.texi: Document UltraSparc III option.
3552
3553 2002-12-09  Richard Henderson  <rth@redhat.com>
3554
3555         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3556         __tune_pentium2__ and __tune_pentium3__ as necessary.
3557
3558 2002-12-09  Richard Henderson  <rth@redhat.com>
3559
3560         * target.h (gcc_target): Add cannot_force_const_mem.
3561         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3562         (TARGET_INITIALIZER): Add it.
3563         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3564         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3565         * reload1.c (reload): Likewise.
3566         * hooks.c (hook_bool_rtx_false): New.
3567         * hooks.h: Declare it.
3568
3569         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3570         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3571         (ix86_expand_move): Remove de-const-pooling hack.
3572
3573 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3574
3575         * toplev.c (dump_file): Fix order to match reality.
3576
3577 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3578
3579         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3580         (store_multiple): Likewise.
3581
3582 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3583
3584         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3585         function pointers in page 0.
3586
3587 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3588
3589         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3590         definition
3591         (MEMBER_TYPE_FORCES_BLK): Move.
3592         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3593         aggregate arguments.
3594         (ia64_function_value): Use PARALLEL to return aggregate values.
3595
3596 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3597
3598         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3599         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3600         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3601         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3602         * stmt.c (expand_return): Ditto.
3603         * expr.c (move_block_from_reg): Ditto.
3604         (copy_blkmode_from_reg): Ditto.
3605         * expmed.c (store_bit_field): Ditto.
3606
3607 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3608
3609         * config.gcc: Added tic4x-* target as an alias to c4x-*
3610
3611 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3612
3613         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3614         constructing insn directly.
3615
3616 2002-12-06  Per Bothner  <pbothner@apple.com>
3617
3618         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3619         char to an int bit-field, for hosts where char is unsigned.
3620
3621 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3622             Richard Henderson <rth@redhat.com>
3623
3624         * real.c (ieee_extended_motorola_format,
3625         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3626         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3627         Provide appropriate values for new signbit field.
3628
3629 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3630
3631         * real.h (real_format): Add signbit field.
3632         * real.c (ieee_single_format, ieee_double_format,
3633         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3634         ieee_extended_intel_128_format, ibm_extended_format,
3635         ieee_quad_format, vax_f_format, vax_d_format,
3636         vax_g_format, i370_single_format, i370_double_format,
3637         c4x_single_format, c4x_extended_format, real_internal_format):
3638         Provide suitable signbit value, or -1 to avoid bit twiddling.
3639
3640         * optabs.c (expand_unop): Try implementing negation of
3641         floating point modes by flipping the sign bit.
3642         (expand_abs): Try implementing abs of floating point modes
3643         by clearing the sign bit.
3644
3645 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3646
3647         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3648         of constructing insn directly.
3649
3650 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3651
3652         * config/h8300/h8300.md (*iorhi_shift_8): New.
3653
3654 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3655
3656         * doc/invoke.texi: Document FRV port options.
3657         * doc/md.texi: Document FRV register classes.
3658
3659 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3660
3661         * doc/install.texi (Configuration): Improve description of cases
3662         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3663
3664 2002-12-06  Per Bothner  <pbothner@apple.com>
3665
3666         * cpplib.h (NODE_MACRO_ARG):  New flag.
3667         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3668         Remove value.operator field.  Move arg_index field to value union.
3669         (directive_index):  Make signed, since also used for C++ operators.
3670         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3671         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3672         Save node->value, and set node->value.arg_index.
3673         (_cpp_create_definition):  For each paramater, restore node->value.
3674         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3675         * cpptrad.c (scan_out_logical_line): Likewise.
3676         (scan_out_logical_line): Check for directive > 0.
3677         * cpplib.c (cpp_handle_directive):  Likewise.
3678         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3679         by negative of directive_index.
3680         * cppinit.c (mark_named_operators):  Likewise.
3681
3682         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3683
3684 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3685
3686         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3687         FPU.
3688         (push): Generate push_fpscr.
3689         (pop): Generate pop_fpscr.
3690         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3691         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3692
3693 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3694
3695         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3696         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3697
3698 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3699
3700         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3701
3702 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3703         Merged from basic improvements branch (excerpt):
3704
3705         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3706         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3707
3708 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3709
3710         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3711
3712 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3713
3714         * i386.md (dimode peep2s): Re-add "&& 1".
3715
3716 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3717
3718         * i386.c (ix86_expand_prologue):  Add comment, do not use
3719         fast prologues for cold and normal functions.
3720
3721 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3722
3723         * i386.c (x86_rep_movl_optimal): New variable.
3724         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3725         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3726
3727         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3728         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3729         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3730         generate unnecesary subregs.
3731
3732 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3733
3734         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3735         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3736
3737 2002-12-05  Dale Johannesen  <dalej@apple.com>
3738
3739         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3740
3741 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3742
3743         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3744         PROFILE_HOOK.
3745         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3746
3747 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3748
3749         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3750         (__ev_mwlufia): Remove.
3751         (__ev_mwlumfaaw): Remove.
3752         (__ev_mwlusfaaw): Remove.
3753         (__ev_mwlumfanw): Remove.
3754         (__ev_mwlusfanw): Remove.
3755
3756 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3757
3758         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3759
3760 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3761
3762         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3763         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3764         (get_shift_alg): Return optimal assembly instructions for the
3765         shifts mentioned above.
3766
3767 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3768
3769         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3770         condtiional moves.
3771
3772 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3773
3774         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3775         implement ashiftrt:HI by 13 bits on H8S.
3776
3777 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3778
3779         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3780         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3781         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3782         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3783         CTOR_LIST_BEGIN): New defines.
3784         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3785         (fptr.c): Add make rules.
3786
3787 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3788
3789         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3790         * doc/md.texi (Insn Canonicalizations): Document new
3791         canonicalizations for multiply/add combinations.
3792         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3793         patterns to ensure they're used whenever they can be.
3794
3795 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3796
3797         * config/h8300/h8300.c: Update the comments related to shifts.
3798
3799 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3800
3801         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3802
3803 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3804
3805         * config/h8300/h8300.md (*extzv_8_8): New.
3806         (*extzv_8_16): Likewise.
3807
3808 2002-12-04  Jason Merrill  <jason@redhat.com>
3809
3810         PR c++/8461, c++/8625
3811         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3812         references.
3813         * tree-inline.c (initialize_inlined_parameters): Likewise.
3814
3815         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3816
3817 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3818
3819         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3820         macro instruction in a branch delay slot, to avoid assembler
3821         warnings.
3822
3823 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3824
3825         PR c/7622
3826         * c-semantics (genrtl_scope_stmt): Do not output inlined
3827         nested functions that contain no code.
3828
3829 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3830
3831         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3832         to be forced into nonfallthru.
3833
3834 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3835
3836         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3837
3838 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3839
3840         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3841
3842 2002-12-03  Richard Henderson  <rth@redhat.com>
3843
3844         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3845
3846 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3847
3848         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3849         Initialize tmp.using_obstack to 0.
3850
3851 2002-12-03  Andreas Schwab  <schwab@suse.de>
3852
3853         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3854         (EH_RETURN_STACKADJ_RTX): Define.
3855         (EH_RETURN_HANDLER_RTX): Define.
3856         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3857         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3858         registers and don't save fixed registers.
3859         (m68k_output_function_prologue): Use it.
3860         (use_return_insn): Likewise.
3861         (m68k_output_function_epilogue): Likewise.
3862
3863 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3864
3865         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3866         (single_zero_operand): Likewise.
3867
3868 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3869
3870         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3871         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3872         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3873         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3874         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3875         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3876         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3877         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3878         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3879
3880 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3881
3882         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3883         (ffsdi): Likewise.
3884         (cntlzw2, cntlzd2): New patterns.
3885
3886 2002-12-02  H.J. Lu <hjl@gnu.org>
3887
3888         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3889         (mips*-*-linux*): Remove mips/t-linux.
3890
3891 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3892
3893         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3894
3895 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3896
3897         * config/h8300/h8300.c (dosize): Replace argument op with
3898         sign.
3899         (h8300_output_function_prologue): Update the call to dosize.
3900         (h8300_output_function_epilogue): Likewise.
3901
3902 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3903
3904         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3905
3906 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3907
3908         * configure.in: Use "missing" script to generate warning if
3909         flex or bison programs not found, instead of invoking "false".
3910         * configure: Rebuilt.
3911
3912 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3913
3914         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3915
3916 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3917
3918         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3919
3920 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3921
3922         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3923         (push): Likewise.
3924         (pop): Likewise.
3925         (h8300_output_function_prologue): Likewise.
3926         (h8300_output_function_epilogue): Likewise.
3927
3928 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3929
3930         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3931         corresponding mode of non-integer mode, unless it is VOIDmode.
3932
3933 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3934
3935         * config/h8300/h8300.md (stm_h8300s_2): New.
3936         (stm_h8300s_3): Likewise.
3937         (stm_h8300s_4): Likewise.
3938         (five define_peephole2): Likewise.
3939
3940 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3941
3942         * ra-build.c: Fix a comment typo.
3943
3944 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3945
3946         * i386.c (ix86_expand_int_movcc): fix
3947         reversed BRANCH_COST test; be curefull about infinite recursion.
3948
3949 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3950
3951         * config/h8300/h8300.c (h8300_output_function_prologue):
3952         Remove variable idx.
3953         (h8300_output_function_epilogue): Likewise.
3954
3955 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3956
3957         * config/frv/xm-frv.h: Delete, unnecessary.
3958
3959 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3960
3961         * config/h8300/h8300.md: Add comments for define_peephole2.
3962
3963 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3964
3965         * builtin-types.def (BT_SIZE): Use size_type_node.
3966         * builtins.c (fold_builtin): Make the builtin strlen returns a
3967         size_t, not a sizetype.
3968         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3969         c_size_type_node.
3970         (c_alignof_expr): Likewise.
3971         (c_common_nodes_and_builtins): Likewise.
3972         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3973         (c_size_type_node): Likewise.
3974         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3975         * tree.h (TI_SIZE_TYPE): New enumeral.
3976         (size_type_node): Likewise.
3977
3978 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3979
3980         * configure.in: Don't put ${tm_file} into host_xm_file,
3981         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3982         Take location of tm-preds.h into account when calculating
3983         tm_p_file_list.
3984         * configure: Regenerate.
3985         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3986         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3987         Remove special case code for tm_p.h and *config.h; add new
3988         special case code for tm.h and tconfig.h. Clean up a bit.
3989
3990         * Makefile.in (tm_file, tm_file_list): New variables set from
3991         @-substitutions.
3992         (GCONFIG_H): Deleted.
3993         (GTM_H, TM_H): New.
3994         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3995         (TM_P_H): Move up with the other mkconfig.sh-generated
3996         headers; don't mention tm-preds.h explicitly.
3997         (tm.h, cs-tm.h): New rule.
3998         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3999         invocations of mkconfig.sh for changes to that program.
4000         (mostlyclean): Delete print-rtl1.c.
4001         (clean): Delete tm.h.
4002         Update dependencies for the files listed below.
4003
4004         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
4005
4006         * coretypes.h: New file.
4007         * system.h: #define malloc to xmalloc and realloc to xrealloc
4008         when FLEX_SCANNER or YYBISON is defined, independent of the
4009         value of GCC_VERSION.
4010         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
4011         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
4012         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
4013         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
4014         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
4015         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
4016         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
4017         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
4018         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
4019         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
4020         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
4021         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
4022         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
4023         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
4024         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4025         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4026         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4027         genconstants.c, genemit.c, genextract.c, genflags.c,
4028         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4029         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4030         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4031         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4032         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4033         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4034         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4035         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4036         print-tree.c, profile.c, protoize.c, ra-build.c,
4037         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4038         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4039         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4040         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4041         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4042         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4043         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4044         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4045         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4046         xcoffout.c, config/darwin-c.c, config/darwin.c,
4047         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4048         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4049         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4050         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4051         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4052         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4053         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4054         config/i960/i960-c.c, config/i960/i960.c,
4055         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4056         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4057         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4058         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4059         config/mmix/mmix.c, config/mn10200/mn10200.c,
4060         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4061         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4062         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4063         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4064         config/sparc/sparc.c, config/stormy16/stormy16.c,
4065         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4066         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4067         Include coretypes.h and tm.h.
4068
4069         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4070         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4071         genrecog.c: Include coretypes.h and tm.h from the file
4072         generated by this program.
4073
4074         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4075         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4076         coretypes.h and tm.h, and tsystem.h when not already included.
4077         No need to include stddef.h nor stdlib.h.
4078
4079         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4080         include auto-host.h or ansidecl.h/
4081         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4082         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4083         include auto-host.h, ansidecl.h, or system.h.
4084         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4085         and do not redefine volatile.
4086
4087 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4088
4089         * i386.md (movdf_integer):  Always enable in 64bit.
4090         (movdf_nointeger): Always disable in 64bit.
4091
4092 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4093
4094         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4095         pseudo register number plus 1.
4096
4097 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4098
4099         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4100         corresponding mode of non-integer mode, unless it is VOIDmode.
4101
4102 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4103
4104         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4105
4106         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4107
4108 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4109
4110         * config/s390/t-crtstuff: New target makefile fragment.
4111         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4112
4113 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4114
4115         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4116         alternatives to correct the length when the memory operand is
4117         either pre_dec or post_inc.
4118
4119 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4120
4121         * config/h8300/h8300.md (an anonymous pattern): Give an
4122         internal name *tst_extzv_bitqi_1_n.
4123         Accept bit_operand instead of bit_memory_operand.
4124         Do not accept bit tests with the MSB.
4125         (*tst_extzv_memqi_1_n): New.
4126
4127 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4128
4129         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4130         sharing when operand is SUBREG.
4131
4132 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4133
4134         * athlon.md (athlon-decodev): New reservation unit.
4135         (athlon-direct0): New reservation.
4136         (athlon-vector): New use athlon-decodev.
4137         (athlon-double, athlon-direct): Better model.
4138         (athlon_imul_k8): Use athlon-direct0.
4139         (athlon_movlpd_load): New insn reservation.
4140
4141 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4142
4143         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4144         Fix a comment typo.
4145         (h8300_tiny_constant_address_p): Likewise.
4146
4147 2002-11-28  Michael Matz  <matz@suse.de>
4148
4149         * doc/passes.texi: Mention the other register allocator.
4150
4151 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4152
4153         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4154
4155 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4156
4157         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4158         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4159         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4160
4161 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4162
4163         * config/h8300/h8300.c (h8300_and_costs): New.
4164         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4165         * config/h8300/h8300-protos.h: Add a prototype for
4166         h8300_and_costs.
4167
4168 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4169
4170         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4171         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4172         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4173         * i386.md (truncdfsf patterns and splitters): Use
4174         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4175
4176 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4177
4178         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4179         pointer argument in the prototypes of the following builtins
4180         be (const TYPE *) rather than (TYPE *):
4181          + __builtin_altivec_ld_internal_4sf
4182          + __builtin_altivec_ld_internal_4si
4183          + __builtin_altivec_ld_internal_8hi
4184          + __builtin_altivec_ld_internal_16qi
4185          + __builtin_altivec_lvsl
4186          + __builtin_altivec_lvsr
4187          + __builtin_altivec_lvebx
4188          + __builtin_altivec_lvehx
4189          + __builtin_altivec_lvewx
4190          + __builtin_altivec_lvxl
4191          + __builtin_altivec_lvx
4192          + __builtin_altivec_dst
4193          + __builtin_altivec_dstt
4194          + __builtin_altivec_dstst
4195          + __builtin_altivec_dststt
4196
4197 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4198
4199         * except.c (default_exception_section): Move variable into the
4200         scope where it is used.
4201
4202 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4203
4204         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4205         correct version.
4206
4207 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4208
4209         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4210
4211 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4212
4213         * config/h8300/h8300.c (h8300_shift_costs): New.
4214         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4215         * config/h8300/h8300-protos.h: Add a prototype for
4216         h8300_shift_costs.
4217
4218 2002-11-27  Jim Wilson  <wilson@redhat.com>
4219
4220         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4221         in output template.
4222
4223 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4224
4225         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4226         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4227         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4228         (i386_pe_dllimport_name_p): Likewise.
4229         (i386_pe_mark_dllexport): Likewise.
4230         (i386_pe_mark_dllimport): Likewise.
4231         (i386_pe_encode_section_info): Likewise.
4232         (i386_pe_strip_name_encoding): Likewise.
4233
4234 2002-11-27  Richard Henderson  <rth@redhat.com>
4235
4236         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4237         (nm && NF == 3): Set sawsymbol true.
4238         (END): Exit if no symbols seen.
4239         (output): Fix map syntax error if no globals for the version.
4240
4241 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4242
4243         * builtins.def (DEF_C99_BUILTIN): Fix.
4244
4245 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4246
4247         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4248         (all): Add .size and .type information.
4249
4250 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4251
4252         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4253         partial_reg_stall target.
4254
4255 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4256
4257         * i386.md (movhicc): Allow general operand.
4258         (movqicc): New expander.
4259         (movqicc_noc): New pattern.
4260         * i386.c (ix86_expand_carry_flag_compare): New function.
4261         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4262         HImode conversion; support QImode conditional moves
4263
4264 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4265
4266         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4267         (ix86_expand_prologue): Multiply the count by amount of registers to be
4268         pushed.
4269
4270 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4271
4272         * i386.c (override_options): Error about wrong -mcpu on x86-64
4273         compilation.
4274
4275 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4276
4277         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4278
4279 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4280
4281         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4282         x86_extended_reg_mentioned_p): Declare.
4283         * i386.c (extended_reg_mentioned_1): New static function.
4284         (x86_extended_QIreg_mentioned_p,
4285         x86_extended_reg_mentioned_p): New global functions.
4286         * i386.h (REX_SSE_REGNO_P): New macro.
4287         * i386.md (prefix_rex): New attribute.
4288         (length attribute): Add rex.
4289
4290 2002-11-26  Andrew Haley  <aph@redhat.com>
4291
4292         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4293         from_Unwind_Find_Enclosing_Function.
4294         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4295         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4296         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4297         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4298         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4299
4300 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4301
4302         * config/s390/s390.c (390_output_constant_pool): Set alignment
4303         before label in 64 bit mode, behind otherwise.
4304
4305 2002-11-26  Richard Henderson  <rth@redhat.com>
4306
4307         * c-common.c (handle_visibility_attribute): Accept "default".
4308         * tree.h (enum symbol_visibility): New.
4309         (decl_visibility): Declare.
4310         * target.h (gcc_target.visibility): Take visibility arg as integer.
4311         * varasm.c (default_assemble_visibility): Likewise.
4312         (decl_visibility): New.
4313         (maybe_assemble_visibility): Use it.
4314         * output.h (default_assemble_visibility): Update prototype.
4315         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4316         visibility arg as integer.
4317         * doc/extend.texi: Document default visibility.
4318
4319 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4320
4321         * config/h8300/h8300.c: Adjust spacing.
4322         * config/h8300/h8300.h: Likewise.
4323
4324 2002-11-26  Richard Henderson  <rth@redhat.com>
4325
4326         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4327         hook_void_FILEptr_constcharptr): Rename so that the return
4328         type is first.
4329         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4330         hook_bool_tree_false): New.
4331         * hooks.h: Update.
4332         * langhooks-def.h: Update for renames.
4333         * target-def.h: Likewise.
4334         * tree.c (default_comp_type_attributes,
4335         default_set_default_type_attributes, default_insert_attributes,
4336         default_function_attribute_inlinable_p,
4337         default_ms_bitfield_layout_p): Remove.
4338         * tree.h: Update.
4339
4340 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4341
4342         * pa-protos.h (function_value): New prototype.
4343         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4344         TARGET_64BIT.
4345         * pa.h (FUNCTION_VALUE): Use function_value.
4346         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4347         call_value_internal_reg, sibcall_value_internal_symref,
4348         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4349         value.
4350
4351 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4352
4353         * expr.c (gen_group_rtx, emit_group_move): New functions.
4354         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4355         * function.c (expand_function_start): Use gen_group_rtx to create a
4356         PARALLEL rtx to hold the return value when the real return rtx is a
4357         PARALLEL.
4358         (expand_function_end): Use emit_group_move to move the return value
4359         from a PARALLEL to the real return registers.
4360         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4361         in PARALLELs.
4362
4363 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4364
4365         * config/t-libc-ok: Fix typo.
4366
4367 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4368
4369         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4370         before AC_PROG_CC.
4371         * configure: Rebuilt.
4372
4373 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4374
4375         * c-decl.c: (start_struct): Commonize flag setting.
4376
4377 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4378
4379         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4380         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4381         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4382         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4383
4384 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4385
4386         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4387         insns.
4388         * config/s390/s390.c (struct machine_function): Introduction of
4389         struct machine_function.
4390         (s390_output_symbolic_const): Use of cfun.
4391         (s390_optimize_prolog): Likewise.
4392         (s390_fixup_clobbered_return_reg): Likewise.
4393         (s390_frame_info): Likewise.
4394         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4395         (s390_init_machine_status): New function.
4396         (override_options): call s390_init_machine_status.
4397         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4398         prototype.
4399
4400 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4401
4402         * varasm.c (output_constant_pool): For pool constants in mergeable
4403         section ensure each constant is padded to multiple of entity size.
4404
4405 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4406
4407         * varasm.c (default_exception_section): Move to...
4408         * except.c (default_exception_section): ... here. Make
4409         .gcc_except_table read-only if it is not expected to have any
4410         dynamic relocations and linker handles it.
4411         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4412         if it is not expected to have any dynamic relocations and linker
4413         handles it.
4414         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4415         when linking read-only and read-write sections together.
4416         * configure, config.in: Rebuilt.
4417         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4418         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4419
4420 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4421
4422         * i386.md (pushsf_rex64): Fix typo.
4423
4424 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4425
4426         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4427         new function.
4428         (__ev_create_ufix32_fs): Same.
4429         (__ev_get_sfix32_fs_internal): New.
4430         (__ev_get_sfix32_fs): Define to use function.
4431         (__ev_get_ufix32_fs_internal): New.
4432         (__ev_get_ufix32_fs): Define to use function.
4433         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4434         (__ev_get_lower_ufix32_fs): Same.
4435         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4436         (__ev_get_lower_sfix32_fs): Same.
4437         (__ev_set_sfix32_fs_internal): New.
4438         (__ev_set_ufix32_fs_internal): New.
4439         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4440         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4441         (__ev_set_upper_sfix32_fs): Call function.
4442         (__ev_set_lower_sfix32_fs): Same.
4443         (__ev_set_upper_ufix32_fs): Same.
4444         (__ev_set_lower_ufix32_fs): Same.
4445
4446 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4447
4448         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4449
4450 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4451
4452         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4453         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4454         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4455         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4456         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4457         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4458         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4459         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4460         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4461         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4462         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4463         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4464         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4465         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4466         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4467         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4468         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4469         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4470         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4471         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4472         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4473         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4474         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4475         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4476         defining.
4477         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4478         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4479
4480 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4481
4482         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4483
4484 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4485
4486         * config/h8300/h8300.md (an anonymous pattern): New.
4487
4488 2002-11-25  Richard Henderson  <rth@redhat.com>
4489
4490         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4491         (copying_arguments): Make boolean.
4492
4493 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4494
4495         * gcc.c (static_spec_functions): Add if-exists-else spec
4496         function.
4497         (if_exists_else_spec_function): New function.
4498         * doc/invoke.texi: Document the if-exists-else spec function.
4499
4500         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4501         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4502
4503 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4504
4505         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4506         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4507         "${tmake_file} rs6000/t-netbsd".
4508         * config/rs6000/netbsd.h: Rewrite.
4509         * config/rs6000/t-netbsd: New file.
4510
4511 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4512
4513         * config/h8300/h8300.md (an anonymous pattern): Relax the
4514         condition for the pattern.
4515
4516 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4517
4518         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4519         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4520         evmwlssfanw, evmwlsmfanw.
4521
4522         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4523
4524         * config/rs6000/spe.md: Same for patterns.
4525
4526 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4527
4528         PR c/8639
4529         * fold-const.c (extract_muldiv): Don't propagate division unless
4530         both arguments are multiples of C.
4531
4532 2002-11-25  Andrew Haley  <aph@redhat.com>
4533
4534         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4535         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4536         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4537         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4538
4539 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4540
4541         * i386.c (x86_use_ffreep): New global variable.
4542         * i386.h (x86_use_frfeep): Declare
4543         (TARGET_USE_FFREEP): New macro
4544         * i386.md  (movs?f*): Use freep when asked for.
4545         (push?f): Remove dead code.
4546
4547 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4548
4549         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4550         target help message.
4551
4552 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4553
4554         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4555         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4556         crtbeginT.o".
4557         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4558         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4559         to "" for a.out configurations.
4560         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4561
4562 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4563
4564         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4565         NETBSD_CPP_SPEC directly.
4566         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4567         netbsd_endfile_spec.
4568         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4569
4570 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4571
4572         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4573         NETBSD_STARTFILE_SPEC.
4574         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4575         (ENDFILE_SPEC): Likewise.
4576         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4577
4578 2002-11-24  Andreas Schwab  <schwab@suse.de>
4579
4580         * Makefile.in (install-driver): Remove versioned link before
4581         trying to create it.
4582
4583         * config/m68k/m68k.c: Fix typo in last change defining
4584         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4585
4586 2002-11-23  H.J. Lu <hjl@gnu.org>
4587
4588         * aclocal.m4: Include ../config/accross.m4.
4589         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4590         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4591         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4592         instead of $ac_cv_c_compile_endian.
4593
4594         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4595         AC_COMPILE_CHECK_SIZEOF.
4596         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4597         * configure: Rebuild.
4598
4599 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4600
4601         * config/h8300/h8300.c (print_operand): Update the use of
4602         h8300_tiny_constant_address_p.
4603         (h8300_adjust_insn_length): Likewise.
4604         (h8300_tiny_constant_address_p): Check if the given rtx is a
4605         variable declared with __attribute__ ((tiny_data)).
4606
4607 2002-11-22  Dale Johannesen  <dalej@apple.com>
4608
4609         * toplev.c (rest_of_compilation):  Fix comments.
4610
4611 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4612
4613         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4614         allow mmap from /dev/zero.  Don't make decisions for the host
4615         based on presence or absence of /dev/zero on the build machine.
4616         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4617         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4618         * configure: Regenerate.
4619
4620 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4621
4622         * gcc.c (make_relative_prefix, split_directories)
4623         (free_split_directories): Removed.
4624
4625 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4626
4627         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4628         * configure: Regenerated.
4629
4630 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4631
4632         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4633         length computation when xor.l is output.
4634
4635 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4636
4637         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4638         (call_vms_1, call_value_vms_1): Cleanup syntax.
4639
4640 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4641
4642         * athlon.md (define_atuomaton): Add athlon_load.
4643         (athlon-double): New reservation.
4644         (athlon-ieu0): New CPU unit.
4645         (athlon-load?): Use athlon_load automaton.
4646         (*_k8 reservations): New.
4647         (other insn revervations): Activate for K8.
4648
4649 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4650
4651         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4652
4653 2002-11-21  Jim Wilson  <wilson@redhat.com>
4654
4655         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4656         vectors to SI.
4657
4658 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4659
4660         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4661         * config/xtensa/xtensa.c (struct machine_function): Add
4662         incoming_a7_copied flag.
4663         (xtensa_copy_incoming_a7): Define.
4664         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4665         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4666
4667 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4668
4669         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4670         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4671         x86_64_nonmemory_operand, x86_64_movabs_operand,
4672         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4673         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4674         (local_symbolic_operand): Do not care the 64bit limits.
4675         (x86_64_sign_extended_value): Remove allow_rip support.
4676         (legitimate_pic_address_disp_p): Handle all cases allowed
4677         with RIP addressing.
4678         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4679         (legitimize_pic_address): Reorganize.
4680         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4681
4682 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4683
4684         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4685         * config/arm/netbsd-elf.h: New file.
4686
4687 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4688
4689         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4690         subtarget_asm_float_spec.
4691         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4692         defaults from...
4693         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4694
4695 2002-11-21  Nick Clifton  <nickc@redhat.com>
4696
4697         * config/fr30/fr30.md (movsf_constant_store): Move code to
4698         detect 0.0 into fr30.c.
4699         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4700         Prototype.
4701         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4702         function.  Return true if the rtx is 0.0.
4703
4704 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4705
4706         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4707         if -mlittle-endian is specified.
4708
4709 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4710
4711         PR optimization/2903
4712         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4713         (anddi_notsesidi_di): Likewise.
4714
4715 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4716
4717         * config/h8300/h8300.c (print_operand): Use
4718         h8300_eightbit_constant_address_p and
4719         h8300_tiny_constant_address_p.
4720         (h8300_adjust_insn_length): Likewise.
4721         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4722         (TINY_CONSTANT_ADDRESS_P): Likewise.
4723         (OK_FOR_U): Use eightbit_constant_address_p.
4724
4725 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4726
4727         * config/s390/libgcc-libc.ver: Add multilib support.
4728         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4729         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4730         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4731         EXTRA_MULTILIB_PARTS): Define.
4732
4733 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4734
4735         * arm.c (arm_get_frame_size): A leaf function does not need its
4736         stack padding to an aligned boundary if it has no frame.
4737         (thumb_get_frame_size): Likewise.
4738
4739 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4740
4741         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4742         (override_options): Likewise.
4743
4744 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4745
4746         * config.gcc: Add k8 target alias support
4747         * i386.c (_cost): Declare costs for various variants of divides and
4748         multiplies.
4749         (k8_cost): New.
4750         (m_K8, m_ATHLON_K8): New macros.
4751         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4752         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4753         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4754         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4755         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4756         x86_prologue_using_move, x86_epilogue_using_move,
4757         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4758         x86_sse_typeless_stores): Set for K8
4759         (override_options): Add k8 support; fix athlon alignment;
4760         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4761         (ix86_issue_rate): Set for K8.
4762         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4763         x86_machine_dependent_reorg): Handle K8 like
4764         * i386.h
4765         (x86_costs):  Change mult_init and divide into array.
4766         (TARGET_K8, TARGET_ATHLON): New macros.
4767         (MODE_INDEX): New macro.
4768         (RTX_COST): Use new costs.
4769         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4770         (TARGET_CPU_DEFAULT_NAMES): Add k8
4771         (TARGET_CPU_DEFAULT_k8): New constant
4772         (enum processor_type): Add PROCESSOR_K8.
4773         * i386.md (cpu attribute): Add k8.
4774
4775         * invoke.texi: Document -march=k8.
4776
4777         * i386.md (type attribute): Add leave
4778         (mode attribute): Remove unknownfp.
4779         (length_immediate, modrm, memory attributes): Handle leave correctly.
4780         (fp comparison patterns): Determine FP mode.
4781         (leave, leave_rex64): Remove special cases.
4782         * ppro.md (ppro_uops, ppro_p2): Add leave
4783         * pentiun.md (pent_pop): Handle leave too.
4784         * k6.md (k6_load): Handle leave.
4785         * athlon.md (athlon_leave, athlon_pop): Fix.
4786         (athlon_decode): Handle leave.
4787
4788 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4789
4790         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4791         to component type using GET_MODE_INNER.
4792         * expr.c (emit_move_insn_1): Ditto.
4793         * optabs.c (expand_binop): Ditto.
4794         (expand_unop): Ditto.
4795         (expand_complex_abs): Ditto.
4796
4797 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4798
4799         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4800
4801 2002-11-20  DJ Delorie  <dj@redhat.com>
4802
4803         * config/stormy16/stormy16.c (s16builtins,
4804         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4805         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4806
4807 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4808
4809         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4810         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4811         (executing gencheck, genconfigs, genconditions, genflags,
4812         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4813         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4814         gengtype, genprotos): Prepend $(RUN_GEN).
4815         * configure.in: Move host compiler tests before --enable-checking
4816         tests.
4817         (--enable-checking=valgrind): New.
4818         * config.in, configure: Regenerate.
4819         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4820         Define as empty.
4821         (read_include_file): When doing the mmap+1 trick,
4822         valgrind-annotate the byte after the mmap:ed area as readable.
4823         (purge_cache): Remove above annotation.
4824         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4825         VALGRIND_PATH -q to each command.
4826
4827         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4828         Define as empty.
4829         (ggc_realloc): Update valgrind annotations.
4830         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4831         Define as empty.
4832         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4833         valgrind-annotate memory.
4834
4835 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4836
4837         * recog.c (constrain_operands): Prefer exact match over reloadable
4838         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4839
4840         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4841         operands in Pmode.
4842
4843 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4844
4845         PR c/8518
4846         * c-decl.c (duplicate_decls): Outline the second definition
4847         of an extern inline function in all cases.
4848
4849 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4850
4851         * stor-layout.c (place_field): Update rli->offset as well as
4852         rli->bitpos.
4853
4854 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4855
4856         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4857
4858 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4859
4860         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4861         into a libcall block.
4862         (divsi3): Likewise divsi3_i4_media.
4863
4864 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4865
4866         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4867         out another register.
4868
4869 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4870
4871         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4872         (not just mask) are set in C.
4873
4874 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4875
4876         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4877
4878 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4879
4880         * profile.c (index_counts_file): Fix obvious mistake.
4881
4882 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4883
4884         * Makefile.in (profile.o): Add hashtab.h dependency.
4885         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4886         * profile.c: Include hashtab.h.
4887         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4888         cleanup_counts_index, index_counts_file, struct section_reference,
4889         struct da_index_entry, counts_file_name, counts_file_index): New.
4890         (get_exec_counts, init_branch_prob): Modified.
4891
4892 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4893
4894         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4895         to tmake_file. Remove setting gas and gnu_ld here.
4896         * config/sh/libgcc-glibc.ver: New file.
4897         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4898         (SHLIB_MAPFILES): New.
4899         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4900         (MD_STARTFILE_PREFIX): Likewise.
4901         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4902         (DWARF2_UNWIND_INFO): Redefine.
4903         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4904         (LINK_EH_SPEC): Redefine.
4905         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4906         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4907         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4908         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4909         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4910         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4911         SH_DWARF_FRAME_FPSCR): Likewise.
4912         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4913         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4914         registers if the current function calls EH return.
4915         (sh_expand_epilogue): Handle EH stack adjustments.
4916         (sh_set_return_address): New function.
4917         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4918         Don't abort even if the number is mapped to -1.
4919         (EH_RETURN_DATA_REGNO): Define.
4920         (EH_RETURN_STACKADJ_RTX): Define.
4921         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4922         (eh_return): New pattern.
4923         (eh_set_ra_di, eh_set_ra_si): Likewise.
4924         Add splitter to perform EH return after reload.
4925
4926 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4927
4928         * stor-layout.c (excess_unit_span): New function.
4929         (place_field): Use it.
4930
4931 2002-11-19  Andreas Schwab  <schwab@suse.de>
4932
4933         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4934         not valid in C++.
4935
4936 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4937
4938         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4939         * configure: Regenerate.
4940
4941 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4942
4943         * convert.c (strip_float_extensions): New function.
4944         (convert_to_real): Optimize some cases.
4945
4946 2002-11-19  Andreas Jaeger  <aj@suse.de>
4947
4948         * loop.c (record_giv): Initialize not_replaceable.
4949         (check_final_value): Likewise.
4950
4951 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4952
4953         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4954         MASK_H8300S.
4955
4956 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4957
4958         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4959         only if -mh or -ms present.
4960         (h8300_eightbit_constant_address_p): Support the normal mode.
4961         (h8300_tiny_constant_address_p): Likewise.
4962         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4963         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4964         (Pmode): Evaluate to HImode for the normal mode.
4965         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4966         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4967         (ASM_WORD_OP): Evaluate to word for the normal mode.
4968         * config/h8300/h8300.md (tablejump_normal_mode): New.
4969         (indirect_jump_normal_mode): New.
4970         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4971         directory.
4972         (MULTILIB_DIRNAMES): Create target dependent directory
4973         'normal'.
4974         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4975         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4976
4977 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4978
4979         * i386.md (length_immediate): Do not refer to insn address.
4980         (jcc*, jmp patterns):  Compute length explicitly.
4981
4982 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4983
4984         PR c/8588
4985         * optabs.c (expand_binop): Convert CONST_INTs in shift
4986         operations too.
4987
4988 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4989
4990         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4991
4992 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4993
4994         * config/h8300/h8300.md (an anonymous pattern): Relax the
4995         condition to accept the same operands and/or subregs.
4996
4997 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4998
4999         * config/sh/sh.c (gen_shl_and): Revert previous patch.
5000         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
5001         reload_completed.
5002
5003 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5004
5005         * config/h8300/h8300.c (print_operand): Update the use of
5006         EIGHTBIT_CONSTANT_ADDRESS_P.
5007         (h8300_adjust_insn_length): Likewise.
5008         (h8300_eightbit_constant_address_p): Check if the given rtx is
5009         a variable with __attribute__((eightbit_data)).
5010         * config/h8300/h8300.h (OK_FOR_U): Update the use of
5011         EIGHTBIT_CONSTANT_ADDRESS_P.
5012
5013 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5014
5015         * doc/contrib.texi (Contributors): Add self as second contact in
5016         addition to Jeff Law.
5017
5018 2002-11-19  Andreas Jaeger  <aj@suse.de>
5019
5020         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
5021         find_alloca_call to right place.
5022
5023 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
5024
5025         * cppfiles.c: Fix formatting.
5026
5027 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5028
5029         * gcc.c (The Specs Language): Document spec functions.
5030         (static_spec_functions, lookup_spec_function)
5031         (eval_spec_function, handle_spec_function)
5032         (if_exists_spec_function, alloc_args): New.
5033         (execute): Abort if processing_spec_function is true.
5034         (do_spec_1): Hand off spec to handle_spec_function if %:
5035         is encountered.  If processing_spec_function is true,
5036         end any pending argument when the end of the string is reached.
5037         (main): Use alloc_args to allocate the initial argument vector.
5038         * gcc.h (struct spec_function): New.
5039         (lang_specific_spec_functions): New extern.
5040
5041         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5042         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5043         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5044
5045         * doc/invoke.texi: Document spec functions.
5046
5047         * cppspec.c (lang_specific_spec_functions): New.
5048         * gccspec.c: Likewise.
5049
5050 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5051
5052         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5053         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5054         (fixunstfsi_libfunc): Change.
5055         (fixunstfdi_libfunc): Change.
5056         (sdiv_optab): Don't zero out SImode handler.
5057         (udiv_optab): Don't zero out SImode handler.
5058         (smod_optab): Don't zero out SImode handler.
5059         (umod_optab): Don't zero out SImode handler.
5060
5061 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5062
5063         PR preprocessor/8524
5064         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5065         Add a new one in its place, which hopefully works.
5066         (skip_rest_of_line): Change test for bottom-of-context-stack.
5067
5068 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5069
5070         * i386.md (addqi_1_slp): Fix output template.
5071         (subqi_1_slp): Fix type.
5072
5073 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5074
5075         * calls.c (alloca_call_p): New global function.
5076         * tree.h (alloca_call_p): New.
5077         * tree-inline.c (inlinable_function_p):  Do not inline when
5078         function calls alloca.
5079         (find_alloca_call, find_alloca_call_1): New functions.
5080
5081 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5082
5083         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5084         bst.  Update the insn length.
5085         (*andorhi3): Likewise.
5086         (*andorsi3): Likewise.
5087
5088 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5089
5090         * config/sh/sh-protos.h (sh_mark_label): Declare.
5091         * config/sh/sh.c (sh_mark_label): New function, taken from
5092         movdi_const, but fixing the case when the address has an addend.
5093         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5094
5095 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5096
5097         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5098         (add_constant): Set it.
5099         (dump_table): Don't reorder a constant if part_of_sequence_p.
5100         (machine_dependent_reorg): Assume that float constants will
5101         stay in their original order if used as a sequence.
5102
5103 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5104
5105         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5106         in compact code.
5107
5108 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5109
5110         * config/sh/sh.md (initialize_trampoline): Do not force the
5111         trampoline address into R0_REGS here.
5112
5113 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5114
5115         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5116         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5117         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5118         generate unnecesary subregs.
5119
5120 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5121
5122         * df.c: Fix formatting.
5123
5124 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5125
5126         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5127         lengths.
5128
5129 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5130
5131         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5132         is not an arith_reg_operand.
5133
5134 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5135
5136         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5137         is smaller than representation.
5138
5139 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141         * builtins.c: Fix formatting.
5142
5143 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5144
5145         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5146         floats?dff2_i387):
5147         Work around regclass stupidity.
5148         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5149
5150 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5151
5152         * i386.md (fop_df_6): New pattern.
5153         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5154         (fop_xf_6): Rewrite
5155         (fop_xf_7): Delete.
5156         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5157         (fop_tf_6): Rewrite
5158         (fop_tf_7): Delete.
5159
5160 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5161
5162         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5163
5164 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5165
5166         * config/h8300/h8300.md: Fix formatting.
5167
5168 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5169
5170         * config/h8300/h8300.md: Replace spaces with tabs.
5171         * config/h8300/t-h8300: Remove a trailing empty line.
5172
5173 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5174
5175         * tlink.c: Fix formatting.
5176
5177 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5178
5179         PR 8362
5180         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5181         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5182         when scratch register never needed.
5183         (ldmsi[3-8]): New patterns.
5184
5185 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5186
5187         * hard-reg-set.h: Follow spelling conventions.
5188         * real.c: Likewise.
5189         * target.h: Likewise.
5190
5191 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5192
5193         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5194
5195 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5196
5197         * optabs.c: Fix formatting.
5198
5199 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5200
5201         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5202         * i386.md (attribute type): Add type shift1 and rotate1.
5203         (*_slp): Rewrite to have just two operands to avoid reload problems.
5204
5205 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5206
5207         * config/h8300/h8300.md (4 anonymous patterns): New.
5208
5209 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5210
5211         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5212         * doc/invoke.texi: Correct description of what needs to be done to
5213         force collection at every ggc_collect call.
5214
5215 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5216
5217         * config/s390/s390.c (optimization_options): Set
5218         flag_asynchronous_unwind_tables to 1 by default.
5219
5220 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5221
5222         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5223
5224 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5225
5226         * i386-protos.h (x86_function_profiler): New function
5227         * i386.h (MCOUNT_NAME): New.
5228         (PROFILE_COUNT_REGISTER): New.
5229         (FUNCTION_PROFILER): Move offline to ...
5230         * i386.c (x86_function_profiler) ... here; fix 64bit support
5231         * beos-elf.h (FUNCTION_PROFILER): Kill.
5232         (MCOUNT_NAME): New.
5233         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5234         (MCOUNT_NAME): New.
5235         (PROFILE_COUNT_REGISTER): New.
5236         * linux.h (FUNCTION_PROFILER): Kill.
5237         (MCOUNT_NAME): New.
5238         * x86-64.h (FUNCTION_PROFILER): Kill.
5239         (MCOUNT_NAME): New.
5240         * freebsd.h (FUNCTION_PROFILER): Kill.
5241         (MCOUNT_NAME): New.
5242
5243 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5244
5245         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5246         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5247         * config/arm/arm.c (arm_va_arg,
5248         arm_function_arg_pass_by_reference): New.
5249         * config/arm/arm-protos.h: Add prototypes.
5250
5251 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5252
5253         * gthr-single.h: Fix formatting.
5254
5255 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5256
5257         * tree.c (tree_vec_elt_check_failed): New function.
5258         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5259         (TREE_VEC_ELT): Use it.
5260
5261         * tree-inline.c (optimize_inline_calls): Don't copy a
5262         zero-length vector.
5263
5264 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5265
5266         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5267
5268 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5269
5270         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5271         both operands contain local relocations.
5272         (categorize_decl_for_section): Don't use mergeable sections if
5273         initializer has any relocations.
5274
5275 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5276
5277         * gthr-vxworks.h: Fix formatting.
5278
5279 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5280
5281         * doc/install.texi (Testing): Document extra Java testing.
5282         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5283
5284 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5285
5286         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5287         beginning of the spec.
5288         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5289         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5290         regarding problems with global constructors when using GNU ld.
5291
5292 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5293
5294         * gthr-solaris.h: Fix formatting.
5295
5296 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5297
5298         * gthr-posix.h: Fix formatting.
5299
5300 2002-11-12  Devang Patel <dpatel@apple.com>
5301         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5302         (process_command): Same.
5303         * doc/invoke.texi: Info about these two new options.
5304
5305 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5306
5307         * config/h8300/h8300.md (*andorsi3): New.
5308
5309 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5310
5311         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5312
5313 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5314
5315         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5316         expressions appropriately.
5317
5318 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5319
5320         * gthr-win32.h: Fix formatting.
5321
5322 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5323
5324         * config/h8300/h8300.c (single_one_operand): Correctly compute
5325         mask when mode is SImode.
5326         (single_zero_operand): Likewise.
5327         * config/h8300/h8300.md (two new anonymous insns): New.
5328
5329 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5330
5331         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5332         to that entire project.
5333
5334 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5335
5336         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5337         directories.
5338
5339 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5340
5341         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5342         * doc/invoke.texi: Document them.
5343
5344         * ggc-page.c: Include params.h.  Remove definitions of
5345         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5346         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5347         (init_gcc): Don't set G.allocated_last_gc here.
5348         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5349         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5350         perform collection.
5351         * ggc-simple.c: Similarly.
5352         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5353         dependencies.
5354
5355 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5356
5357         * gthr-dce.h: Fix formatting.
5358
5359 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5360
5361         PR c/8467
5362         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5363         mode of DECL_RTL case.
5364
5365 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5366
5367         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5368
5369 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5370
5371         * i386.c (construct_container): Fix handling of SSE_CLASS.
5372
5373 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5374
5375         * config/m68k/t-crtstuff (crti.o): Use this...
5376         ($(T)crti.o): ... instead.
5377         (crtn.o): Use this...
5378         ($(T)crtn.o): ... instead.
5379
5380 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5381
5382         PR c/8439
5383         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5384         if there is something new to be simplified.
5385
5386 2002-11-10  H.J. Lu <hjl@gnu.org>
5387
5388         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5389         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5390
5391         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5392
5393 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5394
5395         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5396         * config/rs6000/linux.h, config/rs6000/linux64.h,
5397         config/rs6000/windiss.h: ... not here.
5398
5399 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5400
5401         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5402         __ABICALLS__ if TARGET_ABICALLS.
5403
5404 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5405
5406         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5407
5408 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5409
5410         * c-decl.c (grokdeclarator): Make error for duplicate type
5411         qualifiers into a pedwarn, disabled for C99.
5412
5413 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5414
5415         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5416         as FUNCTION_ARG_PASS_BY_REFERENCE.
5417
5418 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5419
5420         * doc/install.texi: Add *-*-vxworks* specific installation
5421         instructions.
5422
5423         * config/vxlib.c: Rewrite using generation numbers to identify
5424         valid TSD keys.
5425
5426 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5427
5428         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5429
5430 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5431
5432         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5433
5434         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5435         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5436         * pa.c (output_millicode_call): Use symbol difference rather than
5437         $PIC_pcrel$0 when using HP assembler.
5438         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5439         not elfos.h (i.e., gas) is being used.
5440         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5441         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5442         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5443         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5444         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5445         using elfos.h.
5446         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5447         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5448         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5449         using elfos.h.
5450         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5451         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5452         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5453         Don't define when not using elfos.h.
5454         (ASM_DECLARE_RESULT): Don't define.
5455         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5456         doesn't work on hppa64-hp-hpux11.
5457         (hppa*-hp-hpux11): Update.
5458
5459 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5460
5461         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5462         to the assembler if -mno-abicalls was specified.
5463
5464 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5465
5466         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5467         ASM_OUTPUT_DEF): Delete.
5468
5469 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5470
5471         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5472
5473 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5474
5475         * real.c (real_sqrt): Update comment with bibliographic reference.
5476
5477 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5478
5479         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5480
5481 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5482
5483         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5484
5485 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5486
5487         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5488         (expand_builtin): Likewise.
5489         * builtins.def: Add
5490         __builtin_floor, __builtin_floorf, __builtin_floorl
5491         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5492         __builtin_round, __builtin_roundf, __builtin_roundl
5493         __builtin_trunc, __builtin_truncf, __builtin_truncl
5494         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5495         * genopinit.c (optabs): Initialize the new optabs.
5496         * optab.c (init_optabs): Likewise.
5497         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5498         OTI_round, OTI_nearbyint.
5499         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5500         * doc/md.texi: Document new named patterns.
5501         * doc/extend.texi (builtin functions)  Document
5502         floor, floorf, floorl, ceil, ceilf,
5503         ceill, round, roundf, roundl, trunc,
5504         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5505
5506 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5507
5508         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5509
5510 2002-11-08  Dale Johannesen  <dalej@apple.com>
5511
5512         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5513
5514 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5515
5516         PR preprocessor/8497
5517         PR preprocessor/8501
5518         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5519         start a directive.  In assembler, #NUM is not a line directive.
5520
5521 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5522
5523         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5524         buffers.
5525
5526 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5527
5528         * config/h8300/h8300.md (two anonymous test insns): New.
5529
5530 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5531
5532         * jump.c (mark_jump_label): Handle subregs of label_refs.
5533
5534 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5535
5536         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5537         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5538
5539 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5540
5541         * config/ia64/crtend.asm: Include "auto-host.h".
5542         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5543         * config/ia64/crtbegin.asm: Similarly.
5544         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5545         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5546
5547         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5548         * configure.in: Use it if --enable-initfini-array not specified.
5549         * doc/install.texi (Configuration): Document --enable-initfini-array.
5550         * configure, config.in: Rebuild.
5551
5552 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5553
5554         * config/arm/arm-protos.h (arm_get_frame_size)
5555         (thumb_get_frame_size): New prototypes.
5556         * config/arm/arm.c (arm_get_frame_size)
5557         (thumb_get_frame_size): New functions.
5558         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5559         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5560         arm_get_frame_size.
5561         (thumb_expand_prologue, thumb_expand_epilogue): Use
5562         thumb_get_frame_size.
5563         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5564         (machine_function): Add frame_size member.
5565         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5566
5567 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5568
5569         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5570         Adjust code to use portable unsigned bit manipulation.
5571         (insn_flags, tune_flags): Change type to unsigned.
5572         (struct processors): Make flags unsigned long.
5573         (arm_override_options): Change type of count and current_bit_count
5574         to unsigned.
5575
5576 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5577
5578         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5579
5580 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5581
5582         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5583
5584 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5585
5586         * reg-stack.c (compensate_edge): Fix sanity check.
5587
5588 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5589
5590         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5591         crt2.o.  Rearrange t-darwin makefiles.
5592         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5593         * unwind-dw2-fde-darwin.c: New.
5594         * unwind-dw2-fde-glibc.c: Correct comment.
5595         * unwind-dw2-fde.c (__register_frame_info_bases)
5596         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5597         (classify_object_over_fdes): Use last_fde.
5598         (add_fdes): Likewise.
5599         (linear_search_fdes): Likewise.
5600         * unwind-dw2-fde.h (struct object)
5601         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5602         (last_fde): New.
5603         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5604         (ENDFILE_SPEC): No crtend.o.
5605         * config/t-darwin: New.
5606         * config/i386/t-darwin: Delete.
5607         * config/darwin-crt2.c: New.
5608         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5609         or config/t-darwin.
5610
5611 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5612
5613         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5614         MASK_MS_BITFIELD_LAYOUT
5615         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5616         MS bitfields for Objective-C.
5617         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5618         defines.
5619
5620         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5621         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5622         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5623
5624         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5625         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5626         (TARGET_SWITCHES): Add above mask.
5627
5628         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5629         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5630         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5631         flags for interix.
5632
5633 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5634
5635         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5636         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5637         assembler.
5638         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5639         before jump on ABI_N32 too.
5640         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5641         length to match.
5642
5643 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5644
5645         * i386.md (negsf splitter): Accept memory operand in second register.
5646         (abssf/absdf splitters): Simplify
5647         (sse_loadss, sse_loadsd): Turn into expander.
5648
5649 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5650
5651         PR target/8480
5652         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5653         FPR to FPR moves.
5654
5655 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5656
5657         * doc/contrib.texi: Merge in the list from the Java web pages.
5658
5659 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5660
5661         * config/sparc/freebsd: Fix typo.
5662
5663 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5664
5665         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5666
5667 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5668
5669         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5670         non-SImode addresses.
5671
5672 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5673
5674         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5675         stack register.
5676         (float SSE splitters): Reorder conditional.
5677
5678 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5679
5680         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5681
5682 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5683
5684         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5685         (STARTFILE_SPEC): Remove p and pg options.
5686
5687 2002-11-05  Andrew Haley  <aph@redhat.com>
5688
5689         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5690         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5691
5692 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5693
5694         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5695         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5696
5697 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5698
5699         * gthr-vxworks.h: Rewritten from scratch.
5700         * config/vxlib.c: New file.
5701         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5702         * config/rs6000/t-vxworks: Add config/vxlib.c to
5703         LIB2FUNCS_EXTRA here too, because of clash with
5704         config/rs6000/t-ppccomm.
5705
5706 2002-11-04  Dale Johannesen  <dalej@apple.com>
5707
5708         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5709         for unrolled loops.
5710         * loop.c (loop_invariant_p):  Support calling from unroller.
5711
5712 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5713
5714         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5715         for comparison.
5716
5717 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5718
5719         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5720
5721         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5722         (CLASS_CANNOT_CHANGE_MODE): Remove.
5723         (CANNOT_CHANGE_MODE_CLASS): New.
5724
5725         * config/alpha/alpha.h: Same.
5726
5727         * config/ia64/ia64.h: Same.
5728
5729         * config/mips/mips.h: Same.
5730
5731         * config/s390/s390.h: Same.
5732
5733         * config/sh/sh.h: Same.
5734
5735         * config/pa/pa64-regs.h: Same.
5736
5737         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5738
5739         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5740
5741         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5742         prototype.
5743
5744         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5745
5746         * doc/tm.texi (Register Classes): Remove
5747         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5748         Document CANNOT_CHANGE_MODE_CLASS.
5749
5750         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5751         (push_reload): Same.
5752
5753         * simplify-rtx.c (simplify_subreg): Same.
5754
5755         * reload1.c (choose_reload_regs): Same.
5756
5757         * recog.c (register_operand): Same.
5758
5759         * regrename.c (mode_change_ok): Change to use new
5760         CANNOT_CHANGE_MODE_CLASS infrastructure.
5761
5762         * regclass.c (cannot_change_mode_set_regs): New.
5763         Declare subregs_of_mode.
5764         (regclass): Use subregs_of_mode.
5765         Remove references to reg_changes_mode.
5766         (init_reg_sets_1): Remove class_can_change_mode and
5767         reg_changes_mode code.
5768         (invalid_mode_change_p): New.
5769         (dump_regclass): Use invalid_mode_change_p instead of
5770         class_can_change_mode.
5771         (regclass): Same.
5772         (record_operand_costs): Do not set reg_changes_mode.
5773
5774         * local-alloc.c (struct qty): Remove changes_mode field.
5775         (alloc_qty): Remove changes_mode initialization.
5776         (update_qty_class): Remove set of changes_mode.
5777         (find_free_reg): Use subregs_of_mode.
5778
5779         * global.c (find_reg): Use subregs_of_mode info.
5780
5781         * rtl.h (cannot_change_mode_set_regs): New prototype.
5782         (invalid_mode_change_p): Same.
5783         (REG_CANNOT_CHANGE_MODE_P): New macro.
5784
5785         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5786         REG_CHANGES_MODE.
5787         (life_analysis): Clear subregs_of_mode.
5788
5789         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5790         Remove use of CLASS_CANNOT_CHANGE_MODE.
5791         (simplify_set): Same.
5792         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5793         REG_CHANGES_MODE.
5794
5795         * regs.h: Add extern for subregs_of_mode;
5796         Include hard-reg-set and basic-block.
5797         (REG_CHANGES_MODE): Delete.
5798
5799 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5800
5801         * real.c (real_sqrt): New function to calculate square roots.
5802         * real.h (real_sqrt): Add function prototype.
5803         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5804         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5805         of constant argument.
5806
5807 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5808
5809         * jump.c (never_reached_warning): Don't set contains_insn until the
5810         first line note is seen.
5811
5812 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5813
5814         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5815
5816 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5817
5818         PR c/7128
5819         * c-typeck.c (c_expand_asm_operands): Defend against
5820         error_mark_nodes in the output argument to avoid ICE.
5821
5822 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5823
5824         PR middle-end/8408
5825         * genrecog.c (preds): Handle ADDRESSOF.
5826         (validate_pattern): Mark it as an lvalue.
5827
5828 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5829
5830         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5831         instructions when optimizing for size.
5832
5833 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5834
5835         * config/h8300/h8300.h: Fix comment typos.
5836         * config/h8300/h8300.md: Likewise.
5837         * config/h8300/lib1funcs.asm: Likewise.
5838
5839 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5840
5841         Revert this change:
5842
5843         *doc/install.texi (Installing GCC: Configuration): Clarify
5844         the only supported ways to configure gcc.
5845
5846 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5847
5848         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5849         instead of 'O' for the constraint for the second operand.
5850
5851 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5852
5853         PR c++/8391
5854         * toplev.c (rest_of_compilation): Do not refuse to output code for
5855         an inline function in a local class.
5856
5857 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5858
5859         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5860         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5861         Add comment.
5862
5863 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5864
5865         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5866
5867 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5868
5869         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5870
5871 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5872
5873         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5874         (MASK_INLINE_DIV_THR): Remove.
5875         (TARGET_INLINE_DIV_LAT): Remove.
5876         (TARGET_INLINE_DIV_THR): Remove.
5877         (TARGET_INLINE_DIV): Remove.
5878         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5879         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5880         (MASK_INLINE_INT_DIV_LAT): New macro.
5881         (MASK_INLINE_INT_DIV_THR): New macro.
5882         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5883         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5884         (TARGET_INLINE_INT_DIV_LAT): New macro.
5885         (TARGET_INLINE_INT_DIV_THR): New macro.
5886         (TARGET_INLINE_FLOAT_DIV): New macro.
5887         (TARGET_INLINE_INT_DIV): New macro.
5888         * config/ia64/ia64.md (divsi3): Change to use new macros.
5889         (modsi3): Ditto.
5890         (udivsi3): Ditto.
5891         (umodsi3): Ditto.
5892         (divsi3_internal): Ditto.
5893         (divdi3): Ditto.
5894         (moddi3): Ditto.
5895         (udivdi3): Ditto.
5896         (umoddi3): Ditto.
5897         (divdi3_internal_lat): Ditto.
5898         (divdi3_internal_thr): Ditto.
5899         (divsf3): Ditto.
5900         (divsf3_internal_lat): Ditto.
5901         (divsf3_internal_thr): Ditto.
5902         (divdf3): Ditto.
5903         (divdf3_internal_lat): Ditto.
5904         (divdf3_internal_thr): Ditto.
5905         (divtf3): Ditto.
5906         (divtf3_internal_lat): Ditto.
5907         (divtf3_internal_thr): Ditto.
5908         * config/ia64/ia64.c (ia64_override_options): Change
5909         to check new macros for conflicts in settings.
5910         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5911         (-minline-divide-max-throughput): Remove.
5912         (-minline-float-divide-min-latency): New.
5913         (-minline-float-divide-max-throughput): New.
5914         (-minline-int-divide-min-latency): New.
5915         (-minline-int-divide-max-throughput): New.
5916
5917 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5918
5919         PR target/7856
5920         * arm.c (use_return_insn): Don't use a return insn if there are
5921         saved integer regs, but LR is not one of them.
5922
5923 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5924
5925         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5926         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5927
5928 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5929
5930         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5931         (movps, movpd splitters): Use canonical form.
5932         (movv2di): Fix merge problem.
5933
5934 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5935
5936         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5937
5938 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5939
5940         PR optimization/6162
5941         * doc/md.texi: Document restriction on commutative operand
5942         specification.
5943
5944 2002-10-31  Eric Christopher  <echristo@redhat.com>
5945
5946         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5947
5948 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5949
5950         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5951
5952 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5953
5954         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5955
5956 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5957
5958         * config/rs6000/darwin.h:  Correct formatting in previous.
5959
5960 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5961
5962         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5963
5964 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5965
5966         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5967         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5968         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5969         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5970         Do not clear -momit-leaf-frame-pointer when profiling.
5971         (ix86_frame_pointer_required): Frame pointer is always required when
5972         profiling.
5973
5974 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5975
5976         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5977
5978 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5979
5980         * sh.h (binary_logical_operator): Declare.
5981         * sh.c (binary_logical_operator): New function.
5982         * sh.md (xordi3+1): New combiner splitter pattern.
5983
5984 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5985
5986         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5987         __enable_execute_stack function.
5988
5989 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5990
5991         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5992         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5993         * unwind-sjlj.c (fc_key_dtor): Delete.
5994         (fc_key_init): Adjust __gthread_key_create call to match.
5995
5996 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5997
5998         * c-common.c: Add GTY to vector_type_node_list.
5999
6000 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
6001
6002         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6003         * pa-protos.h (attr_length_millicode_call, attr_length_call,
6004         pa_init_machine_status): Declare new global functions.
6005         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
6006         implement new functions.
6007         (attr_length_millicode_call, attr_length_call): Implement.
6008         (total_code_bytes): Change type to long.
6009         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
6010         Reset counter if flag_function_sections.
6011         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
6012         (output_cbranch): Move call to gen_label_rtx.
6013         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
6014         delay slot in all variants, shorten pc-relative calls.
6015         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
6016         slot usage and exposure, various new call variants, and shortened
6017         sequences for some variants on TARGET_PA_20.
6018         Miscellaneous format changes.
6019         * pa.h (total_code_bytes): Change type to long.
6020         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
6021         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
6022         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
6023         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
6024         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6025         stores on TARGET_ELF32.
6026         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6027         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6028         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6029         attr_length_millicode_call().
6030         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6031         Calculate attribute length using attr_length_call().
6032         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6033         to delay slot.
6034         (sibcall, sibcall_value): Rewrite.
6035         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6036         register 1.  Use attr_length_call().
6037         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6038         New patterns.
6039         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6040         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6041         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6042         * doc/invoke.texi (mlong-calls): Document.
6043
6044 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6045
6046         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6047         handling of cases where one or both branches of the conditional
6048         have void type, i.e. throw an exception or don't return.
6049         (fold): Only apply (and undo) type conversion to the non-void
6050         branches of a COND_EXPR.
6051
6052 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6053
6054         PR c++/8333
6055         * varasm.c (asm_output_aligned_bss): Do not call
6056         ASM_GLOBALIZE_LABEL.
6057
6058 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6059             Torbjorn Granlund  <tege@swox.com>
6060
6061         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6062         for addressibility.
6063         (load_toc_v4_PIC_1b): Same.
6064
6065 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6066
6067         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6068         Truncate the addresses for H8/300 using HImode.
6069
6070 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6071
6072         * i386.md (negdf splitter): Fix construction of the constant.
6073
6074 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6075
6076         * i386.md (negsf, negdf): Reorganize to use vector modes
6077         for SSE variants.
6078         (abssf, absdf): Use force_reg.
6079         (movv4sf, movv2df): New splitters.
6080         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6081         * i386.c (zero_extended_scalar_load_operand
6082
6083         * i386-protos.h (ix86_expand_call): Update prototype.
6084         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6085         (ix86_expand_call): Use r11 for indirect sibcalls.
6086         * i386.md (call, call_value, untyped_call, call_value_pop):
6087         update x86_expand_call call.
6088         (sibcall, sibcall_value): new patterns
6089         (call_rex64, call_value_rex64): Do not accept sibcalls.
6090         (sibcall_rex64, sibcall_value_rex64,
6091         sibcall_rex64_v, sibcall_value_rex64_v): New.
6092
6093 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6094
6095         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6096         before final pass.
6097
6098 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6099
6100         * toplev.c (rest_of_type_compilation): Return early in case of
6101         errors.
6102         (check_global_declarations): Don't call debug_hooks->global_decl
6103         in case of errors.
6104
6105 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6106
6107         * doc/c-tree.texi (Tree overview): Fix typos.
6108
6109 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6110
6111         * Makefile.in (gnucompare*):  Only record bad comparisons
6112         if there really was a bad comparison.
6113
6114 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6115
6116         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6117         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6118         * md.texi (machine dependent constraints): Document 'C'
6119
6120         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6121
6122         * i386.c (ix86_expand_vector_move): Fix.
6123
6124         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6125         * i386.md (sse2_maskmovdqu_rex64): New pattern
6126
6127         PR target/8322
6128         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6129         (ix86_init_mmx_sse_builtins): Fix type.
6130
6131 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6132
6133         * gthr-posix.h: Include <unistd.h> for feature tests.
6134         (sched_get_priority_max, sched_get_priority_min)
6135         (pthread_getschedparam, pthread_setschedparam): Only use
6136         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6137         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6138         returns from sched_get_priority_max and sched_get_priority_min
6139         as an error.
6140
6141 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6142
6143         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6144         MASK_QUICKCALL.
6145
6146 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6147
6148         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6149         (h8300_tiny_constant_address_p): Likewise.
6150         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6151         h8300_eightbit_constant_address_p.
6152         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6153         * config/h8300/h8300-protos.h: Add the prototypes for the two
6154         new functions.
6155
6156 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6157
6158         * reload1.c (update_eliminables): Unconditionally check if
6159         frame_pointer_needed has changed.
6160
6161 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6162
6163         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6164         before final pass.
6165
6166 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6167
6168         PR optimization/8334
6169         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6170         check for zero operands explicitly.
6171
6172 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6173
6174         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6175         memory after adjusting to BLKmode.
6176
6177 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6178
6179         * config/h8300/h8300.h (MASK_*): New.
6180         (TARGET_*): Use MASK_*.
6181
6182 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6183
6184         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6185         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6186         config/rs6000/vxworks.h: New files.
6187         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6188
6189         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6190         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6191         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6192         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6193         sparc-*-vxsim*): Delete stanzas.
6194         * gthr-vxworks.h: Rip out all substantive code and just
6195         include gthr-single.h.
6196
6197         * config/alpha/vxworks.h, config/arm/vxarm.h,
6198         config/i386/vxi386.h, config/i960/t-vxworks960,
6199         config/i960/vx960-coff.h, config/i960/vx960.h,
6200         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6201         config/mips/vxworks.h, config/rs6000/vxppc.h,
6202         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6203         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6204         config/sparc/vxsparc64.h: Delete files.
6205
6206 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6207
6208         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6209         tm_defines if pthreads are enabled.
6210         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6211         if NETBSD_ENABLE_PTHREADS is defined.
6212
6213 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6214
6215         * ChangeLog.1: Fix typos.
6216         * cse.c: Fix a comment typo.
6217         * reload1.c: Likewise.
6218
6219 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6220
6221         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6222         * fixinc/tests/base/_G_config.h: New file.
6223
6224 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6225
6226         * combine.c: Fix comment formatting.
6227         * loop.c: Likewise.
6228         * real.c: Likewise.
6229         * regclass.c: Likewise.
6230         * regmove.c: Likewise.
6231         * regrename.c: Likewise.
6232         * reg-stack.c: Likewise.
6233         * reload1.c: Likewise.
6234         * reload.c: Likewise.
6235         * reload.h: Likewise.
6236         * unroll.c: Likewise.
6237
6238 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6239
6240         * reload1.c (reload): Fix a comment typo.
6241
6242 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6243
6244         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6245
6246 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6247
6248         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6249         * dwarf2out.c: Include hashtab.h.
6250         (is_main_source): New static variable.
6251         (attr_checksum, die_checksum): Modified to handle die references.
6252         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6253         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6254         record_comdat_symbol_number): New static functions.
6255         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6256         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6257         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6258         declarations added.
6259
6260 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6261
6262         * config/h8300/h8300.c (initial_offset): Change to
6263         h8300_initial_elimination_offset.
6264         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6265         h8300_initial_elimination_offset.
6266         * config/h8300/h8300-protos.h: Update the prototype.
6267
6268 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6269
6270         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6271         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6272         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6273         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6274         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6275         and RTX_CODE.
6276         (mmix_function_value_regno_p): Declare.
6277
6278         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6279         invalid for floating point mode result, with fix.
6280
6281 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6282
6283         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6284         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6285         (stage1_build): Likewise.
6286
6287 2002-10-25  Mike Stump  <mrs@apple.com>
6288
6289         Fixes gcc.dg/warn-1.c.
6290         * c-typeck.c (warn_for_assignment): Don't print argument number,
6291         if zero.
6292
6293 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6294
6295         * toplev.c (dump_file_index): Add DFI_ce3.
6296         (dump_file_info): Likewise.
6297         (rest_of_compilation): Run first ifcvt pass before tracer.
6298
6299 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6300
6301         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6302
6303 2002-10-25  Richard Henderson  <rth@redhat.com>
6304
6305         * real.c (real_to_decimal): If the >1 tens reduction loop results
6306         in a negative exponent, fall into the <1 pten computation.
6307
6308 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6309
6310         PR middle-end/6994
6311         * c-objc-common.c (inline_forbidden_p): Can not inline
6312         functions containing structures or unions containing VLAs.
6313         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6314         TYPE_SIZE and TYPE_SIZE_UNIT.
6315         (copy_tree_r): Copy types if they are variably modified.
6316
6317 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6318
6319         * config/s390/s390.md: Remove old-style peepholes.
6320
6321 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6322
6323         * config/s390/s390.c (s390_decompose_address): Do not range check the
6324         displacement if base or index is the argument pointer register.
6325
6326 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6327
6328         PR other/3337
6329         PR bootstrap/6763
6330         PR bootstrap/8122
6331         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6332         * fixinc/fixincl.x: Regenerate.
6333         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6334         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6335         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6336         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6337         * config.in, configure: Regenerate.
6338
6339 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6340
6341         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6342
6343 2002-10-24  Richard Henderson  <rth@redhat.com>
6344
6345         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6346
6347 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6348
6349         * config/h8300/h8300.c (initial_offset): Simplify by using
6350         round_frame_size.
6351
6352 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6353
6354         * doc/install.texi (avr): Update required binutils version.
6355
6356 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6357
6358         * doc/install.texi: Point avr users at more up-to-date information.
6359
6360 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6361
6362         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6363         to pull operands out of the literal pool where possible.
6364
6365 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6366
6367         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6368
6369 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6370
6371         * expr.c (convert_move): If unsignedp is less then zero there
6372         is no equivalent code.
6373
6374 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6375
6376         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6377
6378 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6379
6380         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6381         according to the sequence they are defined in the manual.
6382         (POINTER_BOUNDARY): Remove.
6383
6384 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6385
6386         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6387         BITS_PER_UNIT.
6388
6389 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6390
6391         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6392         64-bit safe.
6393         (TINY_CONSTANT_ADDRESS_P): Likewise.
6394
6395 2002-10-24  Richard Henderson  <rth@redhat.com>
6396
6397         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6398         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6399         vcall offset.
6400
6401 2002-10-24  Richard Henderson  <rth@redhat.com>
6402
6403         PR opt/7944
6404         * reload.c (find_reloads_toplev): Mode of X is not important
6405         when simplifying subregs of constants.
6406
6407 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6408
6409         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6410         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6411         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6412         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6413         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6414
6415 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6416
6417         * optabs.c (expand_binop): Don't reuse the shift target in the
6418         middle of shift sequences.
6419
6420 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6421
6422         * i386.md (abs splitters): Do not produce nested subregs.
6423
6424 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6425
6426         * i386.md (movti_rex64): Fix constraints.
6427
6428 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6429
6430         * i386.md (abssf,absdf): Use vector operands for SSE
6431         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6432         vector operand.
6433
6434 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6435
6436         * objc/objc-act.c (get_static_reference): Remove unneeded
6437         TYPE_BINFO initialization.
6438         (get_object-reference): Likewise.
6439         (build_constructor): Tighten precondition check.
6440         (finish_message_expr): Likewise.
6441
6442 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6443
6444         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6445         after CONST test.
6446
6447 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6448
6449         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6450         in HFAs.
6451
6452 2002-10-23  Richard Henderson  <rth@redhat.com>
6453
6454         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6455         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6456
6457 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6458
6459         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6460         var_mod_type_p.
6461         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6462         hook_tree_bool_false.
6463
6464         * tree.c (variably_modified_type_p): Moved here from
6465         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6466         language-specific cases.  Due to this, must weaken some 'if
6467         and only if' checks to merely 'if'.
6468         * tree.h: Prototype variably_modified_type_p.
6469
6470         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6471
6472 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6473
6474         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6475         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6476
6477         * config/s390/s390-protos.h (fp_operand): Remove.
6478         * config/s390/s390.c (fp_operand): Remove.
6479         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6480         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6481         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6482         (movdi_31, movdf_31 splitters): Likewise.
6483
6484         * config/s390/s390.h (IEEE_FLOAT): Remove.
6485         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6486         (INT_REGNO_P): Rename to ...
6487         (GENERAL_REGNO_P): ... this.
6488         (FLOAT_REGNO_P): Rename to ...
6489         (FP_REGNO_P): ... this.
6490         (ADDR_REGNO_P): New macro.
6491         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6492         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6493         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6494         (HARD_REGNO_NREGS): Adapt to macro renaming.
6495         (HARD_REGNO_MODE_OK): Likewise.
6496
6497 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6498             Geoff Keating  <geoffk@apple.com>
6499
6500         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6501         (rs6000_memory_move_cost): New function.
6502         * config/rs6000/rs6000-protos.h: Declare them.
6503         * config/rs6000/rs6000.h: Use them.
6504
6505 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6506
6507         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6508         inlining it into other libgcc2 routines.
6509         (__udivmoddi4): Likewise.
6510
6511 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6512
6513         * doc/sourcebuild.texi (Test Suites): Improve.
6514
6515 2002-10-22  Stan Shebs  <shebs@apple.com>
6516
6517         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6518         case for Darwin.
6519
6520 2002-10-22  Jim Wilson  <wilson@redhat.com>
6521
6522         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6523
6524 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6525
6526         PR other/8289
6527         * xmmintrin.h: Add const to the argument of loads.
6528
6529         * i386.md (pushv2di): New pattern.
6530         PR target/6890
6531         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6532
6533 2002-10-22  Richard Henderson  <rth@redhat.com>
6534
6535         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6536         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6537         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6538         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6539         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6540         (TARGET_ASM_OUT): Update.
6541         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6542         (hook_bool_tree_hwi_hwi_tree_true): New.
6543         (default_can_output_mi_thunk_no_vcall): New.
6544         * hooks.h: Declare them.
6545         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6546
6547         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6548         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6549         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6550         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6551         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6552         config/stormy16/stormy16.c: Similarly.
6553
6554         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6555         Handle 64-bit properly.  Streamline.
6556         (x86_output_mi_vcall_thunk): Remove.
6557         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6558         (x86_can_output_mi_thunk): New.
6559         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6560         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6561         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6562
6563         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6564         output_mi_thunk; make static; always use function_section.
6565         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6566         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6567         (rs6000_ra_ever_killed): Test no_new_pseudos not
6568         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6569         * config/rs6000/rs6000-protos.h: Update.
6570         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6571         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6572         xcoffout_declare_function when using rs6000_output_mi_thunk.
6573
6574         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6575         s390_output_mi_vcall_thunk.
6576         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6577         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6578
6579         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6580         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6581         * config/vax/vax-protos.h: Update.
6582         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6583
6584 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6585
6586         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6587         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6588         * i386.md (movti_internal): Use 'C'
6589
6590         * xmmintrin.h (_mm_cmplt_epi*): New.
6591
6592 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6593
6594         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6595         ("*movdf_64"): Likewise.
6596         ("*lshrdi3_64"): Likewise.
6597         ("blockage"): Add length attribute.
6598         ("lit"): Likewise.
6599
6600 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6601
6602         * i386.md: FIx typo.
6603         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6604         (sse2_umulv2siv2di3): Fix predicate.
6605         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6606         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6607         * xmmintrin.h (_mm_mul_epu16): Rename to...
6608         (_mm_mul_epu32): This one.
6609         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6610
6611         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6612
6613 2002-10-22  Eric Christopher  <echristo@redhat.com>
6614
6615         * config/sparc/sparc.h: Add #error.
6616
6617 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6618
6619         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6620         [s390x-*-linux*]: Likewise.
6621         * config/s390/t-linux: Remove.
6622         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6623
6624 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6625
6626         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6627         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6628         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6629         * i386.md (mmx_punpck?dq): Simplify.
6630         (sse2_pubpcklqdq): Fix.
6631         (sse2_pubpckhqdq): New.
6632         * xmmintrin.h (_mm_unpackhi_epi32): New.
6633
6634         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6635         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6636
6637 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6638
6639         PR c++/7209
6640         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6641         build compound_expr if we used save_expr.
6642
6643 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6644
6645         * output.h (SECTION_NOTYPE): Define.
6646         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6647         init array sections.
6648         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6649         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6650         merge TLS support.
6651
6652 2002-10-21  Richard Henderson  <rth@redhat.com>
6653
6654         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6655         the function type, not the return type.
6656
6657 2002-10-21  Richard Henderson  <rth@redhat.com>
6658
6659         * real.c (sticky_rshift_significand): Return inexact, don't
6660         or it in immediately.
6661         (sub_significands): Accept incomming carry.
6662         (div_significands, rtd_divmod): Update for sub_significands change.
6663         (round_for_format): Update for sticky_rshift_significand change.
6664         (do_add): Don't involve the inexact bit in addition, do give the
6665         inexact bit as the subtraction carry-in.
6666         (encode_internal, decode_internal, real_internal_format): New.
6667         * real.h (real_internal_format): Declare.
6668
6669 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6670
6671         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6672         don't define sdiv_qrnnd.
6673
6674 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6675
6676         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6677         using IN_RANGE.
6678         (TINY_CONSTANT_ADDRESS_P): Likewise.
6679
6680 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6681
6682         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6683         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6684         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6685         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6686         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6687         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6688         __builtin_ia32_setzero128.
6689         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6690         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6691         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6692         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6693         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6694         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6695         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6696         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6697         sse2_movq): New patterns.
6698         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6699         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6700         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6701         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6702         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6703         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6704         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6705         (_mm_insert_epi16): Fix.
6706
6707 2002-10-21  Dale Johannesen  <dalej@apple.com>
6708
6709         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6710             unsafe math reversals correctly for RTL generation.
6711           (output_cbranch):  Replace rs6000_reverse_condition call
6712             by its former definition.
6713
6714 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6715
6716         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6717         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6718         from constant pool or LABEL_REFs as sign extended if allow_rip.
6719         Change all +-1GB limits to +-16MB.
6720         (x86_64_general_operand, x86_64_szext_general_operand,
6721         x86_64_nonmemory_operand, x86_64_movabs_operand,
6722         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6723         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6724         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6725         in CM_SMALL_PIC model.
6726         (legitimate_pic_address_disp_p): Don't check offsets before
6727         calling local_symbolic_operand.
6728         (legitimize_pic_address): Force offsets bigger than +-16MB into
6729         register.
6730         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6731         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6732         prototype.
6733
6734         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6735         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6736         * configure: Rebuilt.
6737         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6738         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6739         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6740         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6741         -fpic.
6742         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6743         non-pic code if TARGET_64BIT.
6744         (legitimize_address): Generate 64-bit TLS sequences.
6745         (output_pic_addr_const): Support x86-64 TLS operators.
6746         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6747         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6748         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6749         (output_addr_const_extra): Support x86-64 TLS operators.
6750         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6751         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6752         unconditionally.
6753         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6754         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6755         (*tls_global_dynamic_sun): Renamed to...
6756         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6757         (tls_global_dynamic): Renamed to...
6758         (tls_global_dynamic_32): ... this.
6759         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6760         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6761         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6762         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6763         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6764         (tls_local_dynamic_base_dynamic): Renamed to...
6765         (tls_local_dynamic_base_dynamic_32): ... this.
6766         (tls_local_dynamic_base_dynamic_64,
6767         *tls_local_dynamic_base_dynamic_64): New.
6768         (*tls_local_dynamic_once): Renamed to...
6769         (*tls_local_dynamic_32_once): ... this.
6770
6771 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6772
6773         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6774         __divdi3, __umoddi3, or __moddi3.
6775
6776 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6777
6778         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6779         instead of just opt_index as switch expression.
6780
6781         * calls.c (store_one_arg): Change type of 'excess_align'
6782         to unsigned int.
6783
6784         * profile.c (output_gcov_string): Change type of 'temp'
6785         to size_t.
6786
6787 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6788
6789         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6790         (__fixunssfdi, __fixsfdi): Likewise.
6791         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6792         (s390_single_qi): Likewise.
6793         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6794         unsigned comparison warning.
6795         (s390_return_addr_rtx): New function.
6796         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6797         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6798         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6799
6800 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6801
6802         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6803         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6804         (s390_output_mi_thunk): Remove.
6805         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6806
6807 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6808
6809         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6810
6811 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6812
6813         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6814         inverted test in the conditional determining the possibility
6815         of sibcalls in PIC mode.
6816
6817 2002-10-20  Richard Henderson  <rth@redhat.com>
6818
6819         * target.h (struct gcc_target): Line wrap.
6820
6821         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6822         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6823         * config/alpha/alpha.h: ... not here.
6824         * config/alpha/alpha-protos.h: Update.
6825
6826         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6827         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6828         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6829         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6830         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6831         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6832         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6833         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6834         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6835         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6836         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6837         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6838         config/sparc/sparc.c, config/sparc/sparc.h,
6839         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6840         config/stormy16/stormy16.h: Similarly.
6841
6842         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6843         selection logic from call patterns.
6844
6845 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6846
6847         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6848
6849 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6850
6851         PR other/8202
6852         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6853         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6854         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6855         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6856
6857 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6858
6859         PR c/761
6860         * toplev.c (flag_unsafe_profile_arcs): Remove.
6861         (flag_bounded_pointers): Remove.
6862         (flag_bounds_check): Correct comments.
6863         (lang_independent_options): Remove -funsafe-profile-arcs and
6864         -fbounded-pointers.  Correct -fbounds-check comments.
6865
6866         * flags.h: Correct flag_schedule_interblock comments.
6867         (flag_bounded_pointers): Remove prototype.
6868         (flag_bounds_check): Correct comments.
6869
6870         * c-opts.c (c_common_init_options): No need to mark
6871         flag_bounds_check as unspecified.
6872         (c_common_post_options): And no need to set it from
6873         flag_bounded_pointers if its still unspecified.
6874
6875         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6876         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6877         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6878         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6879
6880 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6881         Angela Marie Thomas  <angela@releasedominatrix.com>
6882         Brendan Kehoe  <brendan@zen.org>
6883         Nick Clifton  <nickc@redhat.com>
6884         Andrew Haley  <aph@redhat.com>
6885
6886         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6887         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6888         and CROSS_SYSTEM_HEADER_DIR.
6889         * configure: Rebuilt.
6890         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6891         (TARGET_SYSTEM_ROOT): New.
6892         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6893         CROSS_SYSTEM_HEADER_DIR.
6894         (install-gcc-tooldir): New target.
6895         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6896         if SYSTEM_HEADER_DIR does not exist and it's not the default
6897         sys-include directory.
6898         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6899         (install-mkheaders): Likewise.
6900         * gcc.c (target_system_root): New variable.
6901         (add_sysrooted_prefix): New function.
6902         (process_command): Recompute run-time target_system_root from
6903         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6904         does not exist.
6905         (do_spec_1): Process 'R' spec.
6906         (main): Add md_exec_prefix to exec_prefixes regardless of
6907         startfile_prefix_spec.  Use add_sysrooted_prefix for
6908         startfile_prefixes, and don't skip the default ones when cross
6909         compiling with sysroot enabled.  Removed unused case of
6910         non-absolute standard_startfile_prefix.
6911         * config/interix.h: Remove the only potential, yet disabled,
6912         occurrence of non-absolute (empty) standard_startfile_prefix.
6913         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6914         linking.
6915         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6916         * doc/install.texi (--with-sysroot): Document.
6917         (--with-headers, --with-libs): Deprecate.
6918
6919 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6920             Mark Mitchell  <mark@codesourcery.com>
6921
6922         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6923         match target.h.
6924         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6925         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6926         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6927         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6928         x86_output_mi_thunk): Likewise.
6929         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6930         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6931         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6932         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6933         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6934         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6935         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6936         Likewise.
6937         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6938
6939         * target.h (gcc_target): Update output_mi_thunk and
6940         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6941         vcall_index.
6942
6943         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6944         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6945         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6946         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6947         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6948         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6949         signature.
6950         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6951         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6952         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6953         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6954         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6955         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6956         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6957         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6958         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6959
6960         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6961         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6962
6963 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6964
6965         * real.c (do_add): Fix 0+0 sign corner case.
6966         (do_divide): Fix Inf/0 corner case.
6967
6968 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6969
6970         * i386.c (classify_argument): Pass MMX arguments in memory
6971         (ix86_expand_builtin): Expand proper address mode for cflush.
6972         * i386.md (movdqa): Fix typo.
6973         (sse2_cflush): Accept DImode addresses.
6974
6975         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6976         (_mm_max_sd): Fix pasto.
6977         (_mm_storeh_pd, _mm_storel_pd): Fix.
6978
6979         * i386.c (bdesc_comi): Fix to match specification.
6980         (ix86_expand_sse_comi): Emit the comparison properly.
6981         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6982         Do not use comparison operator.
6983         (vnmaskcmp): Fix template.
6984
6985         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6986
6987 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6988
6989         * dependence.c : Removed.
6990         * Makefile.in : Remove dependence.o.
6991
6992 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6993
6994         * mmintrin.h (__m64): typedef it to v2si.
6995         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6996         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6997         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6998         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6999         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
7000         * xmmintrin.h (_mm_setzero_si64): Likewise.
7001
7002         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
7003         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
7004
7005         PR target/7693
7006         Patch by Shawn Wagner
7007         * mmintrin.h: Replace pi64 by si64.
7008
7009 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
7010
7011         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
7012         Use length of 4 not *.
7013         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
7014         (movdf_softfloat64): Likewise.
7015         (movdi_internal32): Use length of 4 not *.
7016         (movti_power): Same.
7017         (ctrsi, ctrdi): Same.
7018
7019 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
7020
7021         * c-decl.c (start_decl): Point users of the old initialized-
7022         typedef extension at __typeof__.
7023
7024 2002-10-18  Richard Henderson  <rth@redhat.com>
7025
7026         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7027         (real_to_decimal): Re-implement using the logic from the
7028         gcc 3.2 etoasc.  Comment heavily.
7029         (div_significands): Simplify loop startup and comparison logic.
7030
7031 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7032
7033         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7034         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7035         (TARGET_ASM_OUT): Add them.
7036         * target.h (asm_out): Add output_mi_thunk and
7037         output_mi_vcall_thunk.
7038         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7039         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7040         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7041         * config/arm/arm.c (arm_output_mi_thunk): Define.
7042         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7043         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7044         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7045         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7046         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7047         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7048         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7049         prototype.
7050         (x86_output_mi_vcall_thunk): Declare.
7051         * config/i386/i386.c (override_options): Clear
7052         output_mi_vcall_thunk in 64-bit mode.
7053         (ix86_fntype_regparm): New function.
7054         (ix86_return_pops_args): Use it.
7055         (ia32_this_parameter): New function.
7056         (x86_output_mi_vcall_thunk): New function.
7057         (x86_output_mi_thunk): Use it
7058         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7059         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7060         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7061         * config/i960/i960.c (i960_output_mi_thunk): New function.
7062         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7063         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7064         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7065         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7066         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7067         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7068         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7069         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7070         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7071         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7072         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7073         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7074         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7075         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7076         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7077         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7078         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7079         * config/s390/s390.c (s390_output_mi_thunk): Define.
7080         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7081         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7082         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7083         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7084         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7085         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7086         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7087         * config/vax/vax.c (vax_output_mi_thunk): Define.
7088         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7089         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7090         * doc/tm.texi: Adjust documentation.
7091
7092 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7093
7094         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7095         __enable_execute_stack function.
7096         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7097         as NETBSD_ENABLE_EXECUTE_STACK.
7098         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7099         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7100         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7101         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7102         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7103
7104 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7105
7106         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7107         to __enable_execute_stack with the address of the trampoline
7108         if TRANSFER_FROM_TRAMPOLINE is defined.
7109         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7110         constant if building libgcc2.
7111
7112 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7113
7114         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7115         (ix86_memory_move_cost): Fix for 64bit compilation.
7116
7117 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7118
7119         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7120
7121 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7122
7123         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7124         in CTR/LR/MQ.
7125         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7126         to/from CTR/LR/MQ.
7127         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7128         (movsf_softfloat): Likewise.
7129
7130 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7131
7132         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7133
7134 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7135
7136         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7137         tramp, not addr, to pass the trampoline address to
7138         __enable_execute_stack.
7139
7140 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7141
7142         * mmintrin.h: Guard by __MMX__
7143         * xmmintrin.h: Guard by __SSE__
7144
7145         PR other/8062
7146         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7147         (_mm_load*_?d): New functions.
7148         (_mm_set*_?d): New functions.
7149         (_mm_store*_?d): New functions.
7150
7151 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7152
7153         Really commit patch announced at Oct 14
7154         PR c/7344
7155         * predict.c (can_predict_insn_p): New function.
7156         (estimate_probability): Avoid unnecesary work.
7157         (process_note_prediction): Likewise.
7158         * toplev.c (rest_of_compilation): Account early branch prediction pass
7159         as TV_BRANCH_PROB.
7160
7161         PR other/8048
7162         Found by Ian Ollmann
7163         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7164         (_mm_load?_pd): Likewise.
7165         (_mm_store?_pd): Likewise.
7166
7167         PR target/7386
7168         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7169         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7170         swapped alternative.
7171
7172         PR opt/7630
7173         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7174         (push_reload): Update call.
7175
7176 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7177
7178         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7179         if using mips/elf.h or mips/elf64.h.
7180         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7181         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7182
7183 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7184
7185         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7186         SI.
7187
7188 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7189
7190         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7191         (LPREFIX): Likewise.
7192         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7193         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7194         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7195         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7196         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7197
7198         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7199         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7200         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7201         BSS_SECTION_ASM_OP): Move from linux.h.
7202         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7203         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7204
7205         * config/s390/s390.c (s390_function_profiler): Use
7206         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7207
7208 2002-10-15  Eric Christopher  <echristo@redhat.com>
7209
7210         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7211         * java/parse.y (obtain_incomplete_type): Make pointer
7212         ptr_mode.
7213
7214 2002-10-15  Richard Henderson  <rth@redhat.com>
7215
7216         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7217         as arguments.  Bound DIGITS by the available buffer size.
7218         (real_to_hexadecimal): Likewise.
7219         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7220         (REAL_VALUE_TO_DECIMAL): Remove.
7221         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7222         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7223         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7224         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7225         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7226         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7227         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7228         use real_to_decimal directly, and with the proper arguments.
7229         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7230
7231 2002-10-15  Jim Wilson  <wilson@redhat.com>
7232
7233         * reload1.c (merge_assigned_reloads): After converting overlapping
7234         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7235
7236         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7237
7238 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7239
7240         * expr.c (do_tablejump): Fix typo in my previous commit.
7241
7242 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7243
7244         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7245
7246 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7247
7248         * config/s390/s390.c (s390_split_branches): Add return
7249         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7250
7251         (find_base_register_in_addr): New function.
7252         (find_base_register_ref): New function.
7253         (replace_base_register_ref): New function.
7254
7255         (struct constant_pool): Add members pool_insn, insns, and anchor.
7256         Remove member last_insn.
7257         (s390_start_pool): Initialize them.
7258         (s390_end_pool): Emit pool placeholder insn.
7259         (s390_add_pool_insn): New function.
7260         (s390_find_pool): Use insns bitmap instead of addresses.
7261         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7262         Replace unspec 104 by local-pool-relative references.
7263         (s390_output_constant_pool): Output anchor label if required.
7264         (s390_output_symbolic_const): Handle unspec 104 and 105.
7265         (s390_add_pool): Remove, replace by ...
7266         (s390_add_constant, s390_find_constant): ... these new functions.
7267         (s390_add_anchor): New function.
7268
7269         (s390_chunkify_pool): Delete, replace by ...
7270         (s390_chunkify_start, s390_chunkify_finish,
7271         s390_chunkify_cancel): ... these new functions.
7272         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7273         Recompute register live data for special registers.
7274         (s390_fixup_clobbered_return_reg): New function.
7275         (s390_machine_dependent_reorg): Rewrite to use new
7276         s390_chunkify_... routines.
7277
7278         config/s390/s390.md ("reload_base"): Rename to ...
7279         ("reload_base_31"): ... this.
7280         ("reload_base_64"): New insn.
7281         ("reload_base2"): Remove.
7282         ("reload_anchor"): New insn.
7283         ("pool"): New insn.
7284
7285         s390.c (s390_pool_overflow): Remove.
7286         s390.h (s390_pool_overflow): Likewise.
7287         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7288
7289 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7290
7291         * sh.md (movv8qi_i+2): Don't split if source is -1.
7292
7293 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7294
7295         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7296
7297 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7298
7299         PR opt/7409
7300         * loop.c (loop_regs_scan): Mark registers used for function
7301         argument passing as MAY_NOT_OPTIMIZE.
7302
7303 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7304
7305         * gcov-io.h (gcov_info): Fix type.
7306         * profile.c (create_profiler): Fix type mismatch.
7307
7308 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7309
7310         * i386.md (movv2di_internal): New pattern.
7311         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7312         (movv2di): New expander.
7313         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7314
7315         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7316         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7317         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7318         (ix86_expand_builtin): Likewise.
7319         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7320         sse_andti3,
7321         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7322         sse_andnti3,
7323         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7324         sse_orti3,
7325         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7326         sse_xorti3): Kill.
7327         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7328          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7329         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7330          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7331         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7332          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7333
7334         * xmmintrin.h (__m128i): Define as __v2di.
7335
7336         PR c++/6419
7337         (expand_expr): Use DECL_RTL_SET_P.
7338
7339 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7340
7341         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7342
7343 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7344             Zack Weinberg <zack@codesourcery.com>
7345
7346         * config/i386/i386.c (k6_cost): Correct typo.
7347
7348 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7349
7350         PR optimization/6631
7351         * alias.c (objects_must_conflict_p): Check honor_readonly when
7352         examining TYPE_READONLY.
7353         * function.c (assign_stack_temp_for_type): Likewise.
7354
7355 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7356
7357         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7358         Swap zero extension arguments.
7359         (umaxhi3): Fix instruction class.
7360         PR target/7211
7361         (prefetch): Fix prefetch instructions.
7362         PR target/7238
7363         (pkwb): Fix output constraint.
7364
7365 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7366
7367         * config/mips/mips.c (print_operand): Increase buffer size for
7368         real numbers.
7369
7370 2002-10-14  Richard Henderson  <rth@redhat.com>
7371
7372         PR opt/8165
7373         * gcse.c (adjust_libcall_notes): Revert last change.
7374         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7375
7376 2002-10-14  Andrew Haley  <aph@redhat.com>
7377
7378         * tree-inline.c (remap_block): All local class initialization
7379         flags go in the outermost scope.
7380         (expand_call_inline): Call java_inlining_map_static_initializers.
7381         (expand_call_inline): Call java_inlining_merge_static_initializers.
7382         * java/lang.c (merge_init_test_initialization): New.
7383         (java_inlining_merge_static_initializers): New.
7384         (inline_init_test_initialization): New.
7385         (java_inlining_map_static_initializers): New.
7386
7387         * tree-inline.c (expand_call_inline): Convert retvar to expected
7388         type.
7389
7390 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7391
7392         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7393
7394 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7395
7396         * stmt.c: Fix typo in comment.
7397
7398 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7399
7400         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7401         * tree.c (build_common_tree_nodes_2): Initialize
7402         unsigned_V2HI_type_node and V2HI_type_node.
7403         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7404         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7405
7406 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7407
7408         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7409         Handle TARGET_64BIT.
7410
7411 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7412
7413         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7414         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7415         (MULTILIB_DIRNAMES): Remove long32.
7416         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7417         (MULTILIB_REDUNDANT_DIRS): Remove.
7418
7419 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7420
7421         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7422         * gcc.c (driver_self_specs): New variable.
7423         (do_self_spec): New function.
7424         (main): Use it to process driver_self_specs.
7425
7426 2002-10-13  Richard Henderson  <rth@redhat.com>
7427
7428         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7429         indirect sibcalls when regparm >= 3.
7430
7431         * config/i386/i386.c (sibcall_insn_operand): New.
7432         * config/i386/i386.h (PREDICATE_CODES): Update.
7433         * config/i386/i386-protos.h: Update.
7434         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7435
7436         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7437
7438 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7439
7440         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7441         arithmetic right shifts of ~0 during RTL simplifications.
7442
7443 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7444
7445         PR preprocessor/7862
7446         PR preprocessor/8190
7447         * gcc.c (cpp_unique_options): Don't delete .d files.
7448         Remove stray whitespace.
7449
7450 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7451
7452         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7453         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7454         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7455         (pdp11_output_function_epilogue, output_ascii): Likewise.
7456         (output_addr_const_pdp11): Likewise.
7457         * pdp11.md (movdi): Use offsetable memory for floating store.
7458         (lshrsi3, negsi2): Delete irrelevant comment.
7459
7460 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7461
7462         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7463         indirect calls to be sibcall optimized.
7464         * config/i386/i386.md (sibcall_1): New.
7465         (call_1): Add no-sibcalls condition.
7466         (sibcall_value_1): New.
7467         (call_value_1): Add no-sibcalls condition.
7468
7469 2002-10-11  Eric Christopher  <echristo@redhat.com>
7470
7471        * output.h (default_valid_pointer_mode): Declare.
7472        * varasm.c (default_valid_pointer_mode): Define.
7473        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7474        * target.h: Ditto.
7475        * tree.c (build_pointer_type_for_mode): New function.
7476        (build_pointer_type): Use.
7477        (build_reference_type_for_mode): New function.
7478        (build_reference_type): Use.
7479        * tree.h: Declare new functions.
7480        * c-common.c (handle_mode_attribute): Use new functions, check
7481        for type.
7482        * stor-layout.c (layout_type): Depend on machine mode for
7483        REFERENCE_TYPE and POINTER_TYPE.
7484        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7485        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7486        and REFERENCE_TYPE.
7487        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7488        (TARGET_VALID_POINTER_MODE): Use and define.
7489        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7490
7491 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7492
7493         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7494         not the address of the REG.
7495         (struct cse_reg_info): Make subreg_ticked unsigned.
7496
7497 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7498
7499         * doc/compat.texi: Add info about C++ libraries.
7500
7501 2002-10-11  Richard Henderson  <rth@redhat.com>
7502
7503         PR opt/8165
7504         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7505
7506 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7507
7508         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7509         * genautomata.c (output_insn_code_cases): Likewise.
7510         * real.c (real_format): Likewise.
7511         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7512         ensure value is promoted before doing subtraction.
7513
7514 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7515
7516         * calls.c (expand_call): Simplify noreturn call.
7517
7518         PR c/7344
7519         * cfgbuild.c (make_edges): Create edge cache when we do have
7520         large jumptable.
7521         * expr.c (do_tablejump): Note size of maximal jumptable.
7522         * function.c (prepare_function_start): Zero out size.
7523         * function.h (function): Add max_jumptable_ents.
7524
7525         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7526
7527 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7528
7529         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7530         register for mperm_w operation.
7531
7532 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7533
7534         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7535         an integer, use simplify_gen_subreg.
7536
7537 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7538
7539         * calls.c (flags_from_decl_or_type): Make extern.
7540         (ECF_*): Move ...
7541         * rtl.h (ECF_*): ... here.
7542         (flags_from_decl_or_type): Declare.
7543
7544 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7545             Nathan Sidwell <nathan@codesourcery.com>
7546
7547         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7548         shifts of the form -1 >> x.
7549
7550 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7551
7552         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7553
7554 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7555
7556         * extend.texi (Vector Extensions): Remove comment about single
7557         element vectors.
7558
7559 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7560
7561         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7562         * function.c (insns_for_mem_hash): Likewise.
7563         * varasm.c (STRHASH): Likewise.
7564
7565 2002-10-10  Stuart Hastings  <stuart@apple.com>
7566
7567         * cse.c (struct cse_reg_info): Add subreg_ticked.
7568         (SUBREG_TICKED): New.
7569         (get_cse_reg_info): Initialize SUBREG_TICKED.
7570         (mention_regs): Use it.
7571         (invalidate): Set SUBREG_TICKED.
7572         (invalidate_for_call): Likewise.
7573         (addr_affects_sp_p): Likewise.
7574
7575 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7576
7577         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7578         into proper operand.
7579
7580 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7581
7582         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7583         deallocation.
7584         * config/ip2k/libgcc.S: Combine routines used by function
7585         epilogue.
7586
7587 2002-10-10  Jim Wilson  <wilson@redhat.com>
7588
7589         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7590         UDIV.
7591
7592 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7593
7594         * config/rs6000/aix52.h: New file.
7595         * config/rs6000/t-aix52: New File.
7596         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7597         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7598
7599 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7600
7601         PR target/5610
7602         * invoke.texi (-msse-math): Kill
7603         (-msse): Add note to mfpmath=sse.
7604
7605 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7606
7607         PR target/7723
7608         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7609
7610 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7611
7612         PR preprocessor/8179
7613         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7614         as cc1_options.
7615         (default_compilers): Pass debug options when preprocessing
7616         stdin.
7617
7618 2002-10-06  Richard Henderson  <rth@redhat.com>
7619
7620         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7621
7622 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7623
7624         * i386.c (*_cost): Add branch costs.
7625         (override_options): set ix86_branch_cost.
7626         (ix86_expand_int_movcc): Use BRANCH_COST.
7627         * i386.h (costs): Add branch_cost.
7628
7629 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7630
7631         PR c/7353
7632         * c-decl.c (start_decl): Unconditionally issue error for
7633         'typedef foo = bar'.
7634         (finish_decl): Remove special case for TYPE_DECL with initializer.
7635
7636         * doc/extend.texi: Delete "Naming Types" section.  Change all
7637         cross-references to that section to refer to "Typeof" instead.
7638         Add the useful safe-max()-macro example from "Naming Types" to
7639         "Typeof", rewritten using that extension.  Add some compatibility
7640         notes to "Typeof."
7641
7642 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7643
7644         * loop.c: Revert 2002-08-15 change.
7645         (LOOP_REGNO_NREGS): Ensure type is int.
7646
7647 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7648
7649         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7650         which copies first FPR and clears second.
7651         (extendsftf2): Same.
7652         (floatditf2): Fix typo.
7653         (floatsitf2): Same.
7654         (fix_trunctfdi2): Same.
7655         (fix_trunctfsi2): Same.
7656
7657 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7658
7659         * conflict.c (arc_hash): Change return type to hashval_t.
7660         * cselib.c (get_value_hash): Likewise.
7661         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7662         state_hash, automata_list_hash): Likewise.
7663         * read-rtl.c (def_hash): Likewise.
7664         * tree.c (type_hash_hash): Likewise.
7665
7666 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7667
7668         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7669         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7670
7671 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7672
7673         * sh.md (ffssi2): Fix emitted code.
7674
7675 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7676
7677         * cse.c (insn_live_p): Pass insn pattern, not full insn
7678         to may_trap_p.
7679
7680 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7681
7682         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7683
7684 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7685
7686         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7687         64-bit hosts.
7688         (movtf_internal): Reference correct displacement for second value
7689         in memory.
7690         (movtf splitter): Correct generation of constants in 64-bit mode.
7691
7692 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7693
7694         * libgcc2.c (__floatdisf): Properly cure double rounding.
7695
7696 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7697
7698         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7699         * doc/cpp.texi (Common Predefined Macros): Document.
7700
7701 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7702
7703         PR doc/7484
7704         * doc/invoke.texi (Option Summary): List
7705         -Wmissing-declarations as a C only option.
7706
7707 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7708
7709         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7710         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7711         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7712
7713 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7714
7715         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7716         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7717         variables.
7718         (safe_vector_operand): Update sse_clrv4sf call.
7719         (ix86_expand_buildin): Likewise
7720         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7721         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7722         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7723         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7724         macros.
7725         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7726         movv4si):  Obey the new flags.
7727         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7728         reformating penalty.
7729         (anddf, cmov patterns): Avoid reformating by first converting.
7730         (sse_cvtsd2ss): Fix predicate.
7731         (sse2_clrti): Fix mode,
7732         (sse_clrv4sf): Avoid unspec.
7733
7734 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7735
7736         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7737         mno-app-regs|mcmodel=medany.
7738         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7739         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7740         (CRTSTUFF_T_CFLAGS): Define.
7741
7742 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7743
7744         PR target/8087
7745         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7746         pool references that are constructed using LO_SUM.
7747
7748 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7749
7750         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7751         -Wall.
7752         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7753         message.
7754         * flags.h (warn_strict_aliasing): Declare.
7755         * toplev.c (warn_strict_aliasing): Define.
7756         (lang_independent_options): Add it.
7757         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7758
7759 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7760
7761         * system.h (GCCBUGURL): Delete.
7762         * version.c (bug_report_url): New.  Add commentary about
7763         modifying both these strings in modified distributions.
7764         * version.h: Declare bug_report_url.
7765
7766         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7767         bug_report_url.
7768
7769 2002-10-08  Nick Clifton  <nickc@redhat.com>
7770
7771         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7772         convert uint64_t into __ev64_opaque__.
7773         (__ev_set_acc_s64): Likewise, but using signed types.
7774
7775 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7776
7777         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7778         ("*doloop_di_long"): Likewise.
7779
7780 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7781
7782         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7783
7784 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7785
7786         * config/mips/mips.md (define_attr cpu): Add r4111.
7787
7788 2002-10-08  Anthony Green  <green@redhat.com>
7789
7790         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7791
7792 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7793
7794         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7795         for REAL_VALUE_TO_DECIMAL output.
7796
7797 2002-10-07  Richard Henderson  <rth@redhat.com>
7798
7799         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7800         function; cleanup PLUS case by using recursion.  Update all users.
7801         (NONZERO_BASE_PLUS_P): Remove.
7802         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7803         (fold_rtx): Use nonzero_address_p.
7804         * rtl.h (nonzero_address_p): Declare.
7805         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7806         (rtx_addr_can_trap_p): Likewise.
7807         (nonzero_address_p): New.
7808         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7809         (simplify_relational_operation): Use nonzero_address_p.
7810
7811 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7812
7813         * config/rs6000/rs6000.c (rs6000_override_options): Set
7814         real_format_for_mode for IBM extended format, if enabled.
7815         (easy_fp_constant): Add TFmode.
7816         (rs6000_legitimize_address): Add TFmode.
7817         (rs6000_legitimate_address): Same.
7818         (function_arg_advance): TFmode uses two FPRs.
7819         (rs6000_emit_prologue): Fix warning.
7820         (rs6000_output_function_epilogue): Add TFmode.
7821         (output_toc): Add TFmode.
7822         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7823         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7824         * rs6000.md (movtf splitter): Load TFmode constant.
7825
7826 2002-10-07  Dale Johannesen  <dalej@apple.com>
7827
7828         * rtl.h:  Add NOTE_PRECONDITIONED.
7829         * unroll.c:  Set it.
7830         * loop.c:  Set loop_info->preconditioned from it.
7831         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7832
7833 2002-10-07  Richard Henderson  <rth@redhat.com>
7834
7835         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7836         new rtx for comparing the argument pointer against zero.
7837         (i960_va_start): Similarly.
7838
7839 2002-10-07  Richard Henderson  <rth@redhat.com>
7840
7841         * config/i960/i960.md (*): Use TFmode, not XFmode.
7842         * config/i960/i960.c (*): Likewise.
7843         (i960_arg_size_and_align): Remove XFmode alignment hack.
7844         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7845         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7846         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7847         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7848
7849 2002-10-07  Richard Henderson  <rth@redhat.com>
7850
7851         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7852         entry points; use void return value and argument list.
7853
7854 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7855
7856         * calls.c (expand_call): Fix function-is-volatile check.
7857
7858 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7859
7860         * t-pdp11: Add MULTILIB support for msoft-float.
7861         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7862
7863         * t-pdp11: Add LIB2FUNCS_EXTRA.
7864         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7865         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7866         'fldd' to 'ldd', rename 'fstd' to 'std'.
7867         (pdp11_output_function_epilogue): Likewise.
7868         (output_move_quad): Make the comment gas compatible.
7869         (output_ascii): Add preceding 0 to the octal constant.
7870         (print_operand_address): Add pre_modify, post_modify.
7871         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7872         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7873         with the indication of Paul Koning.
7874         (PRINT_OPERAND): Fix floating constant.
7875         * pdp11.md (movdi): Restrict matching pattern.
7876         (movqi): Generalize the matching pattern.
7877         (movdf): Restrict matching pattern.
7878         (zero_extendqihi2): Change constant representation.
7879         (floatsidf2): Fix wrong operands.
7880         (addqi3): Fix wrong instruction name.
7881         (subqi3): Fix wrong instruction name.
7882         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7883         (xorsi3): Fix wrong insn.
7884         (one_cmplqi2): Add two operand pattern.
7885         (lsrsi3): New.
7886         (negsi2): New.
7887         (call): Add register indirect case.
7888         (mod): Fix wrong subreg.
7889
7890 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7891             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7892
7893         PR c/7411
7894         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7895         have been expanded in EXPAND_NORMAL mode.
7896
7897 2002-10-06  Richard Henderson  <rth@redhat.com>
7898
7899         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7900
7901 2002-10-06  Richard Henderson  <rth@redhat.com>
7902
7903         PR optimization/2960
7904         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7905         optimize_size.
7906
7907 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7908
7909         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7910         previously definitions.
7911
7912 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7913
7914         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7915         * c-opts.c (find_opt): Similarly.
7916
7917 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7918
7919         * athlon.md: rewrite to DFA.
7920         * i386 (ix86_adjust_cost): Drop memory latency code.
7921         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7922
7923 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7924
7925         * gcc.c (set_multilib_dir): Don't access *end.
7926         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7927         (print_multilib_info): Don't show paths starting with ".:".
7928         * genmultilib: Add new option, "yes" if multilibs are enabled.
7929         Update comments.  If multilibs not enabled, print .:${osdirout}
7930         for each directory.  If multilibs are enabled, always print
7931         ${dirout}:${osdirout}, even if the two are the same.
7932         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7933         Pass all MULTILIB_* variables to genmultilib even if
7934         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7935
7936 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7937
7938         * gcc.c (process_command): Set .validated for -pipe.  Correct
7939         grammar in comment.
7940
7941 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7942
7943         * fixinc/inclhack.def(hpux11_abs):  use format fix
7944         * fixinc/fixincl.x: regenerate
7945         * fixinc/tests/base/stdlib.h: accommodate new fix test
7946
7947 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7948
7949         * c-common.c (cb_register_builtins):  Use really_no_inline.
7950
7951 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7952
7953         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7954         copied instruction if the note is not loop invariant.
7955
7956 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7957
7958         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7959
7960 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7961
7962         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7963         and -mhp-ld options to list of options.  Add -mgnu-ld
7964         and -mhp-ld option descriptions.
7965
7966 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7967
7968         * fixinc/inclhack.def (hpux11_abs):  New.
7969         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7970         * fixinc/fixincl.x: Rebuild.
7971
7972 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7973
7974         * config/i386/i386.h (processor_costs): Add new fields fadd,
7975         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7976         (RTX_COSTS): Use these fields to determine the RTX costs
7977         of floating point addition/subtraction, multiplication,
7978         division, fabs, negation and square root respectively.
7979         * config/i386/i386.c (size_cost): Provide instruction sizes
7980         for these new fields.
7981         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7982         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7983         counts for these new fields for all x86 processor variants.
7984
7985 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7986
7987         * mips.c (mips_const_double_ok): Delete unused variable.
7988
7989         * gengtype.c (rtx_next): Change type to int.
7990
7991 2002-10-04  Andreas Jaeger  <aj@suse.de>
7992
7993         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7994
7995 2002-10-04  Richard Henderson  <rth@redhat.com>
7996
7997         * real.h (SIGNIFICAND_BITS): Add one more word.
7998         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7999         * real.c (times_pten): New.
8000         (real_to_decimal, real_from_string): Use it.
8001         (sticky_rshift_significand): Use & to find modulus.
8002         (rshift_significand, lshift_significand): Likewise.
8003         (do_divide): Apply sticky bit after normalization.
8004         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
8005
8006 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
8007
8008         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
8009         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8010
8011 2002-10-03  Andreas Jaeger  <aj@suse.de>
8012
8013         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
8014         to unsigned long, adjust printf format string.
8015         (output_mangled_typename): Likewise.
8016
8017 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
8018
8019         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
8020         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
8021         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
8022         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
8023         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
8024         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8025         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8026         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8027
8028 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8029
8030         * doc/invoke.texi (-Wabi): Document mangling bug.
8031
8032 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8033
8034         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8035         name for the tbtab label that depends on the function asm name.
8036         Don't output tbtab label unless optional_tbtab.
8037         (output_mi_thunk): Formatting.
8038
8039 2002-10-03  Richard Henderson  <rth@redhat.com>
8040
8041         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8042         * config/m68k/m68k.c (override_options): ... here.
8043         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8044         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8045         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8046         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8047
8048 2002-10-03  Richard Henderson  <rth@redhat.com>
8049
8050         * real.h (struct real_value): Use ENUM_BITFIELD.
8051
8052 2002-10-03  Richard Henderson  <rth@redhat.com>
8053
8054         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8055
8056 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8057
8058         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8059
8060 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8061
8062         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8063         * config/pa/pa.h (MASK_GNU_LD): New.
8064         (TARGET_GNU_LD): New.
8065         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8066         on gnu-ld and MASK_GNU_LD.
8067         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8068
8069 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8070
8071         * i386.c (athlon_cost): Fix the move costs.
8072
8073 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8074
8075         * final.c (final): Use symbol name as function name for profiling.
8076         * profile.c (get_exec_counts): Likewise.
8077         (branch_prob): Likewise.
8078
8079 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8080
8081         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8082
8083 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8084
8085         * gcc.c (print_multi_os_directory): New variable.
8086         (option_map): Support --print-multi-os-directory.
8087         (struct prefix_list): Add os_multilib field.
8088         (multilib_os_dir): New variable.
8089         (static_specs): Add multilib_options.
8090         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8091         subdirs if nonzero.
8092         (read_specs, execute): Update callers.
8093         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8094         pass 1 as multilib option.
8095         (display_help): Include --print-multi-os-directory.
8096         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8097         (process_command): Update callers.  Handle --print-multi-os-directory.
8098         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8099         set.
8100         (main): Update find_a_file and add_prefix callers.
8101         Handle print_multi_os_directory.
8102         (struct mdswitchstr): New.
8103         (mdswitches, n_mdswitches): New variables.
8104         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8105         present on the command line nor their mutually incompatible
8106         switches.
8107         (default_arg): Optimize.
8108         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8109         array.
8110         (print_multilib_info): Only print GCC multilib dir name, not OS
8111         multilib dirname.
8112         * genmultilib: Add osdirnames parameter.  Output multilib_options
8113         variable.  If osdirnames is specified, output dirnames as
8114         dirname:osdirname.
8115         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8116         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8117         to compute libgcc_s soname and install path.
8118         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8119         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8120         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8121         argument.
8122
8123         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8124         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8125         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8126         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8127         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8128         and -m64.
8129         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8130         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8131         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8132         (STARTFILE_ARCH_SPEC): Remove.
8133         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8134         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8135         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8136         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8137         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8138
8139 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8140
8141         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8142
8143 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8144
8145         * i386.md (lea to mul peep2): Fix condition.
8146
8147 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8148
8149         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8150         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8151
8152 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8153
8154         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8155         attribute "unused".
8156
8157         * config/t-libunwind: Mention unwind-sjlj.c.
8158         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8159         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8160
8161         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8162         before inclusion of config.gcc, but after configuring the compiler etc.
8163         Determine default value for --enable-libunwind-exceptions based on
8164         whether the host has a libunwind library (not guaranteed to be correct,
8165         but it's a reasonable first guess and can always be overridden with an
8166         explicit --enable/disable-libunwind-exceptions.
8167         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8168         tmake_file when $use_libunwind_exceptions is enabled.
8169         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8170         ia64 (e.g., config/t-linux also updates it).
8171         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8172         along with the shared version of libgcc since the latter requires
8173         the former.
8174         * unwind-libunwind.c: New file.
8175         * config/t-libunwind: Ditto.
8176
8177 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8178
8179         * config.gcc: Remove support for vax-*-vms*.
8180         * config/vax/vms.h: Remove.
8181         * config/vax/xm-vms.h: Remove.
8182         * config/vax/vax-protos.h: Remove VMS-specific code.
8183         * config/vax/vax.c: Remove VMS-specific code.
8184
8185 2002-10-02  Richard Henderson  <rth@redhat.com>
8186
8187         PR opt/7124
8188         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8189         for secondary_memory_needed pairs.
8190
8191 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8192
8193         * doc/vms.texi: Blow away false include file section.
8194
8195 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8196
8197         PR optimization/6627
8198         * toplev.c (force_align_functions_log): New global variable.
8199         * flags.h (force_align_functions_log): Add extern prototype.
8200         * varasm.c (assemble_start_function): Use it to force minimum
8201         function alignment.
8202         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8203         minimum function alignment to one byte.
8204         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8205         the least significant bit of vtable member function pointers.
8206         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8207         here from cp/cp-tree.h.
8208
8209 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8210
8211         * i386.c (print_operand_address): Use RIP addressing for offsetted
8212         label refs too.
8213
8214 2002-09-30  David S. Miller  <davem@redhat.com>
8215
8216         PR middle-end/7151
8217         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8218         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8219
8220 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8221
8222         * calls.c (expand_call): Remove the `no indirect check'
8223         for sibcall optimization; use function_ok_for_sibcall
8224         target hook; refine check for `function is volatile'.
8225         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8226         * hooks.c (hook_tree_tree_bool_false): New.
8227         * hooks.h (hook_tree_tree_bool_false): Declare.
8228         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8229         (TARGET_INITIALIZER): Add it.
8230         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8231         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8232         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8233         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8234         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8235         Remove function declaration.
8236         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8237         function static and accept another argument of type `tree'.
8238         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8239         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8240         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8241         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8242         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8243         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8244         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8245         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8246         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8247         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8248         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8249         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8250         Remove function declaration.
8251         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8252         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8253         rename first argument to `decl'; accept another argument
8254         of type `tree'; make static.
8255         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8256         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8257         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8258         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8259         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8260         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8261         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8262         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8263         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8264
8265 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8266
8267         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8268
8269 2002-10-01  Richard Henderson  <rth@redhat.com>
8270
8271         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8272         (real_to_hexadecimal): Likewise.
8273         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8274         dump the XWINT fields of a floating point CONST_DOUBLE.
8275
8276 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8277
8278         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8279
8280 2002-10-01  Richard Henderson  <rth@redhat.com>
8281
8282         * calls.c (precompute_register_parameters): Force non-legitimate
8283         constants into pseudos.
8284
8285 2002-10-01  Nick Clifton  <nickc@redhat.com>
8286
8287         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8288         to assembler template.
8289
8290 2002-10-01  Richard Henderson  <rth@redhat.com>
8291
8292         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8293         for TLS debug info to !DECL_EXTERNAL.
8294
8295 2002-10-01  Matt Thomas  <matt@3am-software.com>
8296             Jason Thorpe  <thorpej@wasabisystems.com>
8297
8298         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8299         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8300         if not already defined.
8301         * config/vax/elf.h: New file.
8302         * config/vax/netbsd-elf.h: New file.
8303         * config/vax/vax.c: Include "debug.h".
8304         (vax_output_function_prologue): Add dwarf2 support.  Use
8305         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8306         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8307         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8308         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8309         (VAX_ISTREAM_SYNC): Remove.
8310         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8311         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8312         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8313         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8314         and assemble_name.
8315         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8316         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8317         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8318         (INCOMING_RETURN_ADDR_RTX): Define.
8319         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8320         (VUNSPEC_SYNC_ISTREAM): Define.
8321         (blockage): Use VUNSPEC_BLOCKAGE.
8322         (sync_istream): New insn.
8323
8324 2002-10-01  Richard Henderson  <rth@redhat.com>
8325
8326         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8327         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8328         (*call): New insn.
8329
8330 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8331
8332         PR c/8083
8333         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8334         type based aliasing.
8335
8336 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8337
8338         * stor-layout.c (update_alignment_for_field): New function.
8339         (place_union_field): Use it.
8340         (place_field): Likewise.
8341
8342 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8343
8344         PR other/8077
8345         * gcc.c (cc1_options): Add space on -auxbase-strip.
8346
8347 2002-10-01  Jim Wilson  <wilson@redhat.com>
8348
8349         * config/v850/v850.h (EPILOGUE_USES): Define.
8350
8351 2002-09-30  Andrew Haley  <aph@redhat.com>
8352
8353         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8354         eliminate insns that may trap.
8355         * cse.c (insn_live_p): Likewise.
8356
8357 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8358
8359         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8360         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8361         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8362         * config/mips/mips.md: Apply same renaming here.
8363
8364 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8365
8366         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8367         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8368         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8369         * config/mips/mips.md (define_attr cpu): Remove r4320.
8370         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8371
8372 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8373
8374         * config/mips/mips.c (mips16_strings): New variable.
8375         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8376         symbol in mips16_strings.  Free the list.
8377         (mips_encode_section_info): Keep track of local strings.
8378
8379 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8380
8381         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8382         (sordered_df, sordered_sf): Remove.
8383         * config/mips/mips.c (get_float_compare_codes): New fn.
8384         (gen_int_relational, gen_conditional_move): Use it.
8385
8386 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8387
8388         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8389         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8390         * config/mips/mips.c (fcc_register_operand): New function.
8391         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8392         (override_options): Allow TFmode values in float registers
8393         if ISA_HAS_8CC.
8394         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8395         to fcc_register_operand.  Remove misleading source constraint.
8396         Use mips_emit_fcc_reload.
8397         (reload_outcc): Duplicate reload_incc.
8398
8399 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8400
8401         * gcc.c (validate_switches): Handle all new forms of spec
8402         syntax introduced recently.  Now returns a char *.
8403         (validate_all_switches): Repetitive logic broken out to...
8404         (validate_switches_from_spec): ...here.
8405         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8406
8407 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8408
8409         * longlong.h: Partially synchronize with GMP-4.1 version:
8410         Use i370 definitions also for s390.
8411         Add generic definition of umul_ppmm in terms of smul_ppmm.
8412         [s390] (umul_ppmm): Remove.
8413         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8414         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8415
8416 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8417
8418         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8419         Add new RL_REGS register class.
8420         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8421         Call xtensa_preferred_reload_class for both input and output reloads.
8422         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8423         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8424         instead of either AR_REGS or GR_REGS classes.
8425         (xtensa_secondary_reload_class): Use new RL_REGS class.
8426         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8427
8428 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8429
8430         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8431         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8432         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8433         there is a '*' prefix in NAME.
8434
8435 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8436
8437         * reload.c (push_reload): Handle subregs and secondary memory.
8438         * reload1.c (gen_reload): Likewise.
8439
8440         * jump.c (reg_or_subregno): New function.
8441         * rtl.h (reg_or_subregno): Declare
8442         * unroll.c (find_splittable_givs): Handle subregs.
8443
8444 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8445
8446         * store-layout.c (finish_record_layout): Add free_p parameter.
8447         (layout_type): Pass it.
8448         * tree.h (finish_record_layout): Update prototype.
8449
8450 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8451
8452         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8453
8454         * gcse.c (cprop_jump): Check that the register has not
8455         been modified
8456         (cprop_jump): Likewise.
8457
8458 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8459
8460         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8461         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8462         that we have a SImode access, and only then if reload hasn't completed;
8463         for all other cases, use LO_REGS.
8464
8465 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8466
8467         * openbsd.h: Fix typo in last change.
8468
8469 2002-09-29  Richard Henderson  <rth@redhat.com>
8470
8471         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8472
8473 2002-09-29  Richard Henderson  <rth@redhat.com>
8474
8475         PR c/8002
8476         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8477         for CONST_INT.
8478
8479 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8480
8481         * real.h (ibm_extended_format): Declare.
8482         * real.c (encode_ibm_extended, decode_ibm_extended): New
8483         functions.
8484
8485 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8486
8487         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8488
8489         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8490
8491 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8492
8493         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8494
8495 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8496
8497         * builtins.def: Fix comment formatting.
8498         * c-common.def: Likewise.
8499         * cfgcleanup.c: Likewise.
8500         * combine.c: Likewise.
8501         * gengtype.c: Likewise.
8502         * params.def: Likewise.
8503         * predict.def: Likewise.
8504         * rtl.def: Likewise.
8505         * stab.def: Likewise.
8506         * stor-layout.c: Likewise.
8507         * tree.def: Likewise.
8508         * config/darwin.c: Likewise.
8509         * config/darwin.h: Likewise.
8510         * config/dbxcoff.h: Likewise.
8511         * config/elfos.h: Likewise.
8512         * config/fp-bit.c: Likewise.
8513         * config/freebsd-spec.h: Likewise.
8514         * config/interix.h: Likewise.
8515         * config/libgloss.h: Likewise.
8516         * config/linux-aout.h: Likewise.
8517         * config/linux.h: Likewise.
8518         * config/lynx-ng.h: Likewise.
8519         * config/lynx.h: Likewise.
8520         * config/netbsd-aout.h: Likewise.
8521         * config/netbsd.h: Likewise.
8522         * config/netware.h: Likewise.
8523         * config/psos.h: Likewise.
8524         * config/ptx4.h: Likewise.
8525
8526 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8527
8528         * ChangeLog.4: Fix typos.
8529         * ChangeLog.6: Likewise.
8530         * FSFChangeLog.10: Likewise.
8531         * genattrtab.c: Fix comment typos.
8532         * haifa-sched.c: Likewise.
8533         * real.c: Likewise.
8534         * tree.h: Likewise.
8535         * config/arm/arm.c: Likewise.
8536         * config/arm/crti.asm: Likewise.
8537         * config/arm/crtn.asm: Likewise.
8538         * config/frv/frv.c: Likewise.
8539         * config/frv/frv.md: Likewise.
8540         * config/h8300/h8300.md: Likewise.
8541         * config/i386/rtemself.h: Likewise.
8542         * config/ia64/unwind-ia64.c: Likewise.
8543         * config/ip2k/ip2k.h: Likewise.
8544         * config/m88k/m88k.c: Likewise.
8545         * config/m88k/m88k.md: Likewise.
8546         * config/mips/sr71k.md: Likewise.
8547         * config/mmix/mmix.c: Likewise.
8548         * config/rs6000/rs6000.c: Likewise.
8549         * config/sh/sh.md: Likewise.
8550
8551 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8552
8553         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8554         * config/avr/avr.md: Ditto.
8555
8556 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8557
8558         PR preprocessor/8055
8559         * cppmacro.c (stringify_arg): Do not overflow the buffer
8560         with the terminating NUL when the argument to be stringified
8561         has no tokens.
8562
8563 2002-09-27  Richard Henderson  <rth@redhat.com>
8564
8565         * unroll.c (simplify_cmp_and_jump_insns): New.
8566         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8567         instead of expand_simple_foo.
8568
8569 2002-09-27  Richard Henderson  <rth@redhat.com>
8570
8571         PR optimization/7520
8572         * cfganal.c (flow_active_insn_p): New.
8573         (forwarder_block_p): Use it.
8574
8575 2002-09-27  Richard Henderson  <rth@redhat.com>
8576
8577         * emit-rtl.c (active_insn_p): Revert last change.
8578
8579 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8580
8581         * doc/extend.texi (tls_model): Document.
8582         * varasm.c (decl_tls_model): New.
8583         * c-common.c (handle_tls_model_attribute): New.
8584         (c_common_attribute_table): Add tls_model.
8585         * config/alpha/alpha.c (alpha_encode_section_info): Use
8586         decl_tls_model.
8587         * flags.h (enum tls_model, flag_tls_default): Move...
8588         * tree.h (enum tls_model, flag_tls_default): ...here.
8589         (decl_tls_model): New prototype.
8590         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8591         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8592         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8593         Allow !flag_pic.
8594
8595 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8596
8597         * LANGUAGES: Follow spelling conventions.
8598         * rtl.def: Likewise.
8599         * sbitmap.c: Likewise.
8600         * sched-int.h: Likewise.
8601         * sched-rgn.c: Likewise.
8602         * sibcall.c: Likewise.
8603         * simplify-rtx.c: Likewise.
8604         * ssa.c: Likewise.
8605         * stab.def: Likewise.
8606         * stmt.c: Likewise.
8607         * stor-layout.c: Likewise.
8608         * target.h: Likewise.
8609         * timevar.c: Likewise.
8610         * toplev.c: Likewise.
8611         * tree-dump.c: Likewise.
8612         * tree-inline.c: Likewise.
8613         * tree.c: Likewise.
8614         * tree.def: Likewise.
8615         * tree.h: Likewise.
8616         * unroll.c: Likewise.
8617         * varasm.c: Likewise.
8618         * vmsdbgout.c: Likewise.
8619         * treelang/treelang.texi: Likewise.
8620         * treelang/treetree.c: Likewise.
8621
8622 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8623
8624         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8625         instead of a hard register number.
8626         (get_shift_alg): Use an enumerated type instead of numbers.
8627         (h8300_shift_needs_scratch_p): Likewise.
8628
8629 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8630
8631         * varasm.c (force_data_section): Remove.
8632         (assemble_constant_align): Likewise.
8633         * output.h: Remove corresponding prototypes.
8634
8635 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8636
8637         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8638         jump, if the loop to exit is the top of the current nesting stack.
8639
8640 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8641
8642         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8643         arithmetic.
8644
8645 2002-09-26  David S. Miller  <davem@redhat.com>
8646
8647         PR optimization/7335
8648         * calls.c (emit_library_call_value_1): Passing args by reference
8649         converts a CONST function into a PURE one.
8650
8651 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8652
8653         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8654         text_section.
8655         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8656         text section.
8657         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8658         function-sections and data-sections functionality on AIX.
8659
8660 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8661             Dale Johannesen  <dalej@apple.com>
8662
8663         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8664         in RTL for sub-word loads from memory.
8665
8666 2002-09-26  Richard Henderson  <rth@redhat.com>
8667
8668         PR c/7160
8669         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8670         on call insns.
8671
8672 2002-09-26  Richard Henderson  <rth@redhat.com>
8673
8674         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8675
8676 2002-09-26  Chris Lattner  <sabre@nondot.org>
8677
8678         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8679         handling undefined values.
8680
8681 2002-09-26  Richard Henderson  <rth@redhat.com>
8682
8683         PR opt/7520
8684         * emit-rtl.c (active_insn_p): Consider a clobber of the
8685         function return value to be active even after reload.
8686
8687 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8688
8689         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8690         by absolute loop increment, not loop increment.
8691
8692 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8693
8694         * c-common.h: Follow spelling conventions.
8695         * cpplex.c: Likewise.
8696         * cpplib.h: Likewise.
8697         * gthr-dce.h: Likewise.
8698         * gthr-posix.h: Likewise.
8699         * optabs.c: Likewise.
8700         * output.h: Likewise.
8701         * profile.c: Likewise.
8702         * protoize.c: Likewise.
8703         * ra-rewrite.c: Likewise.
8704         * real.c: Likewise.
8705         * recog.c: Likewise.
8706         * reg-stack.c: Likewise.
8707         * regclass.c: Likewise.
8708         * regmove.c: Likewise.
8709         * reload.c: Likewise.
8710         * reload.h: Likewise.
8711         * reload1.c: Likewise.
8712         * reorg.c: Likewise.
8713         * resource.c: Likewise.
8714         * rtl.h: Likewise.
8715         * rtlanal.c: Likewise.
8716
8717 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8718
8719         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8720         for symbol address.
8721
8722 2002-09-24  Eric Christopher  <echristo@redhat.com>
8723
8724         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8725         * config/mips/elf64.h: Ditto.
8726
8727 2002-09-24  Eric Christopher  <echristo@redhat.com>
8728
8729         * except.c (expand_builtin_extract_return_address): Handle case
8730         where Pmode != ptr_mode.
8731
8732 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8733
8734         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8735
8736 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8737
8738         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8739
8740 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8741
8742         * combine.c (simplify_set): Don't call to force_to_mode if size
8743         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8744
8745 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8746
8747         * Makefile.in (qmtest-g++): Fix file path.
8748
8749 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8750
8751         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8752         A + (-const) on RTX level, even for unsigned types.
8753
8754 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8755
8756         * reload.c (dup_replacements): New function.
8757         (find_reloads): Use it to duplicate replacements at the top level
8758         of match_dup operands.
8759
8760 2002-09-26  Miles Bader  <miles@gnu.org>
8761
8762         * v850.md ("length"): Change default value to 4.
8763
8764 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8765
8766         * ChangeLog.1: Follow spelling conventions.
8767         * ChangeLog.4: Likewise.
8768         * ChangeLog.6: Likewise.
8769         * FSFChangeLog.11: Likewise.
8770         * doc/cpp.texi: Likewise.
8771         * doc/invoke.texi: Likewise.
8772         * doc/tm.texi: Likewise.
8773
8774 2002-09-26  Nick Clifton  <nickc@redhat.com>
8775
8776         * config.gcc: Add x prefix to v850e case for handling
8777         --with-cpu=v850e.
8778
8779 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8780
8781         * gcc.c (input_suffix_matches, switch_matches,
8782         mark_matching_switches, process_marked_switches,
8783         process_brace_body): New functions - split from handle_braces.
8784         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8785         and ignore whitespace in more places.
8786         (specs documentation comment): Document %{S:X;T:Y;:D}.
8787         Clarify other %{...} docs.
8788         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8789         %{...} docs.
8790
8791         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8792         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8793
8794 2002-09-25  David S. Miller  <davem@redhat.com>
8795
8796         PR target/7842
8797         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8798         extend.
8799
8800 2002-09-25  Richard Henderson  <rth@redhat.com>
8801
8802         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8803         fp CONST_DOUBLE; use real_identical.
8804
8805 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8806
8807         * doc/invoke.texi: Add more -Wabi examples.
8808
8809 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8810
8811         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8812
8813 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8814
8815         * profile.c (end_branch_prob): Only look for __gcov_init on
8816         weak-enabled native compilers.
8817
8818 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8819
8820         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8821         cases of optimizing "add sp,w" to "inc sp".
8822
8823 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8824
8825         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8826         epilogue for naked functions.
8827
8828 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8829             Nick Clifton  <nickc@redhat.com>
8830
8831         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8832         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8833         is defined.
8834
8835 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8836
8837         * config/s390/s390.c (preferred_la_operand_p): New function.
8838         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8839         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8840         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8841         ("*la_31"): Deactivate for TARGET_64BIT.
8842         ("*la_31_and", "*la_31_and_cc"): New.
8843
8844 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8845
8846         * real.h (real_value): Make `exp' explicitly signed.
8847
8848 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8849
8850         * config/elfos.h: Follow spelling conventions.
8851         * config/alpha/alpha.h: Likewise.
8852         * config/arc/arc.h: Likewise.
8853         * config/arm/arm.md: Likewise.
8854         * config/avr/avr.h: Likewise.
8855         * config/cris/cris.md: Likewise.
8856         * config/d30v/d30v.h: Likewise.
8857         * config/frv/frv.c: Likewise.
8858         * config/frv/frv.h: Likewise.
8859         * config/h8300/h8300.c: Likewise.
8860         * config/h8300/h8300.h: Likewise.
8861         * config/h8300/h8300.md: Likewise.
8862         * config/i386/cygwin.h: Likewise.
8863         * config/i386/i386.h: Likewise.
8864         * config/i386/sysv3.h: Likewise.
8865         * config/i960/i960.h: Likewise.
8866         * config/ia64/ia64.h: Likewise.
8867         * config/ia64/ia64.md: Likewise.
8868         * config/ip2k/ip2k.h: Likewise.
8869         * config/m32r/m32r.h: Likewise.
8870         * config/m68k/m68k.h: Likewise.
8871         * config/m88k/m88k.h: Likewise.
8872         * config/mcore/mcore.c: Likewise.
8873         * config/mcore/mcore.h: Likewise.
8874         * config/mcore/mcore.md: Likewise.
8875         * config/mips/mips.h: Likewise.
8876         * config/mmix/mmix.h: Likewise.
8877         * config/mmix/mmix.md: Likewise.
8878         * config/ns32k/netbsd.h: Likewise.
8879         * config/ns32k/ns32k.h: Likewise.
8880         * config/ns32k/ns32k.md: Likewise.
8881         * config/pa/pa.h: Likewise.
8882         * config/romp/romp.h: Likewise.
8883         * config/rs6000/rs6000.h: Likewise.
8884         * config/rs6000/rs6000.md: Likewise.
8885         * config/sparc/sparc.h: Likewise.
8886         * config/stormy16/stormy-abi: Likewise.
8887         * config/stormy16/stormy16.h: Likewise.
8888         * config/vax/vax.h: Likewise.
8889
8890 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8891
8892         * config/alpha/alpha.h: Remove commented-out macro
8893         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8894         * config/avr/avr.h: Likewise.
8895         * config/d30v/d30v.h: Likewise.
8896         * config/dsp16xx/dsp16xx.h: Likewise.
8897         * config/i370/i370.h: Likewise.
8898         * config/i386/i386.h: Likewise.
8899         * config/i960/i960.h: Likewise.
8900         * config/m68k/m68k.h: Likewise.
8901         * config/m88k/m88k.h: Likewise.
8902         * config/mips/mips.h: Likewise.
8903         * config/ns32k/ns32k.h: Likewise.
8904         * config/pdp11/pdp11.h: Likewise.
8905         * config/romp/romp.h: Likewise.
8906         * config/rs6000/rs6000.h: Likewise.
8907         * config/s390/s390.h: Likewise.
8908         * config/sh/sh.h: Likewise.
8909         * config/sparc/sparc.h: Likewise.
8910         * config/stormy16/stormy16.h: Likewise.
8911         * config/vax/vax.h: Likewise.
8912
8913 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8914
8915         * function.c (push_temp_slots_for_block): Remove.
8916         (push_temp_slots_for_target): Likewise.
8917         (get_target_temp_slot_level): Likewise.
8918         (set_target_temp_slot_level): Likewise.
8919         (get_first_block_beg): Likewise.
8920         * function.h: Remove corresponding prototypes.
8921
8922 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8923
8924         * version.c (version_string): Now const char[].
8925         * version.h: Update to match.
8926
8927 2002-09-23  Richard Henderson  <rth@redhat.com>
8928
8929         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8930         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8931         (TARGET_SWITCHES): Don't reference them.
8932         * config/i386/i386.c (override_options): Use target_flags_explicit
8933         to examine bits set by the user.
8934
8935 2002-09-23  Dale Johannesen  <dalej@apple.com>
8936
8937         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8938         passed on stack by invisible reference.
8939
8940 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8941
8942         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8943         at least one byte of space.
8944
8945 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8946
8947         * c-common.h (flag_abi_version): Fix typo in comment.
8948         * doc/invoke.texi (flag_abi_version): Document default value.
8949
8950 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8951
8952         * doc/extend.texi (Extended Asm): Clarify that overlap between
8953         asm-declared register variables used in an asm and the asm clobber
8954         list is not allowed.
8955         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8956         (expand_asm_operands): Keep track of clobbered registers.  Call
8957         decl_conflicts_with_clobbers_p for each input and output operand.
8958         If no conflicts found before, also do conflict sanity check when
8959         emitting clobbers.
8960
8961 2002-09-23  Richard Henderson  <rth@redhat.com>
8962
8963         * c-common.c (cpp_define_data_format): Remove.
8964         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8965         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8966         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8967         * doc/cpp.texi: Don't document them either.
8968         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8969         __LONG_LONG_MAX__): Document.
8970         (__TARGET_FLOAT_FORMAT__): Remove.
8971
8972 2002-09-23  Richard Henderson  <rth@redhat.com>
8973
8974         * real.c (do_multiply): Normalize U before addition.
8975
8976 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8977
8978         * c-common.c (flag_abi_version): New variable.
8979         * c-common.h (flag_abi_version): Declare it.
8980         * c-opts.c (missing_arg): Add -fabi-version.
8981         (c_common_decode_option): Process -fabi-version.
8982         * doc/invoke.texi (-fabi-version): Document it.
8983         (-Wabi): Add information about bit-fields in unions.
8984
8985 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8986
8987         * expr.c (STORE_BY_PIECES_P): New target macro.
8988         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8989         instead of MOVE_BY_PIECES_P.
8990         * doc/tm.texi: Document this new macro.
8991
8992 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8993
8994         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8995         unless -fno-pic or -fno-PIC is specified.
8996
8997 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8998
8999         * c-common.c (preprocessing_trad_p): Define.
9000         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
9001         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
9002         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9003         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
9004         * pa-linux.h (CPP_PREDEFINES): Delete.
9005         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
9006         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
9007         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
9008         (TARGET_OS_CPP_BUILTINS): Define.
9009         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
9010         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
9011         (SUBTARGET_SWITCHES): Provide default definition.
9012         (TARGET_OPTIONS): Reformat.  Use N_() macro.
9013         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
9014         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
9015         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
9016         (TARGET_CPU_CPP_BUILTINS): Define.
9017         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
9018         * doc/invoke.texi (msio, mwsio): Document new hppa options.
9019         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
9020         preprocessing_trad_p().
9021
9022 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
9023
9024         * doc/install.texi: Document behavior of --with-headers and
9025         --with-libs when arguments are omitted.
9026
9027 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9028
9029         * dbxout.c: Follow spelling conventions.
9030         * defaults.h: Likewise.
9031         * df.c: Likewise.
9032         * diagnostic.h: Likewise.
9033         * doloop.c: Likewise.
9034         * dwarf2out.c: Likewise.
9035         * dwarfout.c: Likewise.
9036         * emit-rtl.c: Likewise.
9037         * except.c: Likewise.
9038         * explow.c: Likewise.
9039         * expmed.c: Likewise.
9040         * expr.c: Likewise.
9041         * expr.h: Likewise.
9042         * flags.h: Likewise.
9043         * flow.c: Likewise.
9044         * fold-const.c: Likewise.
9045         * function.c: Likewise.
9046         * function.h: Likewise.
9047         * gcc.c: Likewise.
9048         * gcov-io.h: Likewise.
9049         * gcov.c: Likewise.
9050         * gcse.c: Likewise.
9051         * genattrtab.c: Likewise.
9052         * genconfig.c: Likewise.
9053         * genrecog.c: Likewise.
9054         * ggc-page.c: Likewise.
9055         * ggc.h: Likewise.
9056         * global.c: Likewise.
9057         * gthr-win32.h: Likewise.
9058         * integrate.c: Likewise.
9059         * jump.c: Likewise.
9060         * langhooks.c: Likewise.
9061         * langhooks.h: Likewise.
9062         * line-map.h: Likewise.
9063         * local-alloc.c: Likewise.
9064         * longlong.h: Likewise.
9065         * loop.c: Likewise.
9066         * loop.h: Likewise.
9067
9068 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9069
9070         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9071
9072 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9073
9074         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9075         for -Os/TARGET_64BIT too.
9076
9077 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9078
9079         * ChangeLog: Follow spelling conventions.
9080         * ChangeLog.0: Likewise.
9081         * ChangeLog.1: Likewise.
9082         * ChangeLog.2: Likewise.
9083         * ChangeLog.3: Likewise.
9084         * ChangeLog.4: Likewise.
9085         * ChangeLog.5: Likewise.
9086         * ChangeLog.6: Likewise.
9087         * FSFChangeLog.10: Likewise.
9088         * FSFChangeLog.11: Likewise.
9089         * alias.c: Likewise.
9090         * basic-block.h: Likewise.
9091         * c-aux-info.c: Likewise.
9092         * c-common.c: Likewise.
9093         * c-common.h: Likewise.
9094         * c-decl.c: Likewise.
9095         * c-format.c: Likewise.
9096         * c-semantics.c: Likewise.
9097         * c-typeck.c: Likewise.
9098         * calls.c: Likewise.
9099         * cfganal.c: Likewise.
9100         * cfgloop.c: Likewise.
9101         * collect2.c: Likewise.
9102         * combine.c: Likewise.
9103         * conflict.c: Likewise.
9104         * cppexp.c: Likewise.
9105         * cppfiles.c: Likewise.
9106         * cpphash.h: Likewise.
9107         * cppinit.c: Likewise.
9108         * cpplex.c: Likewise.
9109         * cpplib.c: Likewise.
9110         * cpplib.h: Likewise.
9111         * cppmacro.c: Likewise.
9112         * cse.c: Likewise.
9113
9114 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9115
9116         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9117         LINK_SPEC.
9118         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9119         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9120         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9121
9122 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9123
9124         PR opt/7930
9125         * cse.c (fold_rtx): Calculate old_cost before we fold each
9126         operand.
9127
9128 2002-09-21  Richard Henderson  <rth@redhat.com>
9129
9130         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9131         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9132         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9133         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9134         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9135         * doc/cpp.texi: Don't document them.
9136
9137 2002-09-21  Richard Henderson  <rth@redhat.com>
9138
9139         * c-common.c (builtin_define_float_constants): Use real_format
9140         to get the floating-point parameters.
9141
9142 2002-09-21  Richard Henderson  <rth@redhat.com>
9143
9144         * real.c (struct real_format): Move to real.h.
9145         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9146         initialize with ieee defaults.
9147         (real_to_target_fmt, real_from_target_fmt): New.
9148         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9149         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9150         ieee_quad_format, i370_single_format, i370_double_format,
9151         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9152         (ieee_quad_format): Fix emin.
9153         (format_for_size, init_real_once): Remove.
9154         * real.h (struct real_format): Move from real.c.
9155         (real_format_for_mode): Declare.
9156         (real_to_target_fmt, real_from_target_fmt): Declare.
9157         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9158         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9159         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9160         i370_single_format, i370_double_format, c4x_single_format,
9161         c4x_extended_format): Declare.
9162         * toplev.c (do_compile): Don't call init_real_once.
9163
9164         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9165         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9166
9167         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9168         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9169         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9170         for VAX, if enabled.
9171
9172         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9173         for C4X.
9174
9175         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9176         * config/i370/i370.c (override_options): New.
9177         * config/i370/i370-protos.h: Update.
9178
9179         * config/i386/i386.c (override_options): Set real_format_for_mode
9180         for Intel 80-bit extended.
9181         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9182
9183         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9184         (OVERRIDE_OPTIONS): Move code...
9185         * config/i960/i960.c (i960_initialize): ... here.  Set
9186         real_format_for_mode for Intel 80-bit extended.
9187
9188         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9189         for Intel 80-bit extended, if enabled.
9190
9191         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9192         for Motorola 96-bit extended.
9193
9194         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9195         * config/vax/vax.c (override_options): New.
9196         * config/vax/vax-protos.h: Update.
9197
9198 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9199
9200         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9201         #if TARGET_MACHO.
9202
9203         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9204         insns.  Supply missing clobber of scratch reg.
9205
9206 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9207
9208         * config/m32r/m32r.c: Follow spelling conventions.
9209         * config/m32r/m32r.h: Likewise.
9210         * config/m32r/m32r.md: Likewise.
9211         * config/m68k/m68k.c: Likewise.
9212         * config/m88k/m88k.c: Likewise.
9213         * config/mcore/mcore.c: Likewise.
9214         * config/mips/mips.c: Likewise.
9215         * config/mips/mips.h: Likewise.
9216         * config/mmix/mmix.c: Likewise.
9217         * config/mn10200/mn10200.c: Likewise.
9218         * config/ns32k/ns32k.h: Likewise.
9219         * config/pa/pa.c: Likewise.
9220         * config/pa/pa64-linux.h: Likewise.
9221         * config/pdp11/pdp11.h: Likewise.
9222         * config/romp/romp.c: Likewise.
9223         * config/romp/romp.h: Likewise.
9224         * config/rs6000/eabi.asm: Likewise.
9225         * config/rs6000/linux64.h: Likewise.
9226         * config/rs6000/rs6000.c: Likewise.
9227         * config/rs6000/rs6000.h: Likewise.
9228         * config/rs6000/rs6000.md: Likewise.
9229         * config/rs6000/sysv4.h: Likewise.
9230         * config/rs6000/xcoff.h: Likewise.
9231
9232 2002-09-20  Jim Wilson  <wilson@redhat.com>
9233
9234         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9235
9236 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9237
9238         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9239         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9240         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9241         (legitimate_address_p): Likewise.
9242         (legitimize_address): Use @gotntpoff and @indntpoff.
9243         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9244         (output_addr_const_extra): Likewise.
9245
9246 2002-09-20  Jim Wilson  <wilson@redhat.com>
9247
9248         * combine.c (try_combine): When split an instruction pair, where the
9249         first has a sign_extend src, verify that the src and dest modes match.
9250
9251 2002-09-20  Richard Henderson  <rth@redhat.com>
9252
9253         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9254         (override_options): Do not initialize them.
9255         (mips_const_double_ok): Allow no fp constants except zero,
9256         and not even that for mips16.
9257         (const_float_1_operand): Use dconst1.
9258         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9259         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9260         Don't allow arbitrary constants; fix predicates and C constraint.
9261
9262 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9263
9264         * cppmacro.c: Don't warn about function-like macros without
9265         '(' during pre-expansion.
9266
9267 2002-09-20  Jim Wilson  <wilson@redhat.com>
9268
9269         * config/v850/v850.c (current_function_anonymous_args): Delete.
9270         (expand_prologue): Use current_function_args_info.anonymous_args.
9271         (expand_epilogue): Delete use of current_function_anonymous_args.
9272         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9273         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9274         (current_function_anonymous_args): Delete extern declaration.
9275         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9276
9277 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9278
9279         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9280         to load_macho_picbase.
9281         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9282         (load_macho_picbase): Take the symbol to use as a parameter.
9283         (macho_correct_pic): New insn.
9284         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9285
9286         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9287         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9288         (CAN_ELIMINATE): Likewise.
9289         (INITIAL_ELIMINATION_OFFSET): Likewise.
9290         (TOC_REGISTER): Likewise.
9291
9292 2002-09-20  Richard Henderson  <rth@redhat.com>
9293
9294         * real.c (real_hash): New.
9295         * real.h: Declare it.
9296         * cse.c (canon_hash): Use it.
9297         * cselib.c (hash_rtx): Likewise.
9298         * emit-rtl.c (const_double_htab_hash): Likewise.
9299         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9300         * varasm.c (struct rtx_const): Reduce vector size; separate
9301         integer and fp vectors.
9302         (HASHBITS): Remove.
9303         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9304         take modulus MAX_HASH_TABLE.
9305         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9306         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9307         (SYMHASH): Don't use HASHBITS.
9308         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9309         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9310         (simplify_subtraction): Fix kind comparison.
9311         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9312         Use a union to pun integer array.
9313         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9314         only hash two words of integral CONST_DOUBLE.
9315
9316 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9317
9318         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9319         (STARTFILE_PREFIX_SPEC): New.
9320         (LINK_SPEC): Modify.
9321         (LIB_SPEC): Modify.
9322         (LIBGCC_SPEC): New.
9323
9324 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9325
9326         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9327         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9328
9329 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9330
9331         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9332         Add clobber of the condition code register.
9333
9334 2002-09-20  Richard Henderson  <rth@redhat.com>
9335
9336         * real.c (do_fix_trunc): Static.
9337         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9338         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9339         encode_i370_single, encode_i370_double, encode_c4x_single,
9340         encode_c4x_extended): Add default abort case.
9341
9342 2002-09-20  Richard Henderson  <rth@redhat.com>
9343
9344         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9345         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9346         (struct realvaluetype): Remove.
9347         (REAL_VALUE_TYPE): Use struct real_value.
9348         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9349         (test_real_width): New.
9350         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9351         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9352         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9353         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9354         real_to_integer, real_to_integer2, real_to_decimal,
9355         real_to_hexadecimal, real_from_string, real_from_integer,
9356         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9357         real_from_target): Likewise.
9358         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9359         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9360
9361 2002-09-20  Richard Henderson  <rth@redhat.com>
9362
9363         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9364         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9365         * defaults.h: ... here.
9366         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9367         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9368         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9369         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9370
9371 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9372
9373         * config/mmix/mmix.md ("negdf2"): Rewrite.
9374         ("*expanded_negdf2"): New.
9375
9376 2002-09-19  Jim Wilson  <wilson@redhat.com>
9377
9378         * combine.c (simplify_set): When optimizing a subreg src with a
9379         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9380
9381 2002-09-19  Dale Johannesen <dalej@apple.com>
9382         * combine.c (make_extraction): Don't create
9383         invalid subreg.
9384
9385 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9386
9387         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9388         * tree.h (integer_nonzerop): Add function prototype.
9389         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9390         are no instructions in the test, i.e. the loop is unconditional.
9391         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9392         tests when the condition is always true or always false.
9393         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9394         do-loops when the condition is always true.
9395         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9396         the for-expression is empty.
9397
9398 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9399
9400         * gcc.c (use_pipes): New flag.
9401         (process_command): Set it.  Adjust check for -pipe conflicting
9402         with -time or -save-temps.
9403         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9404         %<SWITCH.  Drop %| (without a SUFFIX).
9405         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9406         (give_switch): Third argument eliminated.
9407         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9408         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9409         (specs documentation comment): Update.
9410
9411         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9412         config/svr4.h, config/i386/freebsd-aout.h,
9413         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9414         config/m68k/openbsd.h, config/mips/openbsd.h,
9415         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9416         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9417         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9418         * config/cris/cris.h: Update comment.
9419
9420         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9421         error messages.  Don't use %{^SWITCH}.
9422         * ada/misc.c (gnat_decode_option): Handle -I with a
9423         separate argument.
9424
9425         * f/lang-specs.h: Use %| and %m.
9426         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9427         uses of %{<SWITCH} to %<SWITCH.
9428
9429         * doc/invoke.texi: Update documentation of specs.
9430         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9431
9432 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9433
9434         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9435         and STRICT_LOW_PART within SET_DEST.
9436         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9437         splitters, replacing pre-reload splitters.
9438         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9439         "*zero_extendqihi2_31"): New insns.
9440         ("*zero_extendqihi2_64"): Do not clobber CC.
9441
9442 2002-09-18  Devang Patel  <dpatel@apple.com>
9443
9444         * cp/cp-tree.h: New prototype for walk_vtables().
9445         * cp/decl.c (walk_vtables_r): New function.
9446         (struct cp_binding_level): Add new members, namespaces,
9447         names_size and vtables.
9448         (add_decl_to_level): Add decl in namespaces or vtables
9449         chain, if conditions match.
9450         (walk_vtables): New function.
9451         (walk_namespaces_r): Travers separate namespace chain
9452         for namespace decls.
9453         (wrapup_globals_for_namespace): Use names_size instead
9454         of list_length().
9455         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9456         walk_globals() to walk vtable decls.
9457
9458 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9459
9460         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9461         (DTORS_SECTION_ASM_OP): Ditto.
9462         (READONLY_DATA_SECTION_ASM_OP): Moved.
9463         (DATA_SECTION_ASM_OP): New.
9464         (SDATA_SECTION_ASM_OP): New.
9465         (BSS_SECTION_ASM_OP): New.
9466         (SBSS_SECTION_ASM_OP): New.
9467         (TEXT_SECTION_ASM_OP): New.
9468
9469 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9470
9471         * config/fp-bit.c: Follow spelling conventions.
9472         * config/d30v/d30v.c: Likewise.
9473         * config/d30v/d30v.h: Likewise.
9474         * config/fr30/fr30.c: Likewise.
9475         * config/fr30/fr30.h: Likewise.
9476         * config/fr30/fr30.md: Likewise.
9477         * config/frv/frv.c: Likewise.
9478         * config/frv/frv.h: Likewise.
9479         * config/h8300/h8300.c: Likewise.
9480         * config/h8300/lib1funcs.asm: Likewise.
9481         * config/i370/i370.c: Likewise.
9482         * config/i386/i386.h: Likewise.
9483         * config/i386/i386.md: Likewise.
9484         * config/i386/pentium.md: Likewise.
9485         * config/i386/winnt.c: Likewise.
9486         * config/i960/i960.c: Likewise.
9487         * config/ia64/ia64.h: Likewise.
9488         * config/ip2k/ip2k.c: Likewise.
9489         * config/ip2k/ip2k.h: Likewise.
9490         * config/ip2k/ip2k.md: Likewise.
9491         * config/ip2k/libgcc.S: Likewise.
9492
9493 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9494
9495         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9496         (GOTOFF_P): Extend to allow gotoff plus constant.
9497
9498 2002-09-18  Richard Henderson  <rth@redhat.com>
9499
9500         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9501         with INSN_B before COND_EARLIEST.  Don't check A and B for
9502         modification in condition range.  Reorder INSN_B for A==B properly.
9503         (if_convert): Iterate until no matches for a block.
9504
9505 2002-09-18  Richard Henderson  <rth@redhat.com>
9506
9507         * calls.c (store_one_arg): Rename default_align to parm_align;
9508         always adjust parm_align for downward padding.
9509
9510 2002-09-18  Richard Henderson  <rth@redhat.com>
9511
9512         * toplev.c (backend_init): Move init_real_once invocation ...
9513         (do_compile): ... here.
9514
9515 2002-09-18  Richard Henderson  <rth@redhat.com>
9516
9517         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9518         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9519
9520 2002-09-18  Richard Henderson  <rth@redhat.com>
9521
9522         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9523
9524 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9525
9526         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9527         floatdisf2_internal1.
9528         (floatdisf2): New define_expand.
9529         (floatdisf2_internal2): Likewise.
9530
9531 2002-09-18  Richard Henderson  <rth@redhat.com>
9532
9533         * real.c (sticky_rshift_significand): Collect sticky as
9534         unsigned long, not bool.
9535
9536 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9537
9538         * config/s390/s390.c (s390_address_cost): New function.
9539         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9540         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9541         (RTX_COST): Use COSTS_N_INSNS.
9542
9543 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9544             Donn Terry  <donnte@microsoft.com>
9545
9546         * stor-layout.c (place_field): Handle alignment of whole
9547         structures when MSVC compatible bitfields are involved.
9548         Change method of computing location of MS bitfields to
9549         be compatible with #pragma pack(n).
9550
9551         * tree.h (record_layout_info): Add new field
9552         remaining_in_alignment.
9553
9554         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9555         (pragma pack): Add paragraph on MSVC bitfield packing.
9556
9557 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9558
9559         PR optimization/7967
9560         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9561         register.
9562
9563 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9564
9565         * config/s390/s390.c: Follow spelling conventions.
9566         * config/sh/lib1funcs.asm: Likewise.
9567         * config/sh/sh.c: Likewise.
9568         * config/sh/sh.h: Likewise.
9569         * config/sparc/sparc.c: Likewise.
9570         * config/sparc/sparc.h: Likewise.
9571         * config/sparc/sparc.md: Likewise.
9572         * config/stormy16/stormy16.c: Likewise.
9573         * config/stormy16/stormy16.h: Likewise.
9574         * config/v850/v850.c: Likewise.
9575         * config/v850/v850.h: Likewise.
9576         * config/vax/vax.c: Likewise.
9577         * config/vax/vax.h: Likewise.
9578
9579 2002-09-18  Nick Clifton  <nickc@redhat.com>
9580
9581         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9582         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9583         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9584
9585 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9586
9587         * function.c (max_parm_reg_num): Remove.
9588         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9589         drop_through_at_end_p, move_cleanups_up,
9590         expand_end_case_dummy, case_index_expr_type): Likewise.
9591         * stor-layout.c (pos_from_byte): Likewise.
9592         * tree.c (chain_member_value, chain_member_purpose, listify,
9593         tree_int_cst_msb, index_type_equal): Likewise.
9594         * tree.h: Remove prototypes for unused functions.
9595
9596 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9597
9598         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9599         statement that the only translation is to en_UK.
9600
9601 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9602
9603         * config/alpha/alpha.c: Follow spelling conventions.
9604         * config/alpha/alpha.h: Likewise.
9605         * config/alpha/alpha.md: Likewise.
9606         * config/arc/arc.h: Likewise.
9607         * config/arm/arm.c: Likewise.
9608         * config/arm/arm.h: Likewise.
9609         * config/arm/arm.md: Likewise.
9610         * config/arm/pe.c: Likewise.
9611         * config/arm/unknown-elf.h: Likewise.
9612         * config/avr/avr.c: Likewise.
9613         * config/avr/avr.h: Likewise.
9614         * config/c4x/c4x.c: Likewise.
9615         * config/cris/cris.c: Likewise.
9616         * config/cris/cris.h: Likewise.
9617
9618 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9619
9620         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9621         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9622         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9623
9624 2002-09-17  Dale Johannesen  <dalej@apple.com>
9625
9626         * cfgcleanup.c (try_forward_edges):  Do not forward a
9627         branch to just after a loop exit before loop optimization;
9628         this interfered with doloop detection.
9629
9630 2002-09-17  Nick Clifton  <nickc@redhat.com>
9631
9632         * config/arm/arm.c (output_return_instruction): Do not
9633         writeback the stack pointer when it is being loaded.
9634         (arm_output_epilogue): Likewise.
9635
9636 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9637
9638         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9639         generate a pseudo reg that receives the result of a libcall.
9640         (prepare_float_lib_cmp): Likewise.
9641
9642 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9643
9644         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9645
9646 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9647
9648         Fix PR/7014 and related objc bugs:
9649         * c-typeck.c (comp_target_types): Added a reflexive argument.
9650         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9651         callers to provide the appropriate reflexive argument.
9652         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9653         typechecking for all cases of comparisons and assignments,
9654         particularly the obscure and less common ones involving protocols.
9655
9656 2002-09-17  Nick Clifton  <nickc@redhat.com>
9657
9658         * machmode.def (V1DImode): New mode.  A single element vector.
9659         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9660         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9661         * tree.c (build_common_tree_nodes_2): Build
9662         unsigned_V1DI_type_node and V1D1_type_node.
9663         * c-common.c (c_common_type_for_mode): Return
9664         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9665         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9666
9667 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9668
9669         * doc/objc.texi (Constant string objects): Extended documentation
9670         to make clear that the constant string class ivar layout is
9671         completely fixed.
9672
9673 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9674
9675         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9676         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9677
9678 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9679
9680         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9681         * gcc.c (make_relative_prefix): Likewise.
9682         * loop.c (check_final_value): Likewise.
9683         * jump.c (init_label_info): Remove return value.
9684         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9685
9686 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9687
9688         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9689         (ASM_PN_FORMAT): Define.
9690
9691 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9692
9693         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9694         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9695         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9696         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9697         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9698         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9699         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9700         Delete.
9701         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9702         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9703         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9704
9705         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9706         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9707
9708 2002-09-16  Richard Henderson  <rth@redhat.com>
9709
9710         * expr.c (emit_block_move): Set memory block size as appropriate
9711         for the copy.
9712
9713 2002-09-16  Richard Henderson  <rth@redhat.com>
9714
9715         PR fortran/3924
9716         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9717
9718 2002-09-16  Richard Henderson  <rth@redhat.com>
9719
9720         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9721         as well as OFFSET for BITPOS.
9722
9723 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9724
9725         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9726         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9727         winchip2 and c3.
9728         * doc/invoke.texi: Mention new aliases.
9729
9730 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9731
9732         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9733         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9734         downward.
9735         * function.c (pad_below):  Always compile.
9736         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9737         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9738         Pad below when the argument is not in a register and the padding
9739         direction is downward.
9740
9741         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9742         (PAD_VARARGS_DOWN): Define.
9743         * pa.c (function_arg_padding): Revise padding directions to make them
9744         compatible with the 32 and 64-bit runtime architecture documentation.
9745         (hppa_va_arg):  Add code to handle variable and size zero arguments
9746         passed by reference on TARGET_64BIT.  Reformat.
9747         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9748         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9749         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9750         Add comments.
9751         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9752         (RETURN_IN_MEMORY): Return size zero types in memory.
9753         (FUNCTION_VALUE): Return TFmode in general registers.
9754         (MUST_PASS_IN_STACK): Define.
9755         (FUNCTION_ARG_BOUNDARY): Simplify.
9756         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9757         by reference.
9758         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9759
9760 2002-09-16  Richard Henderson  <rth@redhat.com>
9761
9762         * real.c (do_fix_trunc): New.
9763         (real_arithmetic): Call it.
9764         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9765         with a floating-point result mode.
9766
9767 2002-09-16  Richard Henderson  <rth@redhat.com>
9768
9769         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9770         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9771         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9772         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9773         * builtins.c (fold_builtin_nan): New.
9774         (fold_builtin): Call it.
9775         * real.c (real_nan): Parse a non-empty string.
9776         (round_for_format): Fix NaN significand truncation.
9777         * real.h (real_nan): Return bool.
9778         * doc/extend.texi: Document new builtins.
9779
9780 2002-09-16  Jason Merrill  <jason@redhat.com>
9781             Danny Smith  <dannysmith@users.sourceforge.net>
9782
9783         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9784         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9785         (i386_pe_mark_dllimport): Not here.
9786
9787 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9788
9789         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9790
9791 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9792
9793         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9794         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9795         < 64.
9796         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9797
9798 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9799
9800         * calls.c (emit_library_call_value_1): Don't refer to
9801         hard_libcall_value.
9802         * optabs.c (prepare_float_lib_cmp): Likewise.
9803
9804 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9805
9806         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9807         mangling.
9808
9809         The following changes are merged from pch-branch:
9810
9811         * doc/gty.texi (GTY Options): Document %a.
9812         * gengtype.c (do_scalar_typedef): New function.
9813         (process_gc_options): Handle `length' option.
9814         (set_gc_used_type): A pointer to an array of structures doesn't
9815         qualify as a pointer to a structure.
9816         (output_escaped_param): Add `%a' escape.
9817         (write_gc_structure_fields): Allow 'desc' on array of unions.
9818         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9819         do_scalar_typedef.
9820
9821         * gengtype.c (enum rtx_code): Make global.
9822         (rtx_format): Make global.
9823         (rtx_next): New.
9824         (gen_rtx_next): New.
9825         (write_rtx_next): New.
9826         (adjust_field_rtx_def): Skip fields marked by chain_next.
9827         (open_base_files): Delete redundant prototype.
9828         (write_enum_defn): New.
9829         (output_mangled_typename): Correct abort call.
9830         (write_gc_marker_routine_for_structure): Handle chain_next and
9831         chain_prev options.
9832         (finish_root_table): Don't output redundant \n.
9833         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9834         * c-tree.h (union lang_tree_node): Add chain_next option.
9835
9836         * gengtype.h (NUM_PARAM): New definition.
9837         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9838         * gengtype.c (find_param_structure): New.
9839         (adjust_field_type): Handle param<n>_is option.
9840         (process_gc_options): Detect use_params option.  Update callers.
9841         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9842         'use_params' option.
9843         (open_base_files): Add splay-tree.h to list of files included.
9844         (output_mangled_typename): New.
9845         (write_gc_structure_fields): Update 'param' parameter to support
9846         multiple parameters.  Change name mangling.  Allow parameterized
9847         fields to have an apparent scalar type.  Handle param<n>_is options,
9848         use_param option.
9849         (write_gc_marker_routine_for_structure): Update for change to name
9850         mangling.  Better guess the output file for parameterized types.
9851         (write_gc_types): Update for change to name mangling.
9852         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9853         param<n>_is options.
9854         * doc/gty.texi (GTY Options): Add description of param<n>_is
9855         options, use_params option.
9856         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9857         * gengtype-lex.l: Produce token for param<n>_is.
9858         * gengtype-yacc.y: Parse param<n>_is.
9859
9860         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9861
9862         * rtl.c: Update comment describing rtx_format.
9863         * rtl.h (union rtunion): Separate definition and typedef.
9864         (struct rtx_def): Use gengtype to mark.
9865         * Makefile.in (gengtype.o): Also depend on rtl.def.
9866         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9867         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9868         * ggc-common.c (ggc_mark_rtx_children): Delete.
9869         (ggc_mark_rtx_children_1): Delete.
9870         (gt_ggc_m_rtx_def): Delete.
9871         * gengtype.c (adjust_field_rtx_def): New.
9872         (adjust_field_type): Call adjust_field_rtx_def.
9873         (write_gc_structure_fields): Add 'default' case to switch if none
9874         is specified; remove unused code.
9875
9876         * tree.h (struct tree_exp): Update for change to meaning
9877         of special.
9878         * gengtype.c (adjust_field_tree_exp): New function.
9879         (adjust_field_type): Handle `tree_exp' special here.
9880         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9881         Handle new `dot' option.
9882
9883         * gengtype.h: Make `info' a pointer-to-const.
9884         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9885
9886         * gengtype.c (write_gc_structure_fields): Remove implementation
9887         of `always' option, add `default' option.
9888         * doc/gty.texi (GTY Options): Remove documentation of `always',
9889         add `default'.
9890
9891 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9892
9893         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9894
9895 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9896
9897         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9898
9899         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9900         instead of the *-protos.h file directly.
9901         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9902         * darwin.c (machopic_output_stub): Move prototype ...
9903         * darwin-protos.h (machopic_output_stub): ... here.
9904         * rs6000-protos.h (machopic_output_stub): Don't declare.
9905
9906 2002-09-16  Richard Henderson  <rth@redhat.com>
9907
9908         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9909
9910 2002-09-16  Richard Henderson  <rth@redhat.com>
9911
9912         * real.c, real.h: Rewrite from scratch.
9913
9914         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9915         (paranoia): New target.
9916         * builtins.c (fold_builtin_inf): Use new real.h interface.
9917         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9918         * c-lex.c (interpret_float): Likewise.
9919         * emit-rtl.c (gen_lowpart_common): Likewise.
9920         * optabs.c (expand_float): Use real_2expN.
9921         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9922         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9923         (FLOAT_WORDS_BIG_ENDIAN): New.
9924         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9925         directly to REAL_VALUE_NEGATIVE.
9926         * loop.c (canonicalize_condition): Likewise.
9927         * simplify-rtx.c: Include tree.h.
9928         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9929         with floating-point result modes.
9930         * toplev.c (backend_init): Call init_real_once.
9931
9932         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9933         * tree.c (build_real): Likewise.
9934         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9935         float_values, inited_float_values, check_float_value): Remove.
9936         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9937         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9938         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9939         (VAX_HALFWORD_ORDER): Remove.
9940
9941 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9942
9943         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9944         (s390_load_address): ... this new function.
9945         (s390_decompose_address): Allow the argument pointer and all
9946         virtual registers as 'pointer' registers.
9947         (s390_expand_plus_operand): Use s390_load_address.
9948         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9949         ("force_la_31"): New insn pattern.
9950         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9951         (s390_load_address): Add prototype.
9952
9953         * config/s390/s390.c: Include "optabs.h".
9954         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9955         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9956         s390_expand_cmpstr): Add prototypes.
9957         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9958         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9959         for operands 0 and 1 to "memory_operand".  Add type attribute.
9960         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9961         for operands 0 and 1 to "memory_operand".  Add type attribute.
9962         ("movstrdi_long", "movstrsi_long"): Remove.
9963         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9964         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9965         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9966         ("clrstrsico"): Remove, replace by ...
9967         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9968         ("clrstrsi_64"): Rename to "clrstr_long_64".
9969         ("clrstrsi_31"): Rename to "clrstr_long_31".
9970         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9971         ("cmpstr_const"): Remove, replace by ...
9972         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9973         ("cmpstr_64"): Rename to "cmpstr_long_64".
9974         ("cmpstr_31"): Rename to "cmpstr_long_31".
9975
9976 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9977
9978         * ABOUT-NLS: Follow spelling conventions.
9979         * ChangeLog: Likewise.
9980         * ChangeLog.1: Likewise.
9981         * ChangeLog.2: Likewise.
9982         * ChangeLog.3: Likewise.
9983         * ChangeLog.4: Likewise.
9984         * ChangeLog.5: Likewise.
9985         * ChangeLog.6: Likewise.
9986         * FSFChangeLog.10: Likewise.
9987         * FSFChangeLog.11: Likewise.
9988         * c-common.c: Likewise.
9989         * c-lex.c: Likewise.
9990         * c-objc-common.c: Likewise.
9991         * cppexp.c: Likewise.
9992         * cppinit.c: Likewise.
9993         * cpplex.c: Likewise.
9994         * doloop.c: Likewise.
9995         * flow.c: Likewise.
9996         * function.c: Likewise.
9997         * integrate.c: Likewise.
9998         * loop.c: Likewise.
9999         * reg-stack.c: Likewise.
10000         * reload.h: Likewise.
10001         * ssa.c: Likewise.
10002
10003 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10004
10005         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
10006         * vmsdbgout.c: Include "target.h".
10007
10008 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10009
10010         * ChangeLog: Follow spelling conventions.
10011         * ChangeLog.0: Likewise.
10012         * ChangeLog.1: Likewise.
10013         * ChangeLog.2: Likewise.
10014         * ChangeLog.4: Likewise.
10015         * ChangeLog.6: Likewise.
10016         * config.gcc: Likewise.
10017         * dwarfout.c: Likewise.
10018         * reload1.c: Likewise.
10019         * simplify-rtx.c: Likewise.
10020         * unwind-sjlj.c: Likewise.
10021         * config/avr/avr.h: Likewise.
10022         * config/d30v/d30v.h: Likewise.
10023         * config/frv/frv.c: Likewise.
10024         * config/frv/frv.h: Likewise.
10025         * config/ip2k/ip2k.h: Likewise.
10026         * config/m88k/m88k-move.sh: Likewise.
10027         * config/stormy16/stormy16.c: Likewise.
10028         * config/stormy16/stormy16.h: Likewise.
10029         * doc/extend.texi: Likewise.
10030         * doc/interface.texi: Likewise.
10031         * doc/invoke.texi: Likewise.
10032         * doc/md.texi: Likewise.
10033         * doc/rtl.texi: Likewise.
10034         * doc/tm.texi: Likewise.
10035         * doc/trouble.texi: Likewise.
10036         * ginclude/float.h: Likewise.
10037         * treelang/treelang.texi: Likewise.
10038
10039 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10040
10041         * i386-protos.h (i386_pe_dllexport_name_p,
10042         i386_pe_dllimport_name_p, i386_pe_unique_section,
10043         i386_pe_declare_function_type, i386_pe_record_external_function,
10044         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10045         prototype.
10046         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10047         * i386/t-interix (winnt.o): Likewise.
10048
10049         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10050
10051 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10052
10053         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10054         MIPS ABI CPP macros.
10055         (TARGET_CPU_CPP_BUILTINS): Redefine.
10056         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10057         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10058
10059 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10060
10061         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10062
10063 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10064
10065         * ChangeLog: Follow spelling conventions.
10066         * ChangeLog.0: Likewise.
10067         * ChangeLog.1: Likewise.
10068         * ChangeLog.2: Likewise.
10069         * ChangeLog.3: Likewise.
10070         * ChangeLog.4: Likewise.
10071         * ChangeLog.5: Likewise.
10072         * ChangeLog.6: Likewise.
10073         * FSFChangeLog.10: Likewise.
10074         * FSFChangeLog.11: Likewise.
10075         * c-common.c: Likewise.
10076         * c-common.h: Likewise.
10077         * c-format.c: Likewise.
10078         * c-opts.c: Likewise.
10079         * cpplib.c: Likewise.
10080         * langhooks.h: Likewise.
10081         * real.c: Likewise.
10082         * reg-stack.c: Likewise.
10083         * toplev.c: Likewise.
10084         * config/arm/arm.c: Likewise.
10085         * config/arm/arm.md: Likewise.
10086         * config/arm/linux-gas.h: Likewise.
10087         * config/arm/netbsd.h: Likewise.
10088         * config/c4x/c4x.c: Likewise.
10089         * config/c4x/c4x.h: Likewise.
10090         * config/c4x/c4x.md: Likewise.
10091         * config/c4x/libgcc.S: Likewise.
10092         * config/fr30/fr30.md: Likewise.
10093         * config/frv/frv.md: Likewise.
10094         * config/ia64/ia64.md: Likewise.
10095         * config/mips/mips.h: Likewise.
10096         * config/mn10300/mn10300.c: Likewise.
10097         * config/stormy16/stormy16.c: Likewise.
10098         * config/v850/v850.md: Likewise.
10099         * doc/extend.texi: Likewise.
10100         * doc/invoke.texi: Likewise.
10101         * doc/md.texi: Likewise.
10102
10103 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10104
10105         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10106         library if -pthread is specified.
10107
10108 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10109
10110         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10111         for --enable-threads=yes and --enable-threads=posix.
10112
10113 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10114
10115         * config/sparc/cypress.md: Replace Sparc with SPARC.
10116         * config/sparc/freebsd.h: Likewise.
10117         * config/sparc/gmon-sol2.c: Likewise.
10118         * config/sparc/hypersparc.md: Likewise.
10119         * config/sparc/lb1spc.asm: Likewise.
10120         * config/sparc/lb1spl.asm: Likewise.
10121         * config/sparc/linux.h: Likewise.
10122         * config/sparc/linux64.h: Likewise.
10123         * config/sparc/lynx.h: Likewise.
10124         * config/sparc/sol2.h: Likewise.
10125         * config/sparc/sparc-modes.def: Likewise.
10126         * config/sparc/sparc.c: Likewise.
10127         * config/sparc/sparc.h: Likewise.
10128         * config/sparc/sparc.md: Likewise.
10129         * config/sparc/sparclet.md: Likewise.
10130         * config/sparc/supersparc.md: Likewise.
10131         * config/sparc/sysv4.h: Likewise.
10132         * config/sparc/vxsim.h: Likewise.
10133         * config/sparc/vxsparc64.h: Likewise.
10134
10135 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10136
10137         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10138         * collect2.c (ignore_library, aix_std_libs): Move into the context
10139         where it is used.
10140         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10141         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10142         * m88k.c (output_call): Wrap variables with macro controlling use.
10143         * rs6000.md: Likewise.  Const-ify variable.
10144         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10145         * final.c (only_leaf_regs_used): Likewise.
10146         * regrename.c (maybe_mode_change): Mark parameter with
10147         ATTRIBUTE_UNUSED.
10148         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10149         (find_reloads_address_1): Likewise.
10150         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10151
10152 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10153
10154         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10155
10156 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10157
10158         * ChangeLog: Follow spelling conventions.
10159         * ChangeLog.0: Likewise.
10160         * ChangeLog.2: Likewise.
10161         * ChangeLog.3: Likewise.
10162         * ChangeLog.4: Likewise.
10163         * ChangeLog.5: Likewise.
10164         * ChangeLog.6: Likewise.
10165         * cppfiles.c: Likewise.
10166         * cppinit.c: Likewise.
10167         * cpplib.h: Likewise.
10168         * cse.c: Likewise.
10169         * debug.h: Likewise.
10170         * df.c: Likewise.
10171         * dominance.c: Likewise.
10172         * hashtable.c: Likewise.
10173         * hashtable.h: Likewise.
10174         * loop.c: Likewise.
10175         * config/arm/README-interworking: Likewise.
10176         * config/arm/arm.c: Likewise.
10177         * config/arm/arm.h: Likewise.
10178         * config/arm/arm.md: Likewise.
10179         * config/dsp16xx/dsp16xx.h: Likewise.
10180         * config/frv/frv.c: Likewise.
10181         * config/frv/frv.h: Likewise.
10182         * config/ip2k/ip2k.h: Likewise.
10183         * config/rs6000/rs6000.c: Likewise.
10184         * config/stormy16/stormy-abi: Likewise.
10185         * config/stormy16/stormy16.h: Likewise.
10186         * config/v850/v850.c: Likewise.
10187
10188 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10189
10190         * loop.c: Fix a comment typo.
10191
10192 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10193
10194         * config/fr30/fr30.h: Fix comment typos.
10195         * config/frv/frv.c: Likewise.
10196         * config/i386/xmmintrin.h: Likewise.
10197         * config/mips/mips.c: Likewise.
10198         * config/sh/sh.c: Likewise.
10199
10200 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10201
10202         * haifa-sched.c: Follow spelling conventions.
10203         * regclass.c: Likewise.
10204         * regrename.c: Likewise.
10205         * config/fp-bit.c: Likewise.
10206         * config/frv/frv.h: Likewise.
10207         * config/m88k/m88k.c: Likewise.
10208         * config/mcore/mcore.c: Likewise.
10209         * config/rs6000/darwin.h: Likewise.
10210         * config/rs6000/gnu.h: Likewise.
10211         * config/rs6000/linux.h: Likewise.
10212         * config/rs6000/linux64.h: Likewise.
10213         * config/rs6000/rs6000.c: Likewise.
10214         * config/rs6000/rs6000.h: Likewise.
10215         * config/sh/sh.c: Likewise.
10216         * config/sparc/sparc.c: Likewise.
10217         * config/sparc/ultra1_2.md: Likewise.
10218
10219 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10220
10221         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10222         memory operand when source is 0 (K constraint).
10223         ("movsi_internal"): Likewise.
10224         ("movdf_internal"): Likewise.
10225         ("movsf_internal"): Likewise.
10226
10227 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10228
10229         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10230         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10231         (rs6000_xcoff_encode_section_info): Likewise.
10232         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10233
10234 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10235
10236         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10237
10238 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10239
10240         * stmt.c (struct nexting): Remove unused alt_end_label field.
10241         (expand_start_loop): Delete initialization of alt_end_label.
10242         (expand_start_null_loop): Likewise.
10243         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10244
10245 2002-09-13  Richard Henderson  <rth@redhat.com>
10246
10247         * Makefile.in (toplev.o): Depend on real.h.
10248         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10249
10250 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10251
10252         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10253         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10254         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10255
10256 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10257
10258         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10259
10260 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10261
10262         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10263         ia64*-*-linux*): Set extra_parts.
10264         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10265         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10266
10267 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10268
10269         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10270         * config/h8300/h8300.c: Likewise.
10271         * config/h8300/h8300.h: Likewise.
10272         * config/h8300/h8300.md: Likewise.
10273         * doc/invoke.texi: Likewise.
10274
10275 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10276
10277         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10278
10279 2002-09-13  Richard Henderson  <rth@redhat.com>
10280
10281         * config/alpha/alpha.md (attr type): Add callpal.
10282         (imb, trap, load_tp, set_tp): Use it.
10283         * config/alpha/ev4.md (ev4_callpal): New.
10284         * config/alpha/ev5.md (ev5_callpal): New.
10285         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10286         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10287         (alphaev5_insn_pipe): Likewise.
10288
10289 2002-09-13  Andreas Jaeger  <aj@suse.de>
10290
10291         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10292
10293 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10294
10295         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10296         LIB2ADDEH): New, set to NULL.
10297         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10298
10299 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10300
10301         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10302         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10303         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10304         Add declarations.
10305         (_U_Qfneg): Remove.
10306
10307 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10308
10309         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10310         for H8/300, H8S aa:8 mode.
10311         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10312         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10313         for H8/300 aa:8 mode.
10314
10315 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10316
10317         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10318         insns.
10319
10320 2002-09-12  Richard Henderson  <rth@redhat.com>
10321
10322         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10323         (print-rtl.o): Don't define GENERATOR_FILE.
10324         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10325         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10326         unless GENERATOR_FILE.
10327
10328 2002-09-12  Stan Shebs  <shebs@apple.com>
10329
10330         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10331         * config/i386/darwin.h: ... instead of here.
10332
10333         * target.h (struct gcc_target): New field
10334         terminate_dw2_eh_frame_info.
10335         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10336         (TARGET_INITIALIZER): Add it.
10337         * dwarf2out.c (output_call_frame_info): Use target hook.
10338         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10339         ASM_OUTPUT_DWARF_DELTA if defined.
10340         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10341         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10342         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10343         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10344         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10345         (powerpc-*-darwin*): Ditto.
10346         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10347         to work correctly for Darwin.
10348         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10349         (STARTFILE_SPEC): Add crtbegin.o.
10350         (ENDFILE_SPEC): Define.
10351         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10352         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10353         (ASM_OUTPUT_DWARF_DELTA): Define.
10354         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10355         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10356
10357 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10358
10359         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10360         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10361         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10362
10363 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10364
10365         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10366         * defaults.h: ... here.
10367
10368 2002-09-12  Richard Henderson  <rth@redhat.com>
10369
10370         * vax.c: Include tree.h earlier.
10371
10372 2002-09-12  Stan Shebs  <shebs@apple.com>
10373
10374         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10375         (machopic_operand_p): Ditto.
10376
10377 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10378
10379         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10380         Fix a comment typo.
10381
10382 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10383
10384         * toplev.c (do_abort): Fix a comment typo.
10385
10386 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10387
10388         * cselib.c: Fix comment formatting.
10389         * gengtype.c: Likewise.
10390
10391 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10392
10393         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10394         (udivmodhi4): Likewise.
10395
10396 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10397             Roger Sayle  <roger@eyesopen.com>
10398
10399         * i386.c (any_fp_register_operand, fp_register_operand,
10400         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10401         New predicate functions.
10402         * i386-protos.h:  Add their prototypes.
10403         * i386.h: Add them to PREDICATE_CODES.
10404         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10405         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10406         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10407         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10408         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10409         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10410         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10411         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10412         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10413         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10414         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10415         Use these new predicates to simplify and correct the use of
10416         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10417
10418 2002-09-12  Jason Merrill  <jason@redhat.com>
10419
10420         * diagnostic.c (output_add_identifier): New fn.
10421         * diagnostic.h: Declare it.
10422
10423         * calls.c (store_one_arg): Use size_in_bytes to determine the
10424         amount of space to push.
10425
10426 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10427
10428         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10429
10430 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10431
10432         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10433         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10434         (s390_select_ccmode): Likewise.
10435         (s390_branch_condition_mask): Likewise.
10436         (optimization_options): Do not set flag_branch_on_count.
10437         (s390_split_branches): Handle doloop branches.
10438         (s390_chunkify_pool): Likewise.
10439         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10440         ("doloop_end"): New expander.
10441         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10442         associated splitters): New.
10443
10444 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10445
10446         * genattrtab.c (simplify_cond): Remove unused variable(s).
10447         * global.c (record_conflicts): Likewise.
10448         * jump.c (rebuild_jump_labels): Likewise.
10449         * loop.c (scan_loop, check_final_value): Likewise.
10450         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10451         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10452         * rtlanal.c (reg_set_p): Likewise.
10453         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10454         * genautomata.c (empty_reserv): Remove.
10455         * loop.c (max_luid): Likewise.
10456         * sched-rgn.c (bitlst_table_size): Likewise.
10457
10458 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10459
10460         Reimplement gcov format.
10461         * gcov-io.h: Replace.
10462         * gcov.c: Reimplement.
10463         * gcov-iov.c: New file.
10464         * gcov-dump.c: New file.
10465         * libgcc2.c (L_bb): Replace with ...
10466         (L_gcov): ... this.
10467         (struct bb_function_info, struct bb): Remove.
10468         (inhibit_libc): Never inhibit.
10469         (gcov_list, gcov_crc): New static variables.
10470         (gcov_version_mismatch): New static function.
10471         (__bb_exit_func): Renamed to ...
10472         (__gcov_exit): ... here. Made static. Reimplement.
10473         (__gcov_init_func): Rename to ...
10474         (__gcov_init): ... here. Check version, update crc.
10475         (__bb_fork_func): Rename to ...
10476         (__gcov_flush): ... here.
10477         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10478         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10479         * calls.c (expand_call): Call __gcov_flush.
10480         * profile.c (bb_file, last_bb_file_name): Remove.
10481         (bbg_file_name): New global variable.
10482         (output_gcov_string): Remove.
10483         (get_exec_counts): Reimplement.
10484         (branch_prob): Reimplement gcov file writing.
10485         (init_branch_prob): Create bbg_file_name, don't create
10486         bb_file_name.
10487         (end_branch_prob): Adjust. Don't remove counter file when
10488         instrumenting ourselves.
10489         (create_profiler): Adjust.
10490         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10491         point to gcov-io.h.
10492         * Makefile.in (LANGUAGES): Add gcov-dump.
10493         (coverageexts): Remove .bb.
10494         (STAGESTUFF): Add gcov-dump.
10495         (LIB2FUNCS_ST): Replace _bb with _gcov.
10496         (profile.o): Depend on gcov-iov.h.
10497         (final.o): Don't depend on profile.h, gcov.h.
10498         (gcov.o): Depend on gcov-iov.h.
10499         (gcov-iov.o): New target.
10500         (gcov-iov): New target.
10501         (gcov-iov.h): New target.
10502         (gcov-dump.o): New target.
10503         (GCOV_DUMP_OBJS): New variable.
10504         (gcov-dump): New target.
10505         (distclean): Remove coverageexts.
10506         (stage1): Remove coverageexts.
10507
10508 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10509
10510         * fold-const.c (make_range): Only narrow to signed range if
10511         the signed range is smaller than the unsigned range.
10512
10513 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10514
10515         * emit-rtl.c (set_mem_size): New function.
10516         * expr.h (set_mem_size): Declare.
10517         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10518         (expand_block_move): Instead, use adjust_address and
10519         replace_equiv_address to generate proper aliasing info.
10520         Move common code out of conditionals.  Localize vars.
10521
10522 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10523
10524         * optabs.c (expand_binop): Minor cleanup.
10525         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10526
10527 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10528
10529         * print-tree.c (print_node): Print the restrict qualifier.
10530
10531 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10532
10533         * doc/install.texi: Fix typos.
10534
10535 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10536
10537         * Makefile.in: Remove all references to s-under and underscore.c.
10538         * collect2.c, tlink.c: Change all uses of prepends_underscore
10539         to look directly at USER_LABEL_PREFIX.
10540
10541 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10542
10543         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10544         alignment to csect.
10545         (rs6000_xcoff_unique_section): Only set section name for public
10546         data.
10547         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10548         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10549         duplicate definition.
10550
10551 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10552
10553         * pa.md (extzv): Check predicates before emitting extzv_32.
10554         (insv): Likewise.
10555
10556 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10557
10558         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10559         (MAX_MOVE_MAX): Define.
10560         (MOVE_BY_PIECES_P): Define.
10561         (CLEAR_BY_PIECES_P): Define.
10562
10563 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10564
10565         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10566
10567 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10568
10569         PR c/7873
10570         * arm.md (insv): Use reg_or_int_operand for operand[3].
10571
10572 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10573
10574         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10575         inside macro.  Correct function definition typo.
10576         (rs6000_xcoff_section_type_flags): New function.
10577         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10578         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10579         with appropriate PIC test.
10580         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10581         determine readonly.
10582         (rs6000_binds_local_p): Combine PIC flags.
10583         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10584         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10585
10586 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10587
10588         * h8300.md: Fix signed/unsigned warnings.
10589         * mcore.md: Likewise.
10590         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10591
10592 2002-09-09  Per Bothner  <per@bothner.com>
10593
10594         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10595         characters, and only print TREE_STRING_LENGTH chars.
10596
10597 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10598
10599         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10600         (ASM_FILE_END) New.
10601         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10602         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10603         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10604         of external functions if TARGET_HPUX_LD is true.
10605         (ia64_hpux_add_extern_decl): New, routine to put names on
10606         list of external functions.
10607         (ia64_hpux_asm_file_end): Put out declarations for external
10608         functions if and only if they are used.
10609
10610 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10611
10612         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10613         on TARGET_64BIT before pic register restore.
10614
10615 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10616
10617         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10618         (TARGET_HAVE_TLS): New description.
10619
10620 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10621
10622         * doc/extend.texi (Statement Exprs): Fix broken link.
10623
10624 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10625
10626         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10627         right conversion of operands[1].
10628
10629 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10630
10631         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10632         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10633         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10634
10635         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10636         as commutative.
10637
10638         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10639         mark as commutative.  Use "nonimmediate_operand" instead of
10640         "register_operand" as predicate for operand 1.
10641
10642         ("movstrictsi"): Fix typo in insn name.
10643
10644 2002-09-09  Jan Hubicka  <jh@suse.cz>
10645
10646         * i386.c (index_register_operand): New.
10647         * i386.h (predicate_codes): Add new predicate.
10648         * i386.md (lea_general_*): Use index_register_operand
10649         (ashift to lea splitter): Do not produce invalid leas
10650         (ashift to mov+ashift split): New.
10651
10652 2002-09-09  Nick Clifton  <nickc@redhat.com>
10653
10654         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10655         Fix folding marks.
10656
10657 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10658             J"orn Rennecke <joern.rennecke@superh.com>
10659
10660         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10661
10662 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10663
10664         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10665         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10666         attributes.
10667
10668 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10669
10670         * basic_block.h (gcov_type): Explain why it is signed.
10671         * final.c: Don't include profile.h.
10672         (struct function_list, functions_head, functions_tail,
10673         end_final): Moved to profile.c
10674         (final): Move arc chaining code to profile.c.
10675         * function.c (prepare_function_start): Remove duplicate line.
10676         * output.h (end_final): Remove prototype.
10677         * predict.c (estimate_loops_at_level): Use gcov_type.
10678         * profile.c (struct function_list, functions_head,
10679         functions_tail): Moved from final.c
10680         (need_func_profiler): Remove.
10681         (instrument_edges): Don't set need_func_profiler.
10682         (get_exec_counts): Avoid signed/unsigned warning.
10683         (compute_checksum): Use crc32.
10684         (branch_prob): Adjust. Chain onto functions_head.
10685         (init_branch_prob): Absorb init_edge_profiler.
10686         (init_edge_profiler): Remove.
10687         (create_profiler): Moved and renamed from final.c:end_final.
10688         Emit data and constructor.
10689         (output_func_start_profiler): Remove.
10690         * profile.h (struct profile_info): checksum is unsigned.
10691         * rtl.h (output_func_start_profiler): Remove prototype.
10692         (create_profiler): Declare.
10693         * toplev.c (compile_file): Call create_profiler, if instrumenting
10694         arcs. Don't call end_final.
10695
10696 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10697
10698         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10699
10700 2002-09-08  Richard Henderson  <rth@redhat.com>
10701
10702         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10703         (DW_OP_GNU_push_tls_address): New.
10704         (DW_OP_lo_user): Fix.
10705         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10706         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10707         (size_of_loc_descr): Likewise.
10708         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10709         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10710         (loc_descriptor_from_tree): Handle TLS variables.
10711         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10712         (add_location_or_const_value_attribute): ... not here.  Defer
10713         to loc_descriptor_from_tree for TLS variables.
10714
10715         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10716         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10717         * config/i386/i386-protos.h: Update.
10718
10719 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10720
10721         PR optimization/6405
10722         * unroll.c (loop_iterations): last_loop_insn should be the previous
10723         non-note instruction before loop->end.
10724         * loop.c (strength_reduce): The conditional jump is the last
10725         non-note instruction before loop->end (as above).
10726
10727 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10728
10729         * combine.c (try_combine): Handle the case that undobuf.other_insn
10730         has been turned into a return or unconditional jump, by inserting
10731         a BARRIER if necessary.
10732         (simplify_set):  Test if a condition code setter has a constant
10733         comparison at compile time, if so convert this insn to a no-op move
10734         and update/simplify the condition code user (undobuf.other_insn).
10735
10736 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10737
10738         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10739         (CLEAR_INSN_CACHE): Define.
10740
10741 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10742
10743         * basic-block.h: Fix comment formatting.
10744         * c-common.c: Likewise.
10745         * c-common.h: Likewise.
10746         * c-lex.c: Likewise.
10747         * c-pretty-print.c: Likewise.
10748         * cfglayout.c: Likewise.
10749         * cfgloop.c: Likewise.
10750         * defaults.h: Likewise.
10751         * et-forest.c: Likewise.
10752         * explow.c: Likewise.
10753         * function.h: Likewise.
10754         * gcov.c: Likewise.
10755         * genattrtab.c: Likewise.
10756         * gengtype.c: Likewise.
10757         * ifcvt.c: Likewise.
10758         * libgcc2.c: Likewise.
10759         * loop.c: Likewise.
10760         * profile.c: Likewise.
10761         * ra-build.c: Likewise.
10762         * real.c: Likewise.
10763         * rtl.h: Likewise.
10764         * tracer.c: Likewise.
10765         * tree-inline.c: Likewise.
10766         * varasm.c: Likewise.
10767
10768 2002-09-08  Jan Hubicka  <jh@suse.cz>
10769
10770         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10771         handling.
10772
10773         * loop.c (loop_givs_reduce):  Emit addition after.
10774
10775 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10776
10777         * varasm.c (default_assemble_visibility): Rename from
10778         assemble_visibility.
10779         * output.h: Here too.
10780         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10781         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10782
10783 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10784
10785         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10786         find_reloads_address.
10787
10788 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10789
10790         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10791         (anonymous pattern): Likewise.
10792
10793 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10794
10795         * machmode.def: Add modes for half-float vectors.
10796
10797 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10798
10799         PR target/7374
10800         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10801
10802 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10803
10804         * basic-block.h (struct loop): Remove unused cont_dominator field.
10805
10806 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10807
10808         * varasm.c (decode_rtx_const): Don't check undefined field for
10809         CONST_VECTOR.
10810
10811 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10812
10813         PR opt/7814
10814         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10815         to reg_last->sets after flushing the dependency lists to guarantee
10816         that subsequent clobbers will be dependent on it.
10817
10818 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10819
10820         * combine.c (simplify_shift_const): Calculate rotate count
10821         correctly for vector operands.
10822
10823 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10824
10825         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10826         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10827         tree_expr_nonnegative_p.
10828         (build_conditional_expr): Likewise.
10829         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10830
10831 2002-09-07  Richard Henderson  <rth@redhat.com>
10832
10833         * builtins.def (inf, inff, infl): Mark const.
10834         (huge_val, huge_valf, huge_vall): Likewise.
10835         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10836
10837         * real.c (ereal_inf): Clear E before use.
10838
10839 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10840
10841         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10842         an expander and an anonymous pattern.  Zero out the upper half
10843         of the dividend in the expander.
10844         (udivmodqi4): Likewise.
10845
10846 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10847
10848         * config/h8300/h8300.c: Fix formatting.
10849         * config/h8300/h8300.h: Likewise.
10850         * config/h8300/h8300.md: Likewise.
10851
10852 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10853
10854         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10855         information.
10856
10857 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10858
10859        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10860
10861 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10862
10863         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10864
10865         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10866         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10867         (TARGET_ASM_OUT): Add the above here.
10868         * target.h (struct gcc_target): Add "visibility" field.
10869         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10870         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10871         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10872         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10873
10874 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10875
10876         * c-lang.c (objc_is_id): New stub.
10877         * c-tree.h (objc_is_id): New forward declaration.
10878         * c-typeck.c (build_c_cast): Do not strip protocol
10879         qualifiers from 'id' type.
10880         * objc/objc-act.c (objc_comptypes): Correct handling
10881         of protocol qualifiers.
10882         (objc_is_id): New.
10883
10884 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10885
10886         * pentium.md (pentium-firstvboth): Fix typo.
10887
10888 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10889
10890         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10891         (enum shift_type, enum h8_cpu): Likewise.
10892         (INL, ROT, LOP, SPC macros): Likewise.
10893         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10894         const designator.
10895         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10896         space efficient algorithms when optimize for codesize.
10897
10898 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10899
10900         Fix PR/1727 and long-standing failing testcase
10901         objc/formal-protocol-6.m.
10902         * objc-act.c (build_protocol_expr): If compiling for the GNU
10903         runtime, create a list of Protocol statically allocated instances
10904         if it doesn't exist, then add the Protocol object to this same
10905         list.
10906         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10907         instead of TREE_CHAIN.
10908
10909 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10910
10911         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10912         10k.  Fixed category dumping - print out category names with the
10913         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10914         interface.
10915         (finish_objc): Fixed the -gen-decls option.  It was printing out
10916         only the last class.  Dump an interface declaration of all classes
10917         being compiled instead.
10918
10919 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10920
10921         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10922         prototype.
10923         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10924         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10925         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10926         rather than GEN_INT.
10927         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10928         (return_addr_mask, *check_arch2): New.
10929
10930 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10931
10932         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10933         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10934         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10935         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10936         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10937         "adddf3", "*adddf3", "*adddf3_ibm",
10938         "addsf3", "*addsf3", "*addsf3_ibm",
10939         "muldi3", "mulsi3", "mulsidi3",
10940         "muldf3", "*muldf3", "*muldf3_ibm",
10941         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10942         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10943         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10944         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10945         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10946         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10947         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10948         instead of "register_operand" as predicate for "%0" operand.
10949
10950 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10951
10952         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10953         unconditionally when gcc_cv_as_flags64 checks are gone.
10954         * configure: Rebuilt.
10955
10956 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10957
10958         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10959         2002-07-26 change.  Comment.
10960
10961 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10962
10963         * frv.c (frv_unique_section, frv_select_section,
10964         frv_select_rtx_section): Delete.
10965         (frv_in_small_data_p): New.
10966         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10967         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10968         (TARGET_IN_SMALL_DATA_P): Define.
10969
10970 2002-09-05  Dale Johannesen  <dalej@apple.com>
10971
10972         * reload1.c (reload):  Retain only those memory clobbers
10973         added for variable-array handling.
10974
10975 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10976
10977         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10978         return-in-memory rules.
10979         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10980
10981 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10982
10983         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10984         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10985
10986 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10987
10988         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10989         not a compile-time constant for the non-IBM case.
10990         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10991         prototype.
10992         * config/arm/arm.c (arm_float_words_big_endian): New function.
10993         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10994         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10995         (ARM_FLAG_VFP, TARGET_VFP): Define.
10996         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10997
10998 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10999
11000         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
11001         URLs.  Fix AIX wording.
11002
11003 2002-09-05  Stan Shebs  <shebs@apple.com>
11004
11005         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
11006         -fPIC equivalent on Darwin.
11007
11008 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11009
11010         * sh.c (sh_expand_builtin): Return early if encountering an
11011         error_mark for a type.
11012
11013 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
11014
11015         * config/s390/s390.c (s390_expand_plus_operand): Do not require
11016         double-word scratch register.
11017         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
11018
11019         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
11020         "*cli"): Replace s_operand by memory_operand.
11021         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
11022
11023 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
11024
11025         * config/h8300/h8300.c (asm_file_start): Add a missing
11026         semicolon.
11027
11028 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11029
11030         * c-typeck.c (build_function_call): Remove unused variable(s).
11031         (build_c_cast): Likewise.
11032         * calls.c (rtx_for_function_call): Likewise.
11033         * cfglayout.c (duplicate_insn_chain): Likewise.
11034         * cfgloop.c (flow_loop_nodes_find): Likewise.
11035         * cfgrtl.c (split_edge): Likewise.
11036         * df.c (df_ref_create): Likewise.
11037         * except.c (expand_end_catch): Likewise.
11038         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11039         * function.c (emit_return_into_block): Likewise.
11040         (reposition_prologue_and_epilogue_notes): Likewise.
11041         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11042         * combine.c (subst_prev_insn, need_refresh): Remove.
11043         * dwarf2out.c (primary_filename): Remove.
11044         * final.c (new_block): Remove.
11045         * gcse.c (orig_bb_count): Remove.
11046
11047 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11048
11049         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11050         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11051         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11052         directly instead of using a function pointer.
11053
11054 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11055
11056         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11057         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11058         (ix86_output_addr_diff_elt) Likewise.
11059         (x86_output_mi_thunk) Likewise.
11060         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11061
11062 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11063
11064         * frv.c (frv_encode_section_info): Fix error in last change.
11065
11066 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11067
11068         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11069         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11070         (TARGET_BINDS_LOCAL_P): Define.
11071         (rs6000_override_options): Save original flag_pic value.
11072         (rs6000_elf_select_section): Call default_elf_select_section_1.
11073         (rs6000_elf_unique_section): Call default_unique_section_1.
11074         (rs6000_elf_in_small_data_p): New function.
11075         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11076         (rs6000_xcoff_select_section): Update based on defaults.
11077         (rs6000_xcoff_unique_section): Set to basic name if not common.
11078         (rs6000_binds_local_p): New function.
11079         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11080         targetm.have_srodata_section if SDATA_EABI.
11081         (TARGET_IN_SMALL_DATA_P): Define.
11082
11083 2002-09-04  Dale Johannesen  <dalej@apple.com>
11084
11085         * varasm.c (struct rtx_const, decode_rtx_const):
11086         Make veclo and vechi fields not share storage.
11087
11088 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11089
11090         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11091         for moving.
11092         (move_movables): Abort if we see the first insn of a libcall.
11093
11094 2002-09-04  Richard Henderson  <rth@redhat.com>
11095
11096         * builtin-types.def (BT_FN_FLOAT): New.
11097         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11098         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11099         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11100         * builtins.c (fold_builtin_inf): New.
11101         (fold_builtin): Call it.
11102         * real.c (ereal_inf): New.
11103         * real.h: Declare it.
11104         * doc/extend.texi: Document new builtins.
11105
11106 2002-09-04  Richard Henderson  <rth@redhat.com>
11107
11108         * cse.c (cse_insn): Avoid subreg games if the equivalence
11109         is already in the proper mode.
11110
11111 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11112
11113         PR c/7102
11114         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11115
11116 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11117
11118         * pa.md (setccfp0, setccfp1): New patterns.
11119
11120 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11121
11122         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11123         frv_select_section, frv_select_rtx_section,
11124         frv_encode_section_info, frv_unique_section): Delete.
11125         * frv.c: Update for target hooks.
11126         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11127         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11128         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11129
11130 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11131
11132         * ip2k-protos.h (function_prologue, function_epilogue,
11133         encode_section_info): Update to match target hook specification.
11134         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11135         (function_prologue, function_epilogue, encode_section_info):
11136         Update to match target hook specification.
11137         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11138         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11139         (NOTICE_UPDATE_CC): Cast to void.
11140         * ip2k.md: Add defaults in switch statements.
11141
11142 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11143
11144         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11145         issues.
11146
11147 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11148
11149         * config/sparc/t-netbsd64: Disable multilib for now.
11150
11151 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11152
11153         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11154         * target.h (gcc_target): Add have_srodata_section member.
11155         * varasm.c (section_category): Add SECCAT_SRODATA.
11156         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11157         READONLY_SDATA_SECTION defined.
11158         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11159         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11160         (default_unique_section_1): Likewise.
11161
11162 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11163
11164         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11165         into DImode pieces.
11166
11167         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11168         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11169         for floating-point register class.
11170         * pa.c (function_arg): Fix handling of modes wider than one word for
11171         TARGET_64BIT.
11172
11173 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11174
11175         * combine.c (make_compound_operation): Don't generate zero / sign
11176         extensions in floating point modes.
11177
11178 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11179
11180         * doc/c-tree.texi: Fix overfull hboxes.
11181         * doc/cppopts.texi: Ditto.
11182         * doc/extend.texi: Ditto.
11183         * doc/gty.texi: Ditto.
11184         * doc/invoke.texi: Ditto.
11185         * doc/makefile.texi: Ditto.
11186         * doc/rtl.texi: Ditto.
11187         * doc/standards.texi: Ditto.
11188         * doc/tm.texi: Ditto.
11189
11190 2002-09-04  Richard Henderson  <rth@redhat.com>
11191
11192         * c-common.c (builtin_define_with_hex_fp_value): New.
11193         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11194
11195 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11196
11197         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11198         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11199         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11200         Warn that these options can break ABI compatibility.
11201
11202 2002-09-04  Richard Henderson  <rth@redhat.com>
11203
11204         * real.c (ereal_to_decimal): Add digits parameter.
11205         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11206         * c-pretty-print.c (pp_c_real_literal): Update call.
11207         * print-rtl.c (print_rtx): Likewise.
11208         * print-tree.c (print_node_brief, print_node): Likewise.
11209         * sched-vis.c (print_value): Likewise.
11210         * config/arc/arc.c (arc_print_operand): Likewise.
11211         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11212         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11213         * config/i386/i386.c (print_operand): Likewise.
11214         * config/i960/i960.c (i960_print_operand): Likewise.
11215         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11216         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11217         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11218         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11219         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11220         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11221         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11222         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11223         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11224         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11225         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11226         * config/mips/mips.c (print_operand): Likewise.
11227         * config/ns32k/ns32k.c (print_operand): Likewise.
11228         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11229         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11230         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11231
11232 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11233
11234         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11235         xtensa_multibss_section_type_flags.
11236         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11237
11238 2002-09-04  Richard Henderson  <rth@redhat.com>
11239
11240         * doc/install-old.texi: Don't mention enquire.
11241         * doc/sourcebuild.texi: Update float.h description.
11242
11243 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11244
11245         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11246
11247 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11248
11249         * builtins.c (build_function_call_expr): Remove prototype, export
11250         as non-static and add a comment above function definition.
11251         (builtin_mathfn_code): New function to check for math builtins.
11252         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11253         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11254         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11255         log(sqrt(x)) as log(x)/2.0.
11256
11257         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11258         in new "builtins.c" section.  Place the build_range_type prototype
11259         with the other prototypes from "tree.c".
11260
11261         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11262         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11263         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11264         x/exp(y) as x*exp(-y).
11265
11266 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11267
11268         * varasm.c (default_section_type_flags): Append _1 to name with
11269         shlib parameter.  Use original name to call new function with
11270         implicit flag_pic.
11271         (decl_readonly_section): Likewise.
11272         (default_elf_select_section): Likewise.
11273         (default_unique_section): Likewise.
11274         (default_bind_local_p): Likewise.
11275         (categorize_decl_for_section): Add shlib parameter to use in place
11276         of implicit flag_pic.
11277         * output.h: Declare new functions with _1 and shlib argument.
11278
11279 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11280
11281         * doc/install.texi: Fix typos, formatting problems, and obvious
11282         overfull/underfull boxes.
11283
11284         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11285         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11286         include its file, compat.texi.
11287         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11288
11289 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11290
11291         Debian BTS Bug #157416
11292         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11293         * cpplib.c (destringize_and_run): Kludge around getting
11294         tokens from in-progress macros.
11295         (_cpp_do__Pragma): Simplify.
11296
11297 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11298
11299         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11300         (CPP_CPU_SPEC): Remove.
11301         (TARGET_CPU_CPP_BUILTINS): New.
11302         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11303         (CPP_SPEC): Remove.
11304         (TARGET_OS_CPP_BUILTINS): New.
11305         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11306         (TARGET_OS_CPP_BUILTINS): New.
11307         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11308         TARGET_OS_CPP_BUILTINS.
11309         (CPP_PREDEFINES): Remove.
11310         (CPLUSPLUS_CPP_SPEC): Remove.
11311         (TARGET_OS_CPP_BUILTINS): New.
11312
11313 2002-09-03  Richard Henderson  <rth@redhat.com>
11314
11315         * Makefile.in (USER_H): Add ginclude/float.h.
11316         (FLOAT_H): Remove.
11317         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11318         (mostlyclean): Don't remove float.h intermediate files.
11319         (distclean): Don't remove float.h.
11320         * config.gcc: Remove all float_format references.
11321         * configure.in (float_format, float_h_file): Remove.
11322
11323         * c-common.c: Include tree-inline.h.
11324         (builtin_define_with_int_value): New.
11325         (builtin_define_type_precision): Use it.
11326         (builtin_define_float_constants): New.
11327         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11328         __FLT_EVAL_METHOD__.
11329         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11330         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11331         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11332         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11333         (TARGET_FLT_EVAL_METHOD): New.
11334
11335         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11336         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11337         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11338         * ginclude/float.h: New.
11339
11340 2002-09-03  Stan Shebs  <shebs@apple.com>
11341
11342         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11343         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11344         (PREFERRED_DEBUGGING_TYPE): Ditto.
11345         (ASM_OUTPUT_IDENT): Remove empty definition.
11346
11347 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11348
11349         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11350         cxx_target.
11351         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11352         handling routine for builtin pragma.
11353         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11354         Registered pragma handling routine.
11355         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11356         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11357         If builtin pragma seen for math routine and C89 conformance is
11358         requested use different math function in order to set errno.
11359         * t-ia64 (ia64-c.o): Add new rule for new file.
11360
11361 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11362
11363         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11364         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11365         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11366
11367         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11368         "*movsf_ss"): Remove.
11369
11370 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11371
11372         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11373         Delete macros.
11374
11375 2002-09-03   Arati Dikey  <aratid@kpit.com>
11376
11377         * h8300.c (asm_file_start): Corrected optimization comment.
11378
11379 2002-09-03  Stan Shebs  <shebs@apple.com>
11380
11381         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11382         * c-tree.h (recognize_objc_keyword): Remove decl.
11383         * c-typeck.c (comp_target_types): Update a comment.
11384
11385 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11386
11387         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11388         and register validity checks.
11389         (general_s_operand): Adapt to s390_decompose_address interface change.
11390         (q_constraint): Likewise.
11391         (s390_expand_plus_operand): Likewise.
11392         (legitimiate_address_p): Likewise.
11393         (legitimate_la_operand_p): Likewise.
11394         (legitimize_la_operand): Likewise.
11395         (print_operand_address): Likewise.
11396         (print_operand): Likewise.
11397
11398 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11399
11400         PR objc/5956:
11401         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11402         was causing the new selector never to match the existing ones
11403         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11404
11405 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11406
11407         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11408
11409 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11410
11411         * expr.c (expand_expr): Remove extraneous comment and code.
11412
11413 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11414
11415         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11416         frontend. Take chain of fields. Allow NULL alignment type.
11417         * tree.h (finish_builtin_struct): Declare.
11418
11419 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11420
11421         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11422         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11423         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11424         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11425         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11426         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11427         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11428         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11429         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11430         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11431         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11432         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11433         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11434         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11435         config/rs6000/linux64.h config/rs6000/lynx.h
11436         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11437         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11438         config/sparc/sparc.c config/sparc/sysv4.h
11439         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11440         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11441         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11442
11443         * doc/tm.texi: Update docs.
11444         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11445         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11446
11447 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11448
11449         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11450         * arc.c (arc_internal_label): New function.
11451         (TARGET_ASM_INTERNAL_LABEL): Set.
11452         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11453         * arm.c (arm_internal_label): New function.
11454         (TARGET_ASM_INTERNAL_LABEL): Set.
11455         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11456         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11457         * i370.c (i370_internal_label): New function.
11458         (TARGET_ASM_INTERNAL_LABEL): Set.
11459         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11460         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11461         * m68k.c (m68k_hp320_internal_label): New function.
11462         (TARGET_ASM_INTERNAL_LABEL): Set.
11463         * m88k.c (m88k_internal_label): New function.
11464         (TARGET_ASM_INTERNAL_LABEL): Set.
11465         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11466         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11467         * genoutput.c (output_prologue): Include target.h in output file.
11468         * output.h (default_internal_label): Declare.
11469         * sdbout.c: Include target.h.
11470         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11471         TARGET_ASM_OUT.
11472         * target.h (internal_label): Add to struct gcc_target.
11473         * varasm.c (default_internal_label): New function.
11474
11475 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11476
11477         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11478         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11479         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11480         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11481         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11482         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11483         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11484         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11485         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11486         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11487         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11488         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11489         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11490         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11491         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11492         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11493         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11494         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11495         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11496         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11497         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11498         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11499         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11500         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11501         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11502         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11503         * mmix.c (mmix_asm_output_internal_label): Likewise.
11504         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11505         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11506         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11507         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11508         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11509         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11510         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11511         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11512         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11513         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11514         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11515         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11516         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11517         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11518         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11519         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11520         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11521         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11522         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11523
11524         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11525
11526 2002-08-31  Richard Henderson  <rth@redhat.com>
11527
11528         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11529
11530 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11531
11532         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11533
11534 2002-08-30  Richard Henderson  <rth@redhat.com>
11535
11536         PR opt/7515
11537         * c-objc-common.c: Include target.h.
11538         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11539         don't bind locally.  Factor setting DECL_UNINLINABLE.
11540         * Makefile.in (c-objc-common.o): Update.
11541
11542 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11543
11544         * doc/install.texi (Configuration, Building): Fix a typo and
11545         some formatting directives.
11546
11547 2002-08-30  Paul Koning <pkoning@equallogic.com>
11548
11549         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11550         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11551         implemented" note.
11552         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11553         for alphabetic order.
11554         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11555         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11556         (VAX_HALFWORD_ORDER): Document.
11557         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11558         IEEE float format.
11559         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11560         (ASM_OUTPUT_LABEL_REF): Fix font.
11561         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11562
11563 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11564
11565         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11566         stuff.
11567         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11568         CONST_DOUBLE constants.
11569
11570 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11571
11572         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11573         related defines to...
11574         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11575         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11576         as a no-op.
11577
11578 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11579
11580         * config/arm/arm.c (arm_asm_output_labelref): New function.
11581         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11582         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11583
11584 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11585
11586         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11587         memory exhausted" workarounds.
11588
11589 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11590
11591         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11592         * toplev.c (crash_signal): Likewise.
11593
11594 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11595
11596         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11597         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11598         Extended, updated documentation.
11599         (-Wundeclared-selector): Documented.
11600
11601 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11602
11603         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11604         the value 1.  Do not undef before defining.
11605         * config/darwin.h: Likewise.
11606         * config/dbx.h: Likewise.
11607         * config/dbxcoff.h: Likewise.
11608         * config/dbxelf.h: Likewise.
11609         * config/elfos.h: Likewise.
11610         * config/interix.h: Likewise.
11611         * config/lynx-ng.h: Likewise.
11612         * config/lynx.h: Likewise.
11613         * config/netware.h: Likewise.
11614         * config/psos.h: Likewise.
11615         * config/svr3.h: Likewise.
11616         * config/alpha/alpha.h: Likewise.
11617         * config/alpha/elf.h: Likewise.
11618         * config/alpha/vms.h: Likewise.
11619         * config/arc/arc.h: Likewise.
11620         * config/arm/aout.h: Likewise.
11621         * config/arm/coff.h: Likewise.
11622         * config/c4x/c4x.h: Likewise.
11623         * config/h8300/h8300.h: Likewise.
11624         * config/i386/cygwin.h: Likewise.
11625         * config/i386/djgpp.h: Likewise.
11626         * config/i386/gas.h: Likewise.
11627         * config/i386/gstabs.h: Likewise.
11628         * config/i386/i386-coff.h: Likewise.
11629         * config/i386/i386-interix.h: Likewise.
11630         * config/i386/sco5.h: Likewise.
11631         * config/i386/svr3dbx.h: Likewise.
11632         * config/i386/sysv3.h: Likewise.
11633         * config/i386/win32.h: Likewise.
11634         * config/i386/x86-64.h: Likewise.
11635         * config/i960/i960.h: Likewise.
11636         * config/ia64/ia64.h: Likewise.
11637         * config/ip2k/ip2k.h: Likewise.
11638         * config/m32r/m32r.h: Likewise.
11639         * config/m68k/3b1.h: Likewise.
11640         * config/m68k/3b1g.h: Likewise.
11641         * config/m68k/ccur-GAS.h: Likewise.
11642         * config/m68k/coff.h: Likewise.
11643         * config/m68k/hp2bsd.h: Likewise.
11644         * config/m68k/hp310g.h: Likewise.
11645         * config/m68k/hp320g.h: Likewise.
11646         * config/m68k/hp3bsd.h: Likewise.
11647         * config/m68k/hp3bsd44.h: Likewise.
11648         * config/m68k/linux-aout.h: Likewise.
11649         * config/m68k/m68k-aout.h: Likewise.
11650         * config/m68k/mot3300.h: Likewise.
11651         * config/m68k/netbsd.h: Likewise.
11652         * config/m68k/openbsd.h: Likewise.
11653         * config/m68k/pbb.h: Likewise.
11654         * config/m68k/plexus.h: Likewise.
11655         * config/m68k/sun2.h: Likewise.
11656         * config/m68k/sun3.h: Likewise.
11657         * config/m68k/tower-as.h: Likewise.
11658         * config/m68k/vxm68k.h: Likewise.
11659         * config/m88k/aout-dbx.h: Likewise.
11660         * config/m88k/m88k-aout.h: Likewise.
11661         * config/mcore/mcore-elf.h: Likewise.
11662         * config/mcore/mcore-pe.h: Likewise.
11663         * config/mips/elf.h: Likewise.
11664         * config/mips/elf64.h: Likewise.
11665         * config/mips/iris5gas.h: Likewise.
11666         * config/mips/iris6.h: Likewise.
11667         * config/mips/mips.h: Likewise.
11668         * config/mips/sni-gas.h: Likewise.
11669         * config/mmix/mmix.h: Likewise.
11670         * config/ns32k/netbsd.h: Likewise.
11671         * config/pa/pa64-hpux.h: Likewise.
11672         * config/romp/romp.h: Likewise.
11673         * config/rs6000/sysv4.h: Likewise.
11674         * config/rs6000/xcoff.h: Likewise.
11675         * config/sh/coff.h: Likewise.
11676         * config/sh/elf.h: Likewise.
11677         * config/sparc/linux64.h: Likewise.
11678         * config/sparc/liteelf.h: Likewise.
11679         * config/sparc/netbsd.h: Likewise.
11680         * config/sparc/openbsd.h: Likewise.
11681         * config/sparc/pbd.h: Likewise.
11682         * config/sparc/sp64-elf.h: Likewise.
11683         * config/sparc/sp86x-elf.h: Likewise.
11684         * config/sparc/sparc.h: Likewise.
11685         * config/vax/vax.h: Likewise.
11686         * config/vax/vaxv.h: Likewise.
11687
11688 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11689
11690         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11691         of HImode shifts.
11692         (get_shift_alg): Corresponding changes.
11693
11694 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11695
11696         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11697
11698 2002-08-29  Richard Henderson  <rth@redhat.com>
11699
11700         * expr.h (enum block_op_methods): New.
11701         (emit_block_move): Update prototype.
11702         * expr.c (block_move_libcall_safe_for_call_parm): New.
11703         (emit_block_move_via_loop): New.
11704         (emit_block_move): Use them.  New argument METHOD.
11705         (emit_push_insn): Always respect the given alignment.
11706         (expand_assignment): Update call to emit_block_move.
11707         (store_expr, store_field, expand_expr): Likewise.
11708         * builtins.c (expand_builtin_apply): Likewise.
11709         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11710         * function.c (expand_function_end): Likewise.
11711         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11712         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11713         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11714         (save_fixed_argument_area): Use emit_block_move with
11715         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11716         (restore_fixed_argument_area): Likewise.
11717         (store_one_arg): Fix alignment parameter to emit_push_insn.
11718
11719 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11720
11721         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11722
11723 2002-08-29  Catherine Moore  <clm@redhat.com>
11724
11725         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11726         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11727         (PREDICATE_CODES): Include new predicates.
11728         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11729         (TARGET_SWITCHES):  Add strict-align.
11730         (TARGET_STRICT_ALIGN): New.
11731         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11732         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11733         Define.
11734         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11735         v850_muldi3.
11736         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11737         L_callt_save_r2_r31, L_return_r2_r31,
11738         L_save_all_interrupt): Change addi to add.
11739         (L_save_interrupt, L_return_interrupt): Rework.
11740         (__return_r31):  Correct .size directive.
11741         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11742         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11743         New routines.
11744         * config/v850/v850.c (expand_prologue): Call
11745         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11746         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11747         (reg_or_int9_operand): New predicate.
11748         (reg_or_const_operand): New routine.
11749         * config/v850/v850.md (return_interrupt): Changed from
11750         restore_interrupt.
11751         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11752         (callt_save_interrupt): Change save sequence.
11753         (callt_return_interrupt): New.
11754         (save_interrupt): Don't use runtime function for LONG_CALLS
11755         and TARGET_PROLOG_FUNCTION.
11756         (save_all_interrupt): Likewise.
11757         (mulsi3): Use new predicate.
11758         (moviscc): Disallow some combination of constants.
11759         Fix define_split for sasf insns, so that it will not generate bad
11760         code if operand0 and operand5 are the same.
11761         * config/v850/v850-protos.h: Prototype new predicates.
11762
11763 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11764
11765         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11766         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11767
11768 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11769
11770         * c-common.c (builtin_define_type_precision): New function.
11771         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11772         wchar_t is unsigned in C++.
11773         * doc/cpp.texi (Common Predefined Macros): Document
11774         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11775         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11776         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11777
11778 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11779
11780         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11781         section.  Mention that it is enabled by -Wall.
11782         (-Wall): Mention that there can be language-specific warnings as well.
11783         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11784         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11785
11786 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11787
11788         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11789         if it is ever live.
11790
11791         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11792         attribute for SHCOMPACT.
11793
11794         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11795         appropriately.
11796         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11797         by the ABI.
11798
11799         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11800
11801 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11802
11803         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11804         "MASK_GAS|MASK_ABICALLS".
11805         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11806         (TARGET_DEFAULT): Remove.
11807         (MACHINE_TYPE): Undefine before defining.
11808         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11809
11810 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11811
11812         * c-common.c (warn_abi): New variable.
11813         * c-common.h (warn_abi): Likewise.
11814         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11815         (c_common_decode_option): Handle it.
11816         * doc/invoke.texi: Document -Wabi.
11817
11818 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11819
11820         * c-common.c (warn_undeclared_selector): New variable.
11821         * c-common.h (warn_undeclared_selector): Idem.
11822         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11823         to on when -Wundeclared-selector is found.
11824         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11825         * objc/objc-act.c (build_selector_expr): If
11826         warn_undeclared_selector is set, check that the selector has
11827         already been defined, and emit a warning if not.
11828
11829 2002-08-27  Nick Clifton  <nickc@redhat.com>
11830             Catherine Moore  <clm@redhat.com>
11831             Jim Wilson  <wilson@cygnus.com>
11832
11833         * config.gcc: Add v850e-*-* target.
11834         Add --with-cpu= support for v850.
11835         * config/v850/lib1funcs.asm: Add v850e callt functions.
11836         * config/v850/v850.h: Add support for v850e target.
11837         * config/v850/v850.c: Add functions to support v850e target.
11838         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11839         * config/v850/v850.md: Add patterns for v850e instructions.
11840         * doc/invoke.texi: Document new v850e command line switches.
11841
11842 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11843                           Aldy Hernandez <aldyh at redhat dot com>
11844
11845         * doc/tm.texi: Applied numerous fixes to the automaton based
11846         scheduler descrition.
11847
11848 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11849
11850         * i386.c (classify_argument): Handle variable sized objects.
11851
11852 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11853
11854         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11855
11856 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11857
11858         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11859
11860 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11861
11862         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11863
11864 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11865
11866         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11867         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11868         accordingly.
11869         (attribute insn_class): Provide default definitions based on type.
11870         Remove all insn-specific settings.
11871         (various function units): Remove old SH4 scheduling.
11872         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11873         New attributes.  Set them where appropriate.
11874         (cpu unit FS): Don't define / use.
11875         (F3, load_store): New cpu units.
11876         (F01): New reservation.
11877         (all insn_reservations): Make dependent on sh4 pipeline model.
11878         Fix latencies.
11879         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11880         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11881         (mt insn_reservation): Use type mt_group.
11882         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11883         sh4_fload and sh4_store.
11884         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11885         (insn_reservation branch_far): Replace with sh4_return.
11886         (insn_reservation return_from_exp): Rename to:
11887         (sh4_return_from_exp).  Change to be just d_lock*5.
11888         (insn_reservation lds_to_pr): Rename to:
11889         (sh4_lds_to_pr).  Change to be just d_lock*2.
11890         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11891         d_lock*2.
11892         (insn_reservation prload_mem): Rename to:
11893         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11894         (insn_reservation fpscr_store): Rename to:
11895         (fpscr_load).  Change to d_lock,nothing,F1*3.
11896         (insn_reservation fpscr_store_mem): Rename to:
11897         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11898         (insn_reservation multi): Change to
11899         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11900         (insn_reservation fp_arith): Change to issue,F01,F2.
11901         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11902         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11903         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11904         (insn_reservation fp_double_cmp): Change to
11905         d_lock,(d_lock+F01),F1+F2,F2.
11906         (insn_reservation dp_div): Change to
11907         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11908         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11909         (sh_adjust_cost, SHcompact): Differentiate between different
11910         kinds of dependencies.  Drop factor of ten for superscalar.
11911         Use new instruction types.  Add new exception rules.
11912
11913         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11914
11915         * sh.md (mperm_w): Add DONE.
11916
11917 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11918
11919         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11920
11921         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11922
11923         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11924
11925 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11926
11927         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11928
11929 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11930
11931         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11932         delimiter.
11933
11934 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11935
11936         * c-common.c (cpp_define_data_format): New function.
11937         (cb_register_builtins): Call it.
11938
11939         * doc/cpp.texi (Common Predefined Macros): Document
11940         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11941         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11942         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11943         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11944         __TARGET_USES_VAX_H_FLOAT__.
11945
11946 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11947
11948         * objc/objc-act.c (get_super_receiver): If inside a class method
11949         of a category, cast the receiver to 'id' before accessing the 'isa'
11950         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11951
11952 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11953
11954         * config/s390/s390-protos.h (s390_function_prologue,
11955         s390_function_epilogue): Remove.
11956         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11957         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11958
11959         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11960         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11961         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11962         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11963         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11964
11965         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11966         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11967         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11968         function is not a leaf function.  Use save_gprs and restore_gprs.
11969         (s390_emit_epilogue): Likewise.
11970         (save_gprs, restore_gprs): New functions.
11971         (struct s390_frame): Remove return_reg_saved_p member.
11972         (save_fprs_p): Remove.
11973         (s390_optimize_prolog): New function.
11974         (s390_legitimate_reload_constant): Remove now unnecessary check.
11975
11976         (s390_function_count): Remove.
11977         (s390_output_symbolic_const): Replace s390_function_count by
11978         current_function_funcdef_no.
11979         (s390_output_constant_pool): Likewise.
11980
11981         (legitimize_pic_address): Use regs_ever_live to track PIC register
11982         instead of current_function_uses_pic_offset_table.
11983         (s390_emit_prologue): Likewise.
11984         config/s390/s390.md ("call", "call_value"): Likewise.
11985
11986 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11987
11988         * c-opts.c (find_opt): Don't complain about wrong languages
11989         here.  Return exact matches even for wrong language.
11990         (c_common_decode_option): Complain about wrong languages
11991         here.
11992
11993 2002-08-24  Stuart Hastings  <stuart@apple.com>
11994
11995         * function.h (struct function): Add flag
11996         all_throwers_are_sibcalls.
11997         * except.c (set_nothrow_function_flags): Replaces
11998         nothrow_function_p. Set new flag.
11999         * except.h (set_nothrow_function_flags): Replaces
12000         nothrow_function_p.
12001         * dwarf2out.c (struct dw_fde_struct): Add flag
12002         all_throwers_are_sibcalls.
12003         (output_call_frame_info): Test it.
12004         (dwarf2out_begin_prologue) Propagate it from cfun to
12005         dw_fde_struct.
12006         * toplev.c (rest_of_compilation): Update calls to
12007         nothrow_function_p.
12008
12009 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
12010
12011         * ggc-page.c (compute_inverse): Short circuit calculation for
12012         object sizes larger than half a page.
12013
12014 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
12015
12016         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
12017         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
12018         default.
12019         (rs6000_elf_unique_section): Likewise.
12020
12021 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12022
12023         * ns32k.c (ns32k_globalize_label): Delete.
12024         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12025
12026 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12027
12028         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12029         for loading delta with num_insns_constant_wide.  Calculate
12030         delta_low, delta_high without using a conditional.
12031
12032 2002-08-22  Jason Merrill  <jason@redhat.com>
12033
12034         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12035         * c-common.def: Adjust.
12036         * c-dump.c (c_dump_tree): Adjust.
12037         * c-semantics.c (genrtl_return_stmt): Adjust.
12038         * c-pretty-print.c (pp_c_statement): Adjust.
12039         * tree-inline.c (copy_body_r): Adjust.
12040
12041 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12042
12043         * ggc-page.c: Avoid division in ggc_set_mark.
12044         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12045         compute_inverse): New.
12046         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12047         (init_ggc): Initialize inverse_table.
12048
12049 2002-08-22  Tom Tromey  <tromey@redhat.com>
12050
12051         * doc/install.texi (Configuration): Document --datadir.
12052
12053 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12054
12055         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12056
12057 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12058
12059         * gengtype-lex.l (ID): Allow underscore as first character.
12060
12061 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12062
12063         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12064         function.
12065         (rs6000_xcoff_asm_named_section): Rename.
12066         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12067
12068 2002-08-21  Tom Tromey  <tromey@redhat.com>
12069
12070         For PR java/6005 and PR java/7611:
12071         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12072         (fold): Likewise.
12073         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12074         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12075         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12076         (LANG_HOOKS_INITIALIZER): Use it.
12077         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12078         field.
12079
12080 2002-08-21  Stan Shebs  <shebs@apple.com>
12081
12082         * tree.c (finish_vector_type): Fix a typo in a comment.
12083         * Makefile.in: Fix "the the" stutters in comments.
12084         * genautomata.c: Ditto.
12085         * ifcvt.c: Ditto.
12086         * regrename.c: Ditto.
12087         * config/alpha/alpha.c: Ditto.
12088         * config/alpha/vms-crt0-64.c: Ditto.
12089         * config/alpha/vms-crt0.c: Ditto.
12090         * config/alpha/vms-psxcrt0-64.c: Ditto.
12091         * config/alpha/vms-psxcrt0.c: Ditto.
12092         * config/d30v/d30v.h: Ditto.
12093         * config/fr30/fr30.h: Ditto.
12094         * config/rs6000/rs6000.c: Ditto.
12095         * config/stormy16/stormy16.h: Ditto.
12096         * doc/md.texi: Ditto.
12097
12098 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12099
12100         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12101
12102 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12103
12104         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12105         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12106         Also make duplicate modifiers such as "short short" into hard
12107         errors.
12108
12109 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12110             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12111
12112         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12113         to the actual end.  Add '@end table' and '@table @code'.
12114
12115 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12116
12117         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12118
12119         * unroll.c (biv_total_increment): Don't try to compute the total
12120         increment for FP BIVs.
12121
12122 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12123
12124         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12125         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12126         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12127         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12128         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12129         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12130         (GLOBAL_ASM_OP): Define.
12131         * arm.c (aof_globalize_label): New function.
12132         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12133         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12134         * c4x.c (c4x_globalize_label): New function.
12135         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12136         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12137         (GLOBAL_ASM_OP): Define.
12138         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12139         * darwin-protos.h (darwin_globalize_label): Declare.
12140         * darwin.c (darwin_globalize_label): New function.
12141         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12142         (ASM_GLOBALIZE_LABEL): Delete.
12143         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12144         * dsp16xx.c (asm_output_common): Use target hook.
12145         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12146         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12147         (GLOBAL_ASM_OP): Define.
12148         * i370.c (i370_globalize_label): New function.
12149         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12150         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12151         * i386.c (ix86_asm_file_end): Use target hook.
12152         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12153         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12154         * ia64.c (ia64_asm_output_external): Likewise.
12155         * ia64/sysv4.h: Update comment.
12156         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12157         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12158         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12159         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12160         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12161         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12162         * mmix.c (mmix_asm_globalize_label): Likewise.
12163         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12164         (GLOBAL_ASM_OP): Define.
12165         * ns32k.c (ns32k_globalize_label): New function.
12166         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12167         (ASM_GLOBALIZE_LABEL): Delete.
12168         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12169         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12170         * pa.c (pa_globalize_label): New function.
12171         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12172         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12173         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12174         (GLOBAL_ASM_OP): Define.
12175         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12176         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12177         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12178         (GLOBAL_ASM_OP): Define.
12179         * v850.c (v850_output_aligned_bss): Use target hook.
12180         * vax.c (vms_globalize_label): New function.
12181         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12182         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12183         (GLOBAL_ASM_OP): Define.
12184         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12185         * doc/tm.texi: Update docs.
12186         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12187         target hook.
12188         * final.c (output_alternate_entry_point): Likewise.
12189         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12190         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12191         * output.h (assemble_global): Delete.
12192         (default_globalize_label): Declare.
12193         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12194         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12195         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12196         * target.h (gcc_target): Add globalize_label member.
12197         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12198         globalize_decl): Use target hook.
12199         (assemble_global): Delete.
12200         (default_globalize_label): New function.
12201
12202 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12203
12204         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12205
12206 2002-08-20  Devang Patel  <dpatel@apple.com>
12207         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12208
12209 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12210
12211         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12212         * arm.c (thumb_output_function_prologue): Likewise.
12213         * avr.c (print_operand): Likewise.
12214         * c4x.c (c4x_print_operand): Likewise.
12215         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12216         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12217         * cris.c (cris_target_asm_function_prologue,
12218         cris_asm_output_mi_thunk): Likewise.
12219         * h8300.c (print_operand): Likewise.
12220         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12221         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12222         * m68hc11.c (asm_print_register, print_operand,
12223         print_operand_address): Use stdio instead of asm_fprintf.
12224         (print_operand_address): Fix format specifier.
12225         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12226         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12227         asm_fprintf.
12228         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12229         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12230         * m68k.c (m68k_output_function_prologue,
12231         m68k_output_function_epilogue, print_operand): Likewise.
12232         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12233         Likewise.  Fix format specifier.
12234         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12235         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12236         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12237
12238 2002-08-15  Eric Christopher  <echristo@redhat.com>
12239             Jeff Knaggs  <jknaggs@redhat.com>
12240
12241         * config.gcc (mipsisa64sr71k-elf): New target.
12242         * config/mips/sr71k.md: New file.
12243         * config/mips/mips.md: Use it.
12244         (rot*): Add sr71k specifics.
12245         * config/mips/t-sr71k: New file.
12246         * config/mips/mips.h (sr71k): New cpu.
12247         (TARGET_SR71K): Use it.
12248         (TUNE_SR71K): Ditto.
12249         (GENERATE_BRANCHLIKELY): Ditto.
12250         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12251         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12252         * config/mips/mips.c (sr71k): New cpu.
12253         (mips_use_dfa_pipeline_interface): Use.
12254
12255 2002-08-15  Eric Christopher  <echristo@redhat.com>
12256             Richard Sandiford <rsandifo@redhat.com>
12257             Aldy Hernandez  <aldyh@redhat.com>
12258             Graham Stott    <grahams@redhat.com>
12259             Michael Meissner  <meissner@redhat.com>
12260             Gavin Romig-Koch  <gavin@redhat.com>
12261             Ken Raeburn  <raeburn@cygnus.com>
12262             Alexandre Oliva <aoliva@redhat.com>
12263
12264         * config.gcc (mips64vr-elf): New target.
12265         * config/mips/5400.md: New file.
12266         * config/mips/5500.md: Ditto.
12267         * config/mips/mips.md: Use them.
12268         (frsqrt): New.
12269         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12270         cpus.
12271         (mips_issue_rate): Use them.
12272         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12273         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12274         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12275         cpus.
12276         (TARGET_MIPSx): Use them.
12277         (TUNE_MIPSx): Ditto.
12278         (GETNATE_MULT3_SI): Ditto.
12279         (ISA_HAS_BRANCHLIKELY): Ditto.
12280         (ISA_HAS_CONDMOVE): Ditto.
12281         (ISA_HAS_NMADD_NMSUB): Ditto.
12282         (ISA_HAS_MULHI): New. Ditto.
12283         (ISA_HAS_MULS): Ditto.
12284         (ISA_HAS_MSAC): Ditto.
12285         (ISA_HAS_MACC): Ditto.
12286         (ISA_HAS_ROTR_SI): Ditto.
12287         (ISA_HAS_ROTR_DI): Ditto.
12288         (RTX_COSTS): Use.
12289
12290 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12291
12292         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12293         at head.
12294         (remove_dup_nonsys_dirs): New function.
12295         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12296         (merge_include_chains): Remove non-system include directories from
12297         quote and bracket include chains when they duplicate equivalent system
12298         directories.
12299         * doc/cpp.texi (-I): Update.
12300         * doc/cppopts.texi (-I): Update.
12301         * doc/install.texi (--with-local-prefix): Further document usage of
12302         this option.
12303         * doc/invoke.texi (-I): Update.
12304
12305 2002-08-20  Richard Henderson  <rth@redhat.com>
12306
12307         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12308         (emit_block_move): Split out subroutines.
12309         (emit_block_move_via_movstr): New.
12310         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12311         (emit_block_move_libcall_fn): New.  Construct function prototype for
12312         bcopy as well.
12313         (clear_storage): Split out subroutines.
12314         (clear_storage_via_clrstr): New.
12315         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12316         (clear_storage_libcall_fn): New.  Construct function prototype for
12317         bzero as well.
12318         (emit_push_insn): Use emit_block_move.
12319         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12320         (store_constructor): Likewise.
12321
12322 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12323
12324         * objc/objc-act.c (building_objc_message_expr): Rename to
12325         current_objc_message_selector.
12326
12327 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12328
12329         * objc/objc-act.c (build_ivar_chain): Remove.
12330         (objc_copy_list): Likewise.
12331         (get_class_ivars): Inline call to removed build_ivar_chain
12332         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12333         slot; use that slot (rather than CLASS_IVARS) when accessing
12334         ivars for base classes.  Call copy_list and chainon instead of
12335         objc_copy_list.
12336         (build_private_template): Call get_class_ivars instead of
12337         build_ivar_chain.
12338         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12339         (continue_class): Call get_class_ivars instead of
12340         build_ivar_chain.
12341         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12342         of DECL_BIT_FIELD (which may have been cleared).
12343         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12344
12345 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12346
12347         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12348         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12349         in output file.
12350         (output_internal_min_issue_delay_func): Initialize variable in
12351         output file.
12352
12353 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12354
12355         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12356         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12357
12358 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12359             Steve Ellcey  <sje@cup.hp.com>
12360
12361         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12362         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12363         * explow.c (trunc_int_for_mode): Abort when the mode is not
12364         a scaler integer mode.
12365         * combine.c (expand_compound_operation): Don't expand Vector
12366         or Complex modes into shifts.
12367         (expand_field_assignment): Don't do bitwise arithmatic and
12368         shifts on Vector or Complex modes.
12369         (simplify_comparison): Don't call trunc_int_for_mode
12370         for VOIDmode.
12371         * recog.c (general_operand): Likewise.
12372         (immediate_operand): Likewise.
12373         (nonmemory_operand): Likewise.
12374
12375 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12376
12377         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12378         multi-instruction SImode constant.  Add REG_EQUAL note.
12379         * config/rs6000/rs6000.md (movsi splitter): Use
12380         rs6000_emit_set_const.
12381
12382 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12383
12384         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12385         the macro test controlling its use.
12386
12387 2002-08-18  H.J. Lu  (hjl@gnu.org)
12388
12389         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12390         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12391         gnu_ld=yes.
12392         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12393         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12394         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12395         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12396         here.
12397         (cris-*-linux*): Remove setting thread_file here.
12398
12399 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12400
12401         PR preprocessor/7602
12402         * cppinit.c (path_include): Treat the system environment
12403         variables as being cxx_aware.
12404
12405 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12406
12407         * c-decl.c (flexible_array_type_p): New function.
12408         (grokdeclarator, finish_struct): Use it.
12409         * doc/extend.texi: Document constraints on use of structures with
12410         flexible array members.
12411
12412 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12413
12414         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12415         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12416         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12417
12418 2002-08-16  Stan Shebs  <shebs@apple.com>
12419
12420         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12421         for ObjC with -fnext-runtime.
12422         * doc/cpp.texi: Document it.
12423
12424 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12425
12426         * doc/install.texi (Final installation): Replace links to individual
12427         build status pages with a link to a common page that lists them all.
12428
12429 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12430
12431         * doc/invoke.texi: Fix typo.
12432
12433 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12434
12435         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12436
12437 2002-08-16  Andrew Haley  <aph@redhat.com>
12438
12439         * tree-inline.c: Add includes for Java inliner.
12440         (remap_decl): Don't handle anonymous types for Java.
12441         (remap_block): Add handling for Java trees.
12442         (copy_scope_stmt): Conditionalize for non-Java use only.
12443         (copy_body_r): Handle Java trees.  Add handling for
12444         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12445         (initialize_inlined_parameters):  Handle Java trees.
12446         (declare_return_variable): Likewise.
12447         (expand_call_inline): Handle Java trees.
12448         (walk_tree): Likewise.
12449         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12450         (add_stmt_to_compound): New function.
12451
12452 2002-08-15  Richard Henderson  <rth@redhat.com>
12453
12454         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12455         (NOCOMMON_FLAG): New substitution point.
12456         (GCC_WARN_CFLAGS): Include it.
12457         * configure.in (ac_checking): Set nocommon_flag.
12458         (nocommon_flag): New substitution point.
12459
12460 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12461
12462         * c-tree.h (skip_evaluation): Move declaration...
12463         * c-common.h: ... here.
12464         * c-typeck.c (build_external_ref): Don't assemble_external nor
12465         mark a tree as used if skip_evaluation is set.
12466         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12467         around TYPEOF.
12468         (typespec_nonreserved_nonattr): Use it.
12469
12470 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12471
12472         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12473         (xcoff_debug_hooks): Update end_prologue.
12474         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12475         * debug.h (end_prologue): Add file arg.
12476         (end_epilogue): Add line and file args.
12477         (dwarf2out_end_epilogue): Add line and file args.
12478         (vmsdbgout_after_prologue): Remove.
12479         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12480         (dwarf2_debug_hooks): Update end_prologue.
12481         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12482         (dwarfout_end_prologue): Add file arg.
12483         * final.c (vmsdbgout_after_prologue): Remove
12484         (final_end_function): Update end_epilogue call.
12485         (final_scan_insn): Update end_prologue call.
12486         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12487         (sdbout_end_prologue): Add file arg.
12488         (sdb_debug_hooks): Update end_prologue.
12489         (sdb_begin_prologue): Update sdbout_end_prologue call.
12490         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12491         vmsdbgout_end_function.
12492         (vmsdbgout_end_prologue): New function renamed from
12493         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12494         (vmsdbgout_end_function): New function.
12495         (vmsdbgout_end_epilogue): Add line and file args. Call
12496         vmsdbgout_source_line.
12497         (write_pclines): Write only valid line numbers.
12498         (write_srccorr): Don't write source correlation records if 0 lines.
12499         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12500
12501 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12502
12503         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12504         (_Unwind_Internal_Ptr): 32 bit version for use in
12505         read_encoded_value_with_base.
12506         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12507         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12508         right size.
12509
12510 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12511
12512         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12513         signed/unsigned warnings.
12514
12515         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12516         record_reg_classes): Likewise.
12517
12518         * reload.c (reload_inner_reg_of_subreg, push_reload,
12519         find_reloads_address_1): Likewise.
12520
12521 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12522
12523         * rs6000.c (output_mi_thunk): Return to function section on
12524         TARGET_ELF.
12525
12526         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12527
12528 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12529
12530         * config/s390/s390.c (legitimize_address): Optimize loading
12531         of large displacements.
12532
12533 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12534
12535         * config/alpha/alpha-protos.h: Update.
12536
12537         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12538         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12539         (alpha_linkage_symbol_p): New static function.
12540         (print_operand_address): Print linkage operand.
12541
12542         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12543         variables.
12544         (reloc_kind): New enum.
12545         (struct alpha_funcs): New struct.
12546         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12547
12548         (alpha_need_linkage): Rewrite.
12549         (alpha_use_linkage): New global function.
12550         (alpha_write_linkage): Rewrite and make static.
12551         (alpha_write_one_linkage): Rewrite
12552
12553         (alpha_start_function): Remove procedure descriptor output.
12554         (alpha_end_function): Write linkages at end of each function.
12555
12556         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12557         (call_vms_1, call_value_vms_1): Rewrite.
12558
12559         * config/alpha/vms.h (ASM_FILE_END): Remove.
12560
12561 2002-08-14  Richard Henderson  <rth@redhat.com>
12562
12563         * ggc-page.c (RTL_SIZE): New.
12564         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12565         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12566
12567 2002-08-14  Richard Henderson  <rth@redhat.com>
12568
12569         * calls.c: Include target.h.
12570         * Makefile.in (calls.o): Update.
12571
12572         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12573         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12574
12575 2002-08-14  Richard Henderson  <rth@redhat.com>
12576
12577         * Makefile.in (LOOSE_WARN): Add -fno-common.
12578         * c-common.h (constant_string_class_name): Add missing extern.
12579
12580 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12581
12582         PR preprocessor/7358
12583         * c-opts.c (check_deps_environment_vars): Ignore main file
12584         for SUNPRO_DEPENDENCIES.
12585         * cppfiles.c (stack_include_file): Ignore main file if
12586         appropriate.
12587         * cpplib.h (struct cpp_options): New member in deps.
12588         * doc/cppenv.texi: Update.
12589
12590 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12591
12592         PR preprocessor/7526
12593         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12594
12595 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12596
12597         * doc/invoke.texi (-a): Remove documentation.
12598         (-fprofile-arcs): Remove reference to -a, -ax options.
12599         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12600
12601 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12602
12603         Fix PR/7566
12604         * c-semantics.c (genrtl_case_label): Don't (mis)use
12605         warning_with_decl.
12606
12607 2002-08-14  Dale Johannesen  <dalej@apple.com>
12608
12609         * explow.c (emit_stack_restore):  Emit memory clobbers
12610         preceding the stack pop, to prevent the scheduler from
12611         moving refs to variable arrays below this pop.
12612         * reload1.c (reload):  Preserve these clobbers for sched2.
12613         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12614
12615 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12616
12617         * c-opts.c (c_common_post_options): Correct test.
12618
12619 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12620
12621         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12622         order in call to fprintf.
12623
12624 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12625
12626         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12627
12628 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12629
12630         * reload.c (find_reloads): Handle constraint letters marked by
12631         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12632         (alternative_allows_memconst): Likewise.
12633         * reload1.c (maybe_fix_stack_asms): Likewise.
12634         * recog.c (asm_operand_ok, preprocess_constraints,
12635         constrain_operands): Likewise.
12636         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12637         * local-alloc.c (block_alloc, requires_inout): Likewise.
12638         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12639
12640         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12641         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12642         * doc/tm.texi: Document these two new target macros.
12643
12644         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12645         valid operands.
12646         (q_constraint): New function.
12647         config/s390/s390-protos.h (q_constraint): Declare it.
12648         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12649         (EXTRA_MEMORY_CONSTRAINT): New macro.
12650
12651         * config/s390/s390.md: Throughout the machine description,
12652         replace all instances of the constraint combinations 'Qo'
12653         or 'oQ' with simply 'Q'.
12654
12655 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12656
12657         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12658         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12659         (LIBGCC2_CFLAGS): Compile with -mrelax.
12660
12661 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12662
12663         * doc/invoke.texi: Document -minmax for 68HC12.
12664
12665         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12666         ("uminqi3"): Likewise.
12667         ("uminhi3", "umaxhi3"): Likewise.
12668
12669         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12670         (TARGET_MIN_MAX): Define.
12671         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12672
12673 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12674
12675         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12676         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12677
12678         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12679         (ret, declare, farsym): New gas macros.
12680         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12681         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12682         and declare the symbol far when compiled with -mlong-calls.
12683         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12684         far handler using jsr/bsr.
12685
12686         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12687         (jsr): New macro to transform a 'jsr' into a 'call'.
12688
12689 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12690
12691         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12692
12693         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12694         -mlong-calls is specified.
12695         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12696         assembler directives.
12697         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12698         (TARGET_SWITCHES): Add -mlong-calls options.
12699         (current_function_far): Declare.
12700
12701         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12702         into account the page register saved on the stack.
12703         (m68hc11_override_options): Take into account -mlong-calls option.
12704         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12705
12706         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12707         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12708         ("*return_16bit"): Likewise.
12709         ("*return_void"): Likewise.
12710         ("call", "call_value"): Use call for a far function call.
12711
12712 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12713
12714         * toplev.c (parse_options_and_default_flags): Don't call
12715         post_options here.
12716         (general_init): Initialize GC, pools and tree hash here,
12717         instead of lang_independent_init.
12718         (lang_independent_init): Rename backend_init.
12719         (do_compile): Call post_options hook; exit early if there
12720         have been errors after switch processing.
12721         (toplev_main): Update.
12722
12723 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12724
12725         * c-pretty-print.h: Guard against multiple inclusion.
12726         Robustify macros.
12727         (pp_c_attributes): Declare.
12728         * c-pretty-print.c (pp_c_attributes): New function.
12729
12730 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12731
12732         * m68k.c (m68k_output_function_prologue,
12733         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12734         and NEWS/MOTOROLA.
12735         * genattrtab.c: Remove dpx2 comment.
12736         * libgcc2.c (__enable_execute_stack): Delete versions for
12737         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12738         sony_news/SYSTYPE_BSD.
12739         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12740         __gmicro__, __i860__, __NeXT__ and __pyr__.
12741         * rtl.h: Remove convex comment.
12742         * varasm.c: Likewise.
12743
12744 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12745
12746         * c-opts.c (lang_flags): Const-ify.
12747         * ra-build.c (undef_table): Likewise.
12748         * ra.c (eliminables): Likewise.
12749
12750 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12751
12752         * tree.h: Guard against multiple inclusion.
12753
12754 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12755
12756         * reload1.c (reload_cse_simplify): Before checking
12757         REG_FUNCTION_VALUE_P, check REG_P.
12758
12759 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12760
12761         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12762
12763 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12764
12765         * c-opts.c (c_common_init_options): Extra braces needed.
12766
12767 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12768
12769         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12770         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12771         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12772         (sh_expand_binop_v2sf): Likewise.
12773         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12774         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12775         (sh_initialize_trampoline): Likewise.
12776
12777 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12778
12779         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12780         new condition code modes.
12781         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12782         (s390_select_ccmode): Likewise.
12783         (s390_branch_condition_mask): Likewise.
12784
12785         * s390-protos.h (s390_tm_ccmode): Declare.
12786         s390.c (s390_tm_ccmode): New function.
12787         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12788
12789         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12790         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12791         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12792
12793         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12794         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12795         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12796         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12797         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12798
12799         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12800         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12801         "*cmpqi_ccs_0"): Remove, replace by ...
12802         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12803         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12804         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12805
12806         ("*cmpsidi_ccs"): Remove, replace by ...
12807         ("*cmpsi_ccs_sign"): ... this new pattern.
12808         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12809
12810         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12811         ("*cli"): ... this new pattern.
12812
12813         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12814         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12815         New patterns.
12816         ("adddi3_64"): Rename to "*adddi3_64".
12817         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12818         ("adddi3"): Adapt expander.
12819
12820         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12821         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12822         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12823
12824         ("addhi3", "addqi3"): Remove, replace by ...
12825         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12826
12827         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12828         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12829         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12830         ("subdi3"): New expander.
12831
12832         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12833
12834         ("subhi3", "subqi3"): Remove, replace by ...
12835         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12836
12837         ("*muldi3_sign"): New pattern.
12838         ("muldi3"): Do not clobber CC.
12839         ("mulsi3"): Likewise.
12840         ("mulsi_6432"): Likewise.
12841
12842 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12843
12844         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12845         which can change CC0.
12846
12847 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12848
12849         * gcse.c (adjust_libcall_notes): New function.
12850         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12851
12852 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12853
12854         * libgcc2.c (L_bb): Remove unneeded #includes.
12855         (__global_counters, __gthreads_active): Remove unused globals.
12856         (__bb_exit_func): Merge counts into files rather than appending.
12857         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12858         (ALL_CFLAGS): ... to here.
12859
12860 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12861
12862         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12863         (function_epilogue): Don't calculate function size.
12864         (ip2k_set_compare): Don't use lookup_const_double.
12865         (asm_file_start): Initialization of commands_in_file removed.
12866         (asm_file_end): Output of commands_in_file removed.
12867
12868         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12869         __INT_MAX__.
12870
12871 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12872
12873         * c-opts.c (c_common_init_options): Check option array is
12874         sorted if checking enabled.
12875
12876 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12877
12878         * c-pretty-print.c: #include "c-tree.h".
12879         (pp_c_simple_type_specifier): Tweak.
12880         (pp_c_storage_class_specifier): New.
12881         (pp_c_function_specifier): Likewise.
12882         (pp_c_declaration_specifiers): Likewise.
12883         (pp_c_init_declarator): Likewise.
12884         (pp_c_declaration): Likewise.
12885         (pp_c_direct_declarator): Stub.
12886         (pp_c_declarator): Likewise.
12887         (pp_c_parameter_declaration): Likewise.
12888
12889 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12890
12891         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12892         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12893         struct deferred_opt): New.
12894         (COMMAND_LINE_OPTIONS): Add -M*.
12895         (missing_arg): Update.
12896         (c_common_decode_option): Handle -M*.
12897         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12898         don't call cpp_post_options.
12899         (c_common_finish, check_deps_environment_vars): Update.
12900         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12901         * cpphash.h (CPP_PRINT_DEPS): Remove.
12902         * cppinit.c: Don't include version.h.
12903         (cpp_create_reader): Don't call deps_init.  Initialize
12904         warn_long_long.
12905         (cpp_read_main_file): Init deps if necessary.
12906         (cpp_destroy): Conditionally free deps.
12907         (cpp_finish): Update.
12908         (no_tgt): Remove.
12909         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12910         (cpp_post_options): Rename post_options.
12911         * cpplib.h (struct cpp_options): Remove some dependency options;
12912         move others to a new structure.
12913         (cpp_post_options): Remove.
12914         (cpp_finish): Comment.
12915         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12916
12917 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12918
12919         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12920         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12921         MMIX_rR_REGNUM as clobbered.
12922         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12923
12924 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12925
12926         * diagnostic.h (output_formatted_scalar): Rename from
12927         output_formatted_integer.
12928         * diagnostic.def: Add DK_DEBUG.
12929         * diagnostic.c (output_decimal): Adjust.
12930         (output_long_decimal): Likewise.
12931         (output_unsigned_decimal): Likewise.
12932         (output_octal): Likewise.
12933         (output_long_octal): Likewise.
12934         (output_hexadecimal): Likewise.
12935         (output_long_hexadecimal): Likewise.
12936         * c-pretty-print.c (pp_c_type_specifier): New function.
12937         (pp_c_specifier_qualifier_list): Likewise.
12938         (pp_c_abstract_declarator): Likewise.
12939         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12940
12941 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12942
12943         * doc/trouble.texi (Disappointments): Add static constructor and
12944         destructor dependency information for AIX.
12945
12946 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12947
12948         * cpphash.h (struct printer): New from cppmain.c.
12949         (cpp_reader): New member.
12950         * cppmain.c (struct printer): Move to cpphash.h.
12951         (options, print): Remove.
12952         (account_for_newlines, print_line, maybe_print_line,
12953         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12954         scan_translation_unit_trad, cb_line_change, cb_ident,
12955         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12956         cb_def_pragma): Make reentrant.
12957
12958 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12959
12960         * real.c (ieee_64): Always define.
12961         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12962         (dec_h): Not used yet, hide it.
12963         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12964         macro controlling use.
12965         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12966
12967 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12968
12969         * i386.md (tablejump): Sign extend the operand.
12970         * i386.c (classify_argument): Fix missed case from previous patch.
12971
12972 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12973
12974         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12975         to c-copts.c.
12976         (warn_multichar): Die.
12977         (cb_register_builtins): Export.
12978         * c-common.h (warn_multichar, preprocess_file): Remove.
12979         (cb_register_builtins): New.
12980         * c-lang.c (c_init): Remove.
12981         (LANG_HOOKS_INIT): Use c_objc_common_init.
12982         * c-lex.c (init_c_lex): Don't canonicalize filename.
12983         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12984         (preprocess_file): Make static.  Update for cpplib.
12985         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12986         (c_common_post_options): Set some cpp options here.
12987         (c_common_init): Move from c-common.c.
12988         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12989         * cpplib.h (struct cpp_options): Remove in_fname.
12990         (cpp_preprocess_file): Update.
12991         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12992
12993 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12994
12995         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12996
12997 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12998
12999         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
13000         backslash in comment preceeding macro definition.
13001         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
13002         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
13003         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
13004
13005 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
13006
13007         * expr.c (store_expr): In condition for checking if value is
13008         generated in TARGET, move call to expr_size last.
13009
13010 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13011
13012         * c-common.c (c_common_init): Call preprocess_file instead.
13013         (c_common_finish): Move to c-opts.c.
13014         * c-common.h (preprocess_file): new.
13015         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
13016         check_deps_environment_vars, c_common_finish): New.
13017         (c_common_decode_option): Update for out_fname and dependencies.
13018         * cppinit.c (init_dependency_output, output_deps): Remove.
13019         (cpp_destroy): Update prototype.
13020         (cpp_add_dependency_target): New.
13021         (cpp_read_main_file): Don't overlay a buffer.
13022         (cpp_finish): Take a deps output stream and write deps to it.
13023         Return the error count.
13024         (cpp_post_options): Don't canonicalize out_fname, or do anything
13025         with dependencies.
13026         * cpplib.h (struct cpp_options): Remove out_fname and
13027         preprocess_only.
13028         (cpp_add_dependency_target): New.
13029         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13030         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13031         set preprocess_only.  Don't handle the output stream directly.
13032
13033 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13034
13035         * dsp16xx.c (print_operand): Fix format specifier.
13036         * dsp16xx.md: Avoid automatic aggregate initialization.
13037         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13038         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13039         integer constant modifier.
13040         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13041         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13042         guards.
13043         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13044         * v850.c (v850_select_section): Mark parameter with
13045         ATTRIBUTE_UNUSED.
13046         * global.c (global_alloc): Const-ify.
13047         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13048
13049 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13050
13051         * darwin-c.c (darwin_pragma_options): Const-ify.
13052         * darwin.c (machopic_non_lazy_ptr_name,
13053         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13054         (machopic_indirect_data_reference): Wrap variables in macros
13055         controlling their use.
13056         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13057         (machopic_select_section): Use parentheses around && within ||.
13058         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13059
13060 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13061
13062         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13063         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13064         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13065         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13066         mdr_try_remove_redundant_insns, track_w_reload,
13067         mdr_try_wreg_elim): Make function static to match prototype.
13068         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13069         parameter with ATTRIBUTE_UNUSED.
13070
13071 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13072
13073         * arc.c (arc_init): Don't use ISO C style function definitions.
13074         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13075         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13076         * avr.h (progmem_section): Likewise.
13077         * h8300.c h8300_asm_insn_count): Likewise.
13078         * m32r.c (init_idents): Likewise.
13079         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13080         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13081         * xtensa.c (xtensa_build_va_list): Likewise.
13082
13083 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13084
13085         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13086         * c-opts.c (parse_option): Rename find_opt.
13087         (set_std_c99): New function.
13088         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13089         (missing_arg): Remove OPT_std_bad.  Handle -o.
13090         (c_common_decode_option): Handle input and output file names,
13091         -o and -remap.  Clean up -std= handling.
13092         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13093         (cpp_handle_option): Similarly.  Don't handle filenames.
13094
13095 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13096
13097         * i386.c (classify_argument): Fix computing of field's offsets.
13098
13099 2002-08-11  Andreas Jaeger  <aj@suse.de>
13100
13101         PR target/7531:
13102         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13103
13104 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13105
13106         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13107         reference to clk_objective_c with flag_objc.
13108         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13109         Likewise.
13110         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13111
13112 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13113
13114         * c-opts.c (set_std_cxx98, set_std_c89): New.
13115         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13116         (c_common_decode_option): Handle new switches from cppinit.c.
13117         Add -std=gnu++98.
13118         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13119         (no_arg, no_num): Remove.
13120         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13121         switches apart from -lang-objc and lang-asm.
13122         (cpp_handle_option): Similarly.
13123         * cpplib.h (cpp_set_lang): New.
13124         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13125         -std=gnu++98.
13126         * objc/lang-specs.h: Remove -ansi.
13127
13128 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13129                                Graham Stott
13130
13131         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13132         errors.
13133
13134 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13135
13136         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13137         emit_jump_insn): Fix uninitialized variable.
13138         * gcov.c (init_line_info): Likewise.
13139         * genautomata.c (transform_3): Add braces around ambiguous
13140         else.
13141         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13142         ATTRIBUTE_UNUSED.
13143         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13144         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13145         variable.
13146
13147         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13148         warnings in output files.
13149
13150 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13151
13152         * c-common.c (flag_objc): New.
13153         * c-common.h (c_language_kind): Get rid of clk_objective_c
13154         enum value.
13155         (flag_objc): New extern declaration.
13156         * c-decl.c (implicitly_declare): Call objc_check_decl
13157         instead of maybe_objc_check_decl.
13158         (finish_decl): Likewise.
13159         (grokfield): Likewise.
13160         (finish_struct): Likewise.
13161         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13162         (maybe_objc_comptypes): Rename to objc_comptypes.
13163         (maybe_building_objc_message_expr): Rename to
13164         objc_message_selector.
13165         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13166         replace with flag_objc as needed.
13167         * c-opts.c (c_common_init_options): Likewise.
13168         (c_common_decode_option): Likewise.
13169         * c-parse.in (init_reswords): Likewise.
13170         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13171         (maybe_objc_comptypes): Rename to objc_comptypes.
13172         (maybe_building_objc_message_expr): Rename to
13173         objc_message_selector.
13174         * c-typeck.c (comptypes): Call objc_comptypes instead of
13175         maybe_objc_comptypes, and/or objc_message_selector instead of
13176         maybe_building_objc_message_expr.
13177         (comp_target_types): Likewise.
13178         (convert_for_assignment): Likewise.
13179         (warn_for_assignment): Likewise.
13180         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13181         independently of those for other languages.
13182         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13183         (maybe_objc_check_decl): Delete.
13184         (maybe_building_objc_message_expr): Rename to
13185         objc_message_selector.
13186         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13187         clk_objective_c; set flag_objc flag.
13188
13189 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13190
13191         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13192
13193 2002-08-09  Dale Johannesen  <dalej@apple.com>
13194
13195         * config/rs6000/rs6000.md: Add sibcall patterns.
13196         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13197         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13198         Rewritten to handle sibcalls.
13199         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13200         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13201
13202 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13203
13204         * profile.c (da_file_name): New static var.
13205         (init_branch_prob): Initialize it.
13206         (end_branch_prob): Remove da file.
13207
13208         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13209         * configure.in (coverage_flags): Default to nothing.
13210         * configure: Rebuilt.
13211
13212 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13213
13214         * Makefile.in (c-opts.o): Update
13215         * c-opts.c: Include intl.h.
13216         (print_help): Move from cppinit.c.  Remove unused options.
13217         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13218         (missing_arg): Complain for switches without an argument.
13219         (c_common_decode_option): Reject missing joined arguments.
13220         Handle new switches from cppinit.c.
13221         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13222         (cpp_handle_option): Similarly.
13223         (print_help): Moved to c-opts.c.
13224         * cpplib.h (struct cpp_options): Remove help_only.
13225         * gcc.c (cpp_unique_options): Remove -$.
13226         * doc/cppopts.texi: Undocument -h.
13227
13228 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13229
13230         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13231         legitimate constant.
13232         (legitimate_pic_operand_p): Neither pic operand.
13233         (legitimate_address_p): But legitimate address.
13234         (get_thread_pointer): Generate MEM/u instead of CONST around
13235         UNSPEC_TP.
13236         (print_operand): Remove printing of UNSPEC_TP.
13237         (print_operand_address): And print it here.
13238
13239 2002-08-08  Devang Patel  <dpatel@apple.com>
13240
13241         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13242         when  -Wselector is used,if method for which selector is being
13243         created does not exist.
13244
13245 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13246
13247         * config/sh/sh.c (prepare_move_operands): Only call
13248         target_reg_operand if TARGET_SHMEDIA.
13249
13250 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13251
13252         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13253         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13254         two patches.
13255         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13256
13257 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13258             Richard Henderson  <rth@redhat.com>
13259
13260         * emit-rtl.c (gen_rtx_REG): After reload, only return
13261         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13262
13263 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13264
13265         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13266         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13267         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13268         macro.
13269
13270 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13271
13272         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13273         register.
13274         (thumb_expand_prologue): Likewise.
13275         (thumb_output_function_prologue): Likewise.
13276         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13277         the additional push of the PIC register.
13278
13279 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13280
13281         * configure.in (enable_coverage): New enable switch.
13282         * configure: Rebuilt.
13283         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13284         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13285         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13286         (mostlyclean): Remove coverage files.
13287         * doc/install.texi: Document enable_coverage.
13288
13289         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13290         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13291         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13292         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13293         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13294         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13295         files.
13296
13297 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13298
13299         * c-opts.c (cpp_opts): New.
13300         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13301         (c_common_decode_options): Handle cpplib switches.
13302         (c_common_init_options): Set cpp_opts.
13303         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13304         (cpp_handle_option): Similarly.
13305
13306 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13307
13308         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13309         (TARGET_ALTIVEC_ABI): Same.
13310         (TARGET_ALTIVEC_VRSAVE): Same.
13311
13312         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13313         icode not CODE_FOR_nothing.  Change switch to if.
13314
13315 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13316
13317         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13318
13319 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13320
13321         * stor-layout.c (place_union_field): For bitfields if
13322         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13323         TYPE_USER_ALIGN.
13324
13325 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13326
13327         * pa.c (struct deferred_plabel): Constify name field.
13328
13329 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13330
13331         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13332
13333 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13334
13335         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13336         local_prefix are the same.
13337         * configure: Rebuilt.
13338
13339 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13340             Richard Henderson  <rth@redhat.com>
13341
13342         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13343         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13344         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13345         (place_field): Likewise.
13346         * config/i386/i386.c (x86_field_alignment): Don't check
13347         DECL_USER_ALIGN here.
13348         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13349         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13350         prototype.
13351         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13352         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13353         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13354         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13355         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13356         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13357
13358 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13359
13360         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13361         * c-common.c: Don't include tree-inline.h.
13362         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13363         * c-common.h (c_common_decode_option): New.
13364         * c-decl.c (c_decode_option): Remove.
13365         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13366         * c-opts.c: New file.
13367         * c-tree.h (c_decode_option): Remove.
13368         * doc/passes.texi: Update.
13369         * objc/objc-act.c (objc_decode_option): Remove.
13370         * objc/objc-act.h (objc_decode_option): Remove.
13371         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13372         c_common_decode_option.
13373
13374 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13375
13376         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13377         dependency on TARGET_DOUBLE_FLOAT.
13378
13379 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13380
13381         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13382         overwrite callee-save registers.  Fix comment.
13383
13384 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13385
13386         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13387         in target_flags based on ISA, if it was not set on the command
13388         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13389         support Branch Likely instructions.
13390         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13391         (TARGET_BRANCHLIKELY): Likewise.
13392         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13393         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13394         ISA_HAS_BRANCHLIKELY.
13395         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13396         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13397         -mno-branch-likely options.
13398
13399 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13400
13401         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13402
13403         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13404         $(GCONFIG_H).
13405
13406 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13407
13408         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13409         declarations.
13410
13411         * testsuite/gcc.dg/tls/diag-3.c: New.
13412
13413 2002-08-06  Dale Johannesen  <dalej@apple.com>
13414
13415         * c-common.c (fname_decl): Use line number 0 for
13416         __func__, to avoid confusing debuggers.
13417
13418 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13419
13420         * gcov.c: Tidy.
13421         (struct line_info, struct coverage): New structures.
13422         (gcov_file_name, gcov_file): Remove globals.
13423         (output_data): Take source file parameter. Fix memory leak. Break
13424         up into ...
13425         (init_line_info, output_line_info, make_gcov_file_name,
13426         accumulate_branch_counts): ... here.
13427         (calculate_branch_probs, function_summary): Adjust.
13428         (main): Adjust.
13429         (function_*): Remove global variables.
13430
13431 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13432
13433         * dwarf2out.c: Remove unused macros.
13434
13435 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13436
13437         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13438
13439 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13440
13441         * cppinit.c (struct lang_flags): Rename trigraphs std.
13442         (set_lang): Update.
13443         * cpplib.h (struct cpp_options): New member std.
13444         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13445         (collect_args): Flag whether to swallow a possible future
13446         comma pasted with varargs.
13447         (replace_args): Use this flag.
13448         * doc/cpp.texi: Update varargs extension documentation.
13449
13450 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13451
13452         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13453
13454 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13455
13456         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13457         and MODE_CLASS_INT modes.
13458
13459 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13460
13461         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13462         --{enable,disable}-threads is given to configure.
13463         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13464         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13465         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13466         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13467         Remove thread_file setting here.
13468
13469 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13470
13471         * doc/install.texi (Binaries): Update Bull Freeware URL.
13472
13473 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13474
13475         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13476
13477 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13478
13479         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13480
13481 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13482
13483         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13484         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13485
13486 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13487
13488         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13489         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13490         drectve_section): Define.
13491         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13492         * config/i386/interix.c: Remove.
13493
13494 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13495
13496         * attribs.c: Don't include obstack.h.
13497         * builtins.c: Likewise.
13498         * cfganal.c: Likewise.
13499         * cfgbuild.c: Likewise.
13500         * cfgcleanup.c: Likewise.
13501         * emit-rtl.c: Likewise.
13502         * loop.c: Likewise.
13503         * stmt.c: Likewise.
13504
13505         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13506
13507 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13508
13509         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13510
13511 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13512
13513         * doc/invoke.texi: Remove duplicated paragraph describing
13514         TARGET_SWITCHES.
13515
13516 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13517
13518         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13519         * collect2.h (permanent_obstack): Delete declaration.
13520         * collect2.c (permanent_obstack): Delete definition.
13521         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13522         * expr.c: Don't include obstack.h.
13523         (permanent_obstack): Delete declaration.
13524         * function.c: Don't include obstack.h.
13525         (permanent_obstack): Delete declaration.
13526         * integrate.c: Don't include obstack.h.
13527         (function_maybepermanent_obstack): Delete declaration.
13528         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13529         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13530         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13531         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13532         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13533         of permalloc, expralloc, perm_calloc.
13534         * tree.c (permanent_obstack): Delete definition.
13535         (init_ttree): Rename from init_obstacks.
13536         (permalloc): Delete.
13537         (perm_calloc): Delete.
13538         (dump_tree_statistics): Don't print information about
13539         permanent_obstack.
13540         * varasm.c (assemble_start_function): Use xstrdup instead of
13541         permalloc/strcpy.
13542         (assemble_variable): Likewise.
13543         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13544         permalloc.
13545         (unicosmk_add_extern): Likewise.
13546         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13547         (c4x_global_label): Likewise.
13548         * config/frv/frv.c (frv_encode_section_info): Likewise.
13549         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13550         (i386_pe_record_exported_symbol): Likewise.
13551         * config/mips/mips.c (mips_output_external): Likewise.
13552         (mips_output_external_libcall): Likewise.
13553         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13554         (output_call): Use ggc_strdup instead of allocating on
13555         permanent_obstack.
13556         * config/romp/romp.c: Include ggc.h.
13557         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13558         intead of permanent_obstack.
13559         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13560         instead of permalloc.
13561         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13562         instead of permalloc
13563         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13564         instead of permalloc.
13565         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13566         permalloc.
13567
13568 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13569
13570         Contribute a port developed primarily by Michael Meissner,
13571         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13572         * config.gcc: Add frv-elf target.
13573         * config/frv/cmovd.c: New file.
13574         * config/frv/cmovh.c: New file.
13575         * config/frv/cmovw.c: New file.
13576         * config/frv/frv-abi.h: New file.
13577         * config/frv/frv-asm.h: New file.
13578         * config/frv/frv-modes.def: New file.
13579         * config/frv/frv-protos.h: New file.
13580         * config/frv/frv.c: New file.
13581         * config/frv/frv.h: New file.
13582         * config/frv/frv.md: New file.
13583         * config/frv/frvbegin.c: New file.
13584         * config/frv/frvend.c: New file.
13585         * config/frv/lib1funcs.asm: New file.
13586         * config/frv/media.h: New file.
13587         * config/frv/modi.c: New file.
13588         * config/frv/t-frv: New file.
13589         * config/frv/uitod.c: New file.
13590         * config/frv/uitof.c: New file.
13591         * config/frv/ulltod.c: New file.
13592         * config/frv/ulltof.c: New file.
13593         * config/frv/umodi.c: New file.
13594         * config/frv/xm-frv.h: New file.
13595
13596         * config/frv/media.h: Removed again.
13597
13598 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13599
13600         * gcov.c (bb_file_time): New static variable.
13601         (object_directory): May also be object file.
13602         (preserve_paths): New static variable.
13603         (print_usage): Adjust.
13604         (options): Adjust.
13605         (process_args): Adjust.
13606         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13607         file. Find modification date on bb file.
13608         (read_profile): Don't rewind a NULL file.
13609         (format_hwint): New static function.
13610         (function_summary): Use format_hwint.
13611         (output_data): SOURCE_FILE_NAME is never relative to
13612         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13613         mangling. Adjust output format to make it more machine readable.
13614         * doc/gcov.texi: Document & clarify semantics.
13615
13616 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13617
13618         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13619
13620 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13621
13622         * gcc.c (cc1_options): Pass output file as auxbase when
13623         appropriate.
13624         * profile.c (init_branch_prob): FILENAME has already had ending
13625         stripped.
13626         * final.c (end_final): Likewise.
13627         * toplev.c (aux_base_name): New global.
13628         (compile_file): Pass aux_base_name to init init_branch_prob and
13629         end_final.
13630         (independent_decode_option, case 'a'): New auxinfo options.
13631         (case 'd'): Protect against mising basename.
13632         (do_compile): Initialize aux_base_name.
13633         * toplev.h (aux_base_name): New global.
13634         * doc/invoke.texi: Adjust documentation.
13635
13636 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13637
13638         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13639         of TARGET_ALIGN_DOUBLE.
13640
13641 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13642
13643         * diagnostic.c (inform): New function.
13644         * diagnostic.h (inform): Declare.
13645
13646 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13647
13648         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13649         (movhi_internal): Same.
13650         (movqi_internal): Same.
13651         (movdi_internal64): Same.
13652
13653         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13654
13655         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13656         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13657         (COMMON_ASM_OP): Define.
13658         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13659         Use ALIGN parameter.
13660         (LOCAL_COMMON_ASM_OP): Define.
13661         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13662
13663 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13664
13665         * builtins.def: Define new builtin functions exp, expf, expl,
13666         log, logf and logl (and their __builtin_* variants).
13667         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13668         Define exp_optab and log_optab.
13669         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13670         * genopinit.c (optabs): Implement exp_optab and log_optab
13671         using exp?f2 and log?f2 patterns.
13672         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13673         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13674         (expand_builtin): Ignore the new builtins (and all cos and
13675         sin variants) when not optimizing.  Expand new builtins via
13676         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13677
13678         * doc/extend.texi: Document new exp and log builtins.
13679         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13680         (and previously undocumented cos?f2 and sin?f2 patterns).
13681
13682 2002-08-03  Jason Merrill  <jason@redhat.com>
13683
13684         * explow.c (int_expr_size): New fn.
13685         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13686         * expr.h: Declare it.
13687
13688 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13689
13690         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13691         gengtype-* dependencies.
13692
13693 2002-08-02  Eric Christopher  <echristo@redhat.com>
13694
13695         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13696         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13697         #ifndef to #undef.
13698         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13699
13700 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13701
13702         PR optimize/7067
13703         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13704         small if optimizing for size.
13705
13706 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13707
13708         * configure.in (FORBUILD): Use $build_alias.
13709         * configure: Regenerated.
13710
13711 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13712
13713         * config.gcc: Don't include mips/abi64.h in $tm_file.
13714         * hard-reg-set.h (call_really_used_regs): Declare.
13715         * config/mips/abi64.h: Remove file.
13716         * config/mips/linux.h,
13717         * config/mips/iris6.h: Don't include it.
13718         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13719         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13720         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13721         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13722         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13723         Bring across definitions from abi64.h.
13724         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13725         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13726         (struct mips_args): Use it.
13727         * config/mips/mips.c (mips_conditional_register_usage): Define.
13728
13729 2002-08-02  Jason Merrill  <jason@redhat.com>
13730
13731         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13732         * langhooks.c (lhd_expr_size): Define default.
13733         * langhooks.h (struct lang_hooks): Add expr_size.
13734         * explow.c (expr_size): Call it.
13735         * expr.c (store_expr): Don't copy an expression of size zero.
13736         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13737         to store.
13738         * Makefile.in (builtins.o): Depend on langhooks.h.
13739
13740 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13741
13742         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13743         * ra-debug.c: Include "tm_p.h".
13744         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13745
13746 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13747
13748         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13749         when not honoring signalling NaNs.
13750         (simplify_ternary_operation): a == b has a definite value
13751         when not honoring NaNs.
13752
13753 2002-08-02  Jason Merrill  <jason@redhat.com>
13754
13755         * gdbinit.in (pct): New macro.
13756
13757 2002-08-01  Stan Shebs  <shebs@apple.com>
13758             Andreas Tobler  <toa@pop.agri.ch>
13759
13760         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13761         plays nice with Darwin headers.
13762         (_BSD_RUNE_T_DEFINED_): Likewise.
13763
13764 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13765
13766         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13767         * cppinit.c (cpp_post_options): Likewise.
13768
13769         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13770         warning about 'LL' suffix (but not 'ULL' etc) when
13771         -Wno-long-long is in effect.
13772
13773         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13774         Check for failing time()/localtime(), issue a warning, and
13775         make __TIME__ and __DATE__ expand to fallback strings.
13776
13777         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13778         and __TIME__ when the date and time cannot be determined.
13779
13780 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13781
13782         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13783
13784 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13785
13786         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13787
13788 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13789
13790         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13791         (mipsisa64sb1el-*-elf*): Likewise.
13792         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13793         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13794         (TARGET_SB1, TUNE_SB1): New macros.
13795         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13796         -mtune flags.
13797
13798 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13799
13800         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13801         and ASM_EMIT_BSS not supported by target.
13802         (assemble_variable): Do not duplicate uninitialized logic.
13803         Fall through if asm_emit_uninitialized failed.
13804
13805 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13806
13807         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13808
13809 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13810
13811         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13812         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13813
13814         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13815         HOST_BITS_PER_WIDE_INT == 64.
13816
13817 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13818
13819         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13820         * optabs.c (expand_binop): Make variable unsigned.
13821         * simplify-rtx.c (simplify_subreg): Likewise.
13822         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13823
13824 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13825
13826         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13827
13828 2002-08-01  Richard Henderson  <rth@redhat.com>
13829
13830         * toplev.c (parse_options_and_default_flags): Don't set
13831         flag_reorder_blocks for -Os.
13832
13833         * config/avr/avr.c (avr_optimization_options): Remove.
13834         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13835         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13836         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13837
13838 2002-08-01  H.J. Lu <hjl@gnu.org>
13839             Richard Henderson  <rth@redhat.com>
13840
13841         * output.h (DECL_READONLY_SECTION): Remove.
13842         (decl_readonly_section): Declare.
13843         * varasm.c (decl_readonly_section): New.
13844         (default_section_type_flags, default_select_section): Use it.
13845         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13846         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13847         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13848         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13849         * config/mips/mips.c (mips_unique_section): Likewise.
13850
13851 2002-08-01  Richard Henderson  <rth@redhat.com>
13852
13853         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13854         refers to a subroutine parameter.
13855
13856 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13857
13858         * varasm.c (assemble_visibility): Strip name encoding.
13859
13860 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13861
13862         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13863         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13864         when there is no frame pointer.
13865         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13866         registers properly.
13867         * config/ns32k/__unorddf2.c: New file.
13868         * config/ns32k/__unordsf2.c: New file.
13869         * config/ns32k/t-ns32k: New file.
13870         * config.gcc (ns32k-*-netbsd*): Use it.
13871
13872 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13873
13874         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13875
13876 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13877
13878         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13879
13880 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13881
13882         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13883
13884 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13885
13886         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13887
13888 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13889
13890         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13891         n_sets): Removed.
13892         (expr_hash_table, set_hash_table): Type changed to ...
13893         (struct hash_table): New type.
13894         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13895         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13896         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13897         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13898         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13899         (alloc_hash_table): New.
13900         (free_set_hash_table, free_expr_hash_table): Merged to ...
13901         (free_hash_table): New.
13902         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13903         (compute_hash_table_work): New.
13904         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13905         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13906         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13907         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13908         hoist_code, one_code_hoisting_pass,
13909         trim_ld_motion_mems): Altered due to changed type of hash tables.
13910
13911 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13912
13913         * final.c (output_alternate_entry_point):
13914         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13915
13916 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13917
13918         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13919         avoid ISO C style function definition.
13920
13921         * expr.c (expand_assignment): Delete unused variable.
13922
13923 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13924
13925         * c-common.c (cb_register_builtins): Set
13926         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13927         is given, and to 0 otherwise.
13928         * combine.c (simplify_if_then_else): HONOR_NANS
13929         implies FLOAT_MODE_P.
13930
13931 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13932
13933         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13934         (cpp_handle_option): Don't handle it.
13935         (print_help): Update.
13936         * doc/cppopts.texi: Update.
13937
13938 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13939
13940         * c-common.c (cb_register_builtins): If C++, define
13941         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13942         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13943 cp:
13944         * lang-specs.h: Simplify in accordance with new code in
13945         c-common.c.
13946
13947 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13948
13949         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13950         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13951         * c-decl.c: Move all warning and flag variables to c-common.c.
13952         * c-format.c: Move all warning variables to c-common.c.
13953         * c-tree.h: Move all warning and flag declarations to c-common.h.
13954         * objc/objc-act.c: Move all warning variables to c-common.c.
13955         (flag_warn_protocol): Rename warn_protocol.
13956
13957 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13958
13959         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13960
13961 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13962
13963         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13964         .section prefix.
13965
13966 2002-07-31  Stan Shebs  <shebs@apple.com>
13967
13968         * config.gcc (i[34567]86-*-darwin*): New configuration.
13969         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13970         defining.
13971         (TARGET_ENCODE_SECTION_INFO): Ditto.
13972         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13973         * config/darwin.c (machopic_indirect_data_reference): Remove
13974         setting of RTX_UNCHANGING_P.
13975         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13976         not to be applied to sums.
13977         * config/i386/t-darwin: New file.
13978         * config/i386/darwin.h: New file.
13979         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13980         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13981         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13982         label and not the GOT add.
13983         (constant_address_p): For Mach-O, seeing a CONST is enough.
13984         (legitimate_pic_address_disp_p): Add a Mach-O case.
13985         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13986         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13987         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13988         if outputting a difference.
13989         (ix86_output_addr_diff_elt): Add Mach-O case.
13990         (ix86_expand_move): Similarly.
13991         (ix86_expand_call): Similarly.
13992         (current_machopic_label_num): New global.
13993         (machopic_output_stub): New function.
13994         (ix86_value_regno): New function.
13995         (ix86_function_value): Use it instead of VALUE_REGNO.
13996         (ix86_libcall_value): Ditto.
13997         * config/i386/unix.h (VALUE_REGNO): Remove.
13998
13999 2002-07-31  Graham Stott  <grahas@btinternet.com>
14000
14001         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
14002         hash for LABEL_REF's.
14003
14004 2002-07-31  Graham Stott  <grahams@btinternet.com>
14005
14006         * config/rs6000/rs6000.c (spe_init_builtins,
14007         altivec_init_builtins, rs6000_common_init_builtins):
14008         Replace ANSI with K&R function def.
14009
14010 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
14011
14012         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
14013         for CCFPmode.
14014
14015 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14016
14017         * config/mips/crtn.asm: Don't use __mips16 to determine the
14018         return-address offset.  Define RA to a suitable temporary
14019         register for the return address.
14020
14021 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
14022
14023         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
14024         constraints to 'd'.
14025
14026 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14027
14028         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14029         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14030         patch on 2002-07-29.)
14031         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14032
14033 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14034
14035         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14036         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14037         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14038         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14039         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14040         (ASM_GLOBALIZE_LABEL): Delete.
14041         (GLOBAL_ASM_OP): Define.
14042
14043         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14044
14045         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14046         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14047
14048 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14049
14050         * doc/extend.texi (Hints implementation): Document that GCC
14051         mostly ignores `register'.
14052
14053 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14054
14055         * flags.h: Declare flag_finite_math_only.
14056         Use it in definition of HONOR_NANS and
14057         HONOR_INFINITIES.
14058         * c-common.c (cb_register_builtins): Emit
14059         __FINITE_MATH_ONLY__ when flag_finite_math_only
14060         is set.
14061         * combine.c (simplify_if_then_else): If
14062         flag_finite_math_only is set, a == b has a
14063         definite value.
14064         * toplev.c: Initialize flag_finite_math_only.
14065         (set_flags_fast_math): Set it on -ffast-math.
14066         (flag_fast_math_set_p): Test it.
14067         * doc/invoke.texi: Document -ffinite-math-only.
14068
14069 2002-07-30  Richard Henderson  <rth@redhat.com>
14070
14071         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14072         (noce_process_if_block): Likewise.
14073
14074 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14075
14076         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14077         Bail out early if false_expr is NULL and we'd crash due to this.
14078         * genemit.c (gen_expand): Recognize return insns even if the return
14079         appears in a parallel.
14080         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14081         * config/fp-bit.c: Likewise.
14082         * doc/tm.texi: Document it.
14083
14084 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14085             Zack Weinberg  <zack@codesourcery.com>
14086
14087         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14088         CODE_FOR_nothing.  Change switch to if.
14089         (rs6000_expand_binop_builtin): Same.
14090         (rs6000_expand_builtin): Expand builtin if target support enabled.
14091         (rs6000_init_builtins): Init builtin if target support enabled.
14092         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14093
14094 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14095
14096         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14097
14098 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14099
14100         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14101
14102 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14103
14104         * sh.md (cond_delay_slot): New attribute.
14105         (cbranch delay): Use it for anulled-true case.
14106         (stuff_delay_slot): New pattern.
14107         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14108         delay slot insn.
14109         (gen_far_branch): Emit stuff_delay_slot pattern.
14110
14111 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14112
14113         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14114
14115 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14116
14117         * fold-const.c: Fix comment typos.
14118         * gcse.c: Likewise.
14119         * reload1.c: Likewise.
14120
14121 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14122
14123         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14124         for TARGET_SPE.
14125
14126 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14127
14128         * c-pretty-print.h (pp_c_statement): Declare.
14129         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14130         (pp_c_statement): Define.
14131
14132 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14133
14134         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14135         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14136         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14137         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14138         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14139         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14140
14141         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14142         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14143
14144 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14145
14146         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14147         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14148         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14149         (pp_c_expression): Update.
14150
14151 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14152
14153         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14154         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14155         * alpha/vms-ld.c (main): Likewise.
14156         * dsp16xx.c (double_reg_to_memory): Likewise.
14157         * mcore.c (mcore_expand_prolog): Likewise.
14158         * cppfiles.c (read_name_map): Likewise.
14159         * gensupport.c (process_rtx, identify_predicable_attribute,
14160         alter_test_for_insn): Likewise.
14161         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14162
14163 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14164
14165         * builtins.c (expand_builtin):  Change the default behavior to
14166         only issue an error if the builtin function doesn't have a
14167         fallback library call.  Remove several cases handled by the
14168         new default.
14169
14170 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14171
14172         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14173         floating point format of the target is IEEE.
14174         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14175         format of the target is DEC.
14176
14177 2002-07-29  Richard Henderson  <rth@redhat.com>
14178
14179         * unroll.c (verify_addresses): Remove.
14180         (find_splittable_givs): Never split DEST_ADDR givs.
14181
14182 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14183
14184         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14185         is exhaustive.
14186         (Files): Improve documentation on generated source files.
14187
14188         * doc/extend.texi (Translation implementation): Document what
14189         diagnostics look like.
14190         (Identifiers implementation): Document that there's normally no
14191         limit on identifier names.
14192         (Integers implementation): Document two's complement.
14193         (Hints implementation): Document that GCC honors 'inline', mostly.
14194         (Preprocessing directives implementation): Document that GCC
14195         requires the current time.
14196
14197 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14198
14199         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14200         (pp_initializer): New macro.
14201         (pp_c_initializer): Declare.
14202         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14203         (pp_c_initializer): Define.
14204         (pp_c_initializer_list): New function.
14205         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14206         VECTOR_CST, CONSTRUCTOR.
14207         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14208         IMAGPART_EXPR.
14209         (pp_c_cast_expression): Handle FLOAT_EXPR.
14210         (pp_c_assignment_expression): Handle INIT_EXPR.
14211         (pp_c_expression): Update.
14212
14213 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14214
14215         * objc/objc-act.c (objc_init): Return immediately if filename
14216         is NULL.
14217
14218 2002-07-29  Eric Christopher  <echristo@redhat.com>
14219
14220         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14221         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14222         (SDB_DEBUGGING_INFO): Undefine.
14223         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14224         (PUT_SDB_SIZE): Remove.
14225         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14226         (STARTFILE_SPEC): Add isa3264 define.
14227         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14228         * config/mips/ecoff.h: Remove. and here...
14229         * config/mips/iris3.h: and here...
14230         * config/mips/sni-svr4.h: and here...
14231         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14232         Add assembler -mmdebug options for non-dwarf debugging.
14233         * config/mips/r3900.h: Remove debug info defines.
14234         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14235         * config/mips/isa3264.h: Ditto.
14236         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14237         change.
14238         * config/mips/t-elf: Ditto.
14239         * config/mips/t-ecoff: Ditto.
14240         * config/mips/t-r3900: Ditto.
14241         * config/mips/t-iris5-6: Ditto.
14242         * config/mips/t-isa3264: Ditto.
14243         * config/mips/t-linux: Remove.
14244         * config/mips/t-netbsd: Remove.
14245         * config/mips/t-mips: New file.
14246         * config/mips/t-gofast: Ditto.
14247         * config/mips/netbsd.h: Remove unnecessary undefines.
14248         * config/mips/linux.h: Remove #include of mips.h.
14249         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14250         for ecoff. Add gofast configure option for mips.
14251
14252 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14253
14254         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14255         linker scripts use STARTUP directives consistently.
14256         * configure: Regenerate.
14257         * config.in: Regenerate.
14258         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14259         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14260         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14261         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14262         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14263         will be the same.
14264
14265 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14266
14267         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14268
14269 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14270
14271         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14272
14273 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14274
14275         * config/rs6000/rs6000.md: Move altivec patterns from here...
14276
14277         * config/rs6000/altivec.md: ...to here.
14278
14279 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14280
14281         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14282
14283 2002-07-29  Richard Henderson  <rth@redhat.com>
14284
14285         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14286         set_mem_attributes and add BITPOS argument.  Subtract it from
14287         OFFSET when same is adjusted.
14288         (set_mem_attributes): New wrapper function.
14289         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14290         remove offset adjustment hack.
14291         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14292
14293 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14294
14295         * Makefile.in (C_OBJS): Include c-pretty-print.o
14296         (c-pretty-print.o): Add depency rule.
14297         * pretty-print.h: Add more macros.
14298         * c-pretty-print.c: New file.
14299         * c-pretty-print.h: Likewise.
14300
14301 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14302
14303         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14304         constants to __ev64_s32__.
14305         (__internal_ev_mwhgsmian): Same.
14306         (__internal_ev_mwhgsmfan): Same.
14307         (__internal_ev_mwhgssfan): Same.
14308         (__internal_ev_mwhgumiaa): Same.
14309         (__internal_ev_mwhgsmiaa): Same.
14310         (__internal_ev_mwhgsmfaa): Same.
14311         (__internal_ev_mwhgssfaa): Same.
14312
14313 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14314
14315         * varasm.c (assemble_variable): Narrow test for uninitialized
14316         without BSS target support.
14317
14318 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14319
14320         * profile.c: Add file comment describing the overall algorithm and
14321         structures.
14322         (struct edge_info): Add comments.
14323         (struct bb_info): Add comments.
14324         * basic-block.h (EDGE_*): Add comments.
14325         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14326
14327 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14328
14329         * config/xtensa/elf.h, config/xtensa/linux.h
14330         (TARGET_OS_CPP_BUILTINS): Define.
14331         (CPP_PREDEFINES): Remove.
14332         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14333         (CPP_SPEC): Remove.
14334
14335 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14336
14337         * gensupport.c: Include hashtab.h.
14338         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14339         maybe_eval_c_test): New routines and data structures to
14340         support insn elision.
14341         (init_md_reader): Read and initialize the condition_table.
14342         (read_md_rtx): Discard insn patterns whose C test is provably
14343         always false.
14344         * gensupport.h: Declare new functions and data structures.
14345
14346         * genconditions.c, dummy-conditions.c: New files.
14347         * Makefile.in: Build genconditions; run it to construct
14348         insn-conditions.c; build that and link it into most gen*
14349         programs.
14350         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14351         (GEN): Delete, unused.
14352         (STAGESTUFF): Update.
14353
14354         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14355         CODE_FOR_nothing for all elided patterns.
14356         (main): Tweaked to support this.
14357         * genflags.c (gen_proto): Emit a static inline generator
14358         function here for all elided patterns, which simply returns
14359         NULL_RTX.
14360         (gen_insn): Do not define HAVE_xxx for elided patterns.
14361         (main): Tweaked to support this.  No need to forward-declare
14362         struct rtx_def.
14363         * genrecog.c: Do not bother emitting the C test if it's known
14364         to be true at compile time.
14365
14366 2002-07-29  Mike Stump  <mrs@apple.com>
14367
14368         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14369         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14370
14371 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14372
14373         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14374         remove clobber of LR.
14375         (sibcall_insn, sibcall_value_insn): Update accordingly.
14376         (sibcall_epilogue): Remove debugging comment from assembler stream.
14377
14378 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14379
14380         * pretty-print.h: Define more macros.
14381         * diagnostic.h (output_formatted_integer): Moved from...
14382         * diagnostic.c: ... here.
14383
14384 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14385
14386         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14387
14388 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14389
14390         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14391         arguments.  Always use ".-symbol" as expression argument.
14392         * doc/tm.texi: Update to match.  Document requirement for
14393         ".size symbol, .-symbol" to be acceptable to assembler.
14394
14395         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14396         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14397         config/i386/freebsd-aout.h, config/i386/sco5.h,
14398         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14399         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14400
14401 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14402
14403         * Makefile.in (gengtype-lex.c): Fix error in last change.
14404
14405         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14406         backslash.
14407
14408         * Makefile.in (vmsdbgout.o): Depend on function.h.
14409
14410         * vmsdbgout.c: Include function.h.
14411
14412 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14413
14414         * prefix.c (update_path): Don't strip single `.' path components
14415         unless stripping a later `..' component.  Exit loop as soon as
14416         a valid path is found.
14417
14418 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14419
14420         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14421         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14422         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14423         floating point unordered comparisons (e.g. __builtin_isgreater)
14424         as const, and leave the remaining GCC_BUILTINs unchanged.
14425
14426         * c-decl.c (builtin_function): No need to explicitly mark
14427         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14428
14429 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14430
14431         * Makefile.in: rtlanal.o now depends upon real.h.
14432
14433         * flags.h [flag_signaling_nans]: New flag.
14434         [HONOR_SNANS]: New macro.
14435
14436         * toplev.c [flag_signaling_nans]: Initialize to false.
14437         (f_options): Add processing for "-fsignaling-nans".
14438         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14439         (process_options): flag_signaling_nans implies flag_trapping_math.
14440
14441         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14442         when -fsignaling-nans.  First step to implementing WG14's N965.
14443
14444         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14445         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14446         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14447
14448         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14449         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14450
14451         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14452         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14453         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14454         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14455         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14456
14457         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14458
14459 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14460
14461         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14462         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14463         (YY_DECL): Define.
14464
14465 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14466
14467         * doc/invoke.texi: Document that both -fno-builtin-foo and
14468         -fno-builtin are supported by the g++ front-end.
14469
14470 2002-07-27  Stan Shebs  <shebs@apple.com>
14471
14472         * configure.in: Rename config_gtfiles to target_gtfiles.
14473         * configure: Regenerate.
14474         * doc/gty.texi: Update reference.
14475         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14476         instead of appending to it.
14477
14478 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14479
14480         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14481         vectors are split into two registers.
14482         (function_arg): Same.
14483
14484 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14485
14486         * pa.md (extv): Check predicates before emitting extv_32.
14487
14488 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14489
14490         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14491         (rs6000_traceback): New var.
14492         (rs6000_override_options): Set rs6000_traceback.
14493         (rs6000_output_function_epilogue): Implement traceback options.
14494         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14495         (rs6000_traceback_name): Declare.
14496
14497         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14498         label reference when NO_PROFILE_COUNTERS.
14499
14500 2002-07-26  Jason Merrill  <jason@redhat.com>
14501
14502         * function.c (assign_parms): Handle frontend-directed pass by
14503         invisible reference.
14504
14505 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14506
14507         * doc/cppopts.texi: Update.
14508
14509 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14510
14511         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14512         warnings on assertions.
14513
14514 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14515
14516         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14517         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14518         RID_COMPL): Remove.
14519         * c-parse.in (rid_to_yy): Similarly.
14520
14521 2002-07-26  Jason Merrill  <jason@redhat.com>
14522
14523         * c-dump.c: Resurrect.
14524         * tree-dump.c: Move C-specific stuff to c-dump.c.
14525         * c-common.h: Declare c_dump_tree.
14526         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14527         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14528         (c-dump.o): New rule.
14529
14530 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14531
14532         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14533         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14534         predicate will do.  Formatting fixes.
14535         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14536         as for extzvsi_internal1.
14537
14538 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14539
14540         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14541         DERIV_END_LABEL_FMT): Remove.
14542         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14543
14544 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14545
14546         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14547         Remove.
14548
14549 2002-07-25  Stan Shebs  <shebs@apple.com>
14550
14551         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14552         local var dwarfp.
14553         (output_compiler_stub): Remove unused locals.
14554         (output_call): Always initialize line number.
14555
14556 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14557
14558         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14559         * sh.md (truncdiqi2, movqi_media): Likewise.
14560
14561 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14562
14563         * gcse.c (obstack_chunk_alloc): Remove.
14564         (gcse_alloc): Fix to count allocated bytes.
14565         * collect2.c (SYMBOL__MAIN): Remove.
14566
14567 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14568
14569         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14570         HAVE_TARGET_EXECUTABLE_SUFFIX.
14571
14572 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14573
14574         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14575         SIZE, EXPR and OFFSET.
14576
14577 2002-07-25  Richard Henderson  <rth@redhat.com>
14578
14579         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14580         in ARRAY_REF of DECL_P case.
14581
14582 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14583
14584         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14585         description.  Document -mips32, -mips64, and the associated -march
14586         values.  Describe the "mipsN" arguments to -march.  Say that the
14587         -mipsN options are equivalent to -march.  Reword the description
14588         of default type sizes.
14589         * toplev.h (target_flags_explicit): Declare.
14590         * toplev.c (target_flags_explicit): New var.
14591         (set_target_switch): Update target_flags_explicit.
14592         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14593         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14594         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14595         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14596         * config/mips/mips.h (mips_cpu_info): New struct.
14597         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14598         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14599         (MIPS_CPP_SET_PROCESSOR): New macro.
14600         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14601         Define _MIPS_ARCH and _MIPS_TUNE.
14602         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14603         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14604         MIPS_ISA_DEFAULT were already defined.
14605         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14606         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14607         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14608         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14609         (ABI_GAS_ASM_SPEC): Remove.
14610         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14611         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14612         Invoke %(asm_abi_default_spec) if no ABI was specified.
14613         (CC1_SPEC): Remove ISA -> register-size rules.
14614         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14615         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14616         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14617         (mips_cpu_info_table): New array.
14618         (mips_set_architecture, mips_set_tune): New fns.
14619         (override_options): Rework to make -mipsN equivalent to -march.
14620         Detect more erroneous cases, including those removed from CC1_SPEC.
14621         Don't change the ABI based on architecture, or vice versa.
14622         Unify logic with GAS.
14623         (mips_asm_file_start): Get architecture name from mips_arch_info.
14624         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14625         (mips_parse_cpu): Take the name of the option as argument.  Handle
14626         'from-abi'.  Raise an error if the option is wrong.
14627         (mips_cpu_info_from_isa): New fn.
14628
14629 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14630
14631         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14632         (tablejump_mips162): Likewise.
14633
14634 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14635
14636         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14637         int_mode_for_mode.
14638
14639 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14640
14641         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14642         complaining.
14643         * c-common.h (c_sizeof): Adjust definition.
14644         (c_alignof): Likewise.
14645         * c-tree.h (c_sizeof_nowarn): Now macro.
14646         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14647
14648 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14649
14650         * c-decl.c (c_decode_option): No need to handle switches
14651         cpplib handles.
14652
14653 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14654
14655         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14656         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14657         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14658         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14659
14660         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14661         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14662         config/cris/aout.h, config/i386/freebsd-aout.h,
14663         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14664         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14665         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14666         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14667         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14668         config/xtensa/elf.h, config/xtensa/linux.h:
14669         Use the new macros.
14670         Where possible, remove redundant definitions of SIZE_ASM_OP,
14671         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14672
14673 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14674
14675         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14676         TARGET_ISEL, and TARGET_FPRS.
14677
14678         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14679         -mabi=spe, -mabi=no-spe, and -misel=.
14680
14681         * config/rs6000/rs6000-protos.h: Add output_isel.
14682         Move vrsave_operation prototype here.
14683
14684         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14685         (smaxsi3): Same.
14686         (uminsi3): Same.
14687         (umaxsi3): Same.
14688         (abssi2_nopower): Disallow when TARGET_ISEL.
14689         (*ne0): Same.
14690         (negsf2): Change to expand and rename old pattern to *negsf2.
14691         (abssf2): Change to expand and rename old pattern to *abssf2.
14692
14693         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14694         fixunssfsi2.
14695
14696         Change patterns that check for TARGET_HARD_FLOAT or
14697         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14698
14699         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14700         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14701         (rs6000_override_options): Add 8540 case to
14702         processor_target_table.
14703         Set rs6000_isel for the 8540.
14704         Call rs6000_parse_isel_option.
14705         (enable_mask_for_builtins): New.
14706         (rs6000_parse_isel_option): New.
14707         (rs6000_parse_abi_options): Add spe and no-spe.
14708         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14709         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14710         for TARGET_HARD_FLOAT.
14711         Add case for SPE_VECTOR_MODE.
14712         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14713         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14714         vector modes.
14715         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14716         (rs6000_emit_move): Check for TARGET_FPRS.
14717         Add cases for SPE vector modes.
14718         (function_arg_boundary): Return 64 for SPE vector modes.
14719         (function_arg_advance): Check for TARGET_FPRS and
14720         Handle SPE vectors.
14721         (function_arg): Same.
14722         (setup_incoming_varargs): Check for TARGET_FPRS.
14723         (rs6000_va_arg): Same.
14724         (struct builtin_description): Un-constify mask field.  Move up in
14725         file.
14726         (bdesc_2arg): Un-constify and add SPE builtins.
14727         (bdesc_1arg): Same.
14728         (bdesc_spe_predicates): New.
14729         (bdesc_spe_evsel): New.
14730         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14731         (rs6000_expand_binop_builtin): Same.
14732         (bdesc_2arg_spe): New.
14733         (spe_expand_builtin): New.
14734         (spe_expand_predicate_builtin): New.
14735         (spe_expand_evsel_builtin): New.
14736         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14737         (rs6000_init_builtins): Initialize SPE builtins.  Call
14738         rs6000_common_init_builtins.
14739         (altivec_init_builtins): Move all non-altivec builtin code to...
14740         (rs6000_common_init_builtins): ...here.  New function.
14741         (branch_positive_comparison_operator): Allow NE code for SPE.
14742         (ccr_bit): Return correct ccr bit for SPE fp.
14743         (print_operand): Emit crnor in 'D' case for SPE.
14744         New case 't'.
14745         Add SPE code for 'y' case.
14746         (rs6000_generate_compare): Generate rtl for SPE fp.
14747         (output_cbranch): Handle SPE hard floats.
14748         (rs6000_emit_cmove): Handle isel.
14749         (rs6000_emit_int_cmove): New.
14750         (output_isel): New.
14751         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14752         64-bits for SPE.
14753         (debug_stack_info): Add SPE info.
14754         (gen_frame_mem_offset): New.
14755         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14756         Change mode of frame pointer, when saving it, to Pmode.
14757         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14758         Misc cleanups and use gen_frame_mem_offset when appropriate.
14759
14760         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14761         (TARGET_SPE_ABI): New.
14762         (TARGET_SPE): New.
14763         (TARGET_ISEL): New.
14764         (TARGET_FPRS): New.
14765         (FIXED_SCRATCH): New.
14766         (RTX_COSTS): Add PROCESSOR_PPC8540.
14767         (ASM_CPU_SPEC): Add case for 8540.
14768         (TARGET_OPTIONS): Add isel= case.
14769         (rs6000_spe_abi): New.
14770         (rs6000_isel): New.
14771         (rs6000_fprs): New.
14772         (rs6000_isel_string): New.
14773         (UNITS_PER_SPE_WORD): New.
14774         (LOCAL_ALIGNMENT): Adjust for SPE.
14775         (HARD_REGNO_MODE_OK): Same.
14776         (DATA_ALIGNMENT): Same.
14777         (MEMBER_TYPE_FORCES_BLK): New.
14778         (FIRST_PSEUDO_REGISTER): Set to 113.
14779         (FIXED_REGISTERS): Add SPE registers.
14780         (reg_class): Same.
14781         (REG_CLASS_NAMES): Same.
14782         (REG_CLASS_CONTENTS): Same.
14783         (REGNO_REG_CLASS): Same.
14784         (REGISTER_NAMES): Same.
14785         (DEBUG_REGISTER_NAMES): Same.
14786         (ADDITIONAL_REGISTER_NAMES): Same.
14787         (CALL_USED_REGISTERS): Same.
14788         (CALL_REALLY_USED_REGISTERS): Same.
14789         (SPE_ACC_REGNO): New.
14790         (SPEFSCR_REGNO): New.
14791         (SPE_SIMD_REGNO_P): New.
14792         (HARD_REGNO_NREGS): Adjust for SPE.
14793         (VECTOR_MODE_SUPPORTED_P): Same.
14794         (REGNO_REG_CLASS): Same.
14795         (FUNCTION_VALUE): Same.
14796         (LIBCALL_VALUE): Same.
14797         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14798         (SPE_VECTOR_MODE): New.
14799         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14800         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14801         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14802         spe_gp_save_offset.
14803         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14804         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14805         (SPE_CONST_OFFSET_OK): New.
14806         (rs6000_builtins): Add SPE builtins.
14807
14808         * testsuite/gcc.dg/ppc-spe.c: New.
14809
14810         * config/rs6000/eabispe.h: New.
14811
14812         * config/rs6000/spe.h: New.
14813
14814         * config/rs600/spe.md: New.
14815
14816         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14817         __SIMD__ for TARGET_SPE.
14818
14819         * config.gcc: Add powerpc-*-eabispe* case.
14820         Add spe.h to user headers for powerpc.
14821
14822 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14823
14824         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14825         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14826         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14827
14828 2002-07-24  Richard Henderson  <rth@redhat.com>
14829
14830         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14831         form when not optimizing.
14832
14833 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14834
14835         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14836         thread_pointer_rtx as unchanging.
14837
14838 2002-07-24  Michael Matz  <matz@suse.de>
14839
14840         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14841         (free_reg): Use it.
14842
14843 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14844
14845         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14846         pattern.
14847         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14848         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14849
14850 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14851
14852         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14853         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14854         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14855
14856 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14857
14858         * toplev.c (rest_of_compilation): Dump loops before clobbering
14859         the structure.
14860
14861 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14862
14863         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14864
14865 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14866
14867         PR optimization/7291
14868         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14869         problem on x86_64.
14870
14871 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14872
14873         * pretty-print.h: Add macros from cp/error.c
14874
14875 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14876
14877         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14878         (mask64_2_operand): Declare.
14879         (build_mask64_2_operands): Declare.
14880         (and64_2_operand): Declare.
14881         (extract_MB): Declare.
14882         (extract_ME): Declare.
14883         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14884         CONST_DOUBLE code.
14885         (mask_operand_wrap): New insn predicate.
14886         (mask64_2_operand): Likewise.
14887         (and64_2_operand): Likewise.
14888         (build_mask64_2_operands): New function.
14889         (extract_MB): New function.
14890         (extract_ME): New function.
14891         (print_operand <case m,M>): Use extract_MB and extract_ME.
14892         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14893         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14894         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14895         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14896         * config/rs6000/rs6000.md (andsi3_internal3): New
14897         (andsi3_internal3+1): Enable split for powerpc64.
14898         (andsi3_internal3+2): New split.
14899         (andsi3_internal4): Renamed old andsi3_internal3.
14900         (andsi3_internal5): New.
14901         (andsi3_internal5+1): Enable split for powerpc64.
14902         (andsi3_internal5+2): New split.
14903         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14904         (anddi3): Handle 't' constraint.
14905         (anddi3+1): New split.
14906         (anddi3_internal2): Handle 't' constraint.
14907         (anddi3_internal2+1): New split.
14908         (anddi3_internal3): Handle 't' constraint.
14909         (anddi3_internal3+1): New split.
14910
14911 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14912
14913         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14914         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14915         missing scratch reg in one case.  Formatting fixes.
14916
14917 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14918
14919         * cppexp.c (parse_defined): Mark macro used.
14920         * cpphash.h (struct cpp_macro): New member "used".
14921         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14922         (struct cpp_reader): New member.
14923         * cppinit.c (cpp_finish_options): Set first_unused_line.
14924         (cpp_finish): Warn of unused macros if requested.
14925         (OPT_TABLE): New switches.
14926         (cpp_handle_option): Handle them.
14927         * cpplib.c (do_undef): Warn if macro unused.
14928         (do_ifdef, do_ifndef): Mark macro used.
14929         * cpplib.h (struct cpp_options): New member.
14930         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14931         (enter_macro_context): Mark macro used.
14932         (_cpp_create_definition): Mark macro unused; warn if unused
14933         when redefined.
14934         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14935         Mark macros used.
14936         * doc/cppopts.texi: Update.
14937
14938 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14939
14940         * dwarf2out.c (SECTION_ASM_OP,
14941         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14942         * system.h (SECTION_ASM_OP): Poison.
14943         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14944         * config/alpha/alpha-interix.h, config/mips/linux.h
14945         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14946         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14947         (mmix_asm_output_define_label_difference_symbol): Remove.
14948         * config/mmix/mmix.h
14949         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14950         * doc/tm.texi: Remove documentation.
14951
14952 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14953
14954         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14955         (constrain_operands): Likewise.
14956         * regclass.c (record_reg_classes): Likewise.
14957         * reload.c (find_reloads): Likewise.
14958         * doc/md.texi: Likewise.
14959
14960         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14961         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14962         mode, try to convert to an integer mode of matching size first.
14963
14964         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14965         from individual subregs, check that each subreg has been generated
14966         sucessfully.
14967
14968 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14969
14970         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14971         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14972         FOR_EACH_BB_IN_SBITMAP): Remove.
14973         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14974         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14975         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14976         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14977         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14978         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14979
14980 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14981
14982         * pretty-print.h: New file.
14983
14984 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14985
14986         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14987         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14988         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14989         (TARGET_G_FLOAT): Default to 0 if not defined.
14990         (ieeetoe): New, common routine to convert target format floats
14991         to internal form.
14992         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14993         vs. others.
14994         (e113toe): Change to use ieeetoe.
14995
14996 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14997
14998         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14999         IBM.
15000         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
15001         (e64toe): Remove special cases for DEC and IBM. Remove support for
15002         ARM_EXTENDED_IEEE_FORMAT.
15003         (e24toe): Remove special cases for DEC.
15004         (significand_size): Simplify. Indent.
15005         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
15006         (etoieee, toieee): New.
15007         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
15008         etoieee and toieee for IEEE arithmetic.
15009
15010 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15011
15012         * doc/extend.texi: Say ISO C90, not ISO C89.
15013         * doc/invoke.texi: Likewise.
15014         * doc/standards.texi: Likewise.
15015
15016 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
15017
15018         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
15019         Fix permutation of conversion and plus/mult.
15020         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
15021         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
15022         (expand_builtin_strncpy) Ditto.
15023         (expand_builtin_memset) Ditto.
15024
15025 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15026
15027         Fix PR/7363:
15028         * c-common.c (c_sizeof_or_alignof_type): New function.
15029         (c_alignof): Remove definition.
15030         * c-common.h (c_sizeof, c_alignof): Define as macros.
15031         (c_sizeof_or_alignof_type): Declare.
15032         (my_friendly_assert): Moved from cp/cp-tree.h
15033         * c-typeck.c (c_sizeof): Remove definition.
15034
15035 2002-07-23  Jan Hubicka  <jh@suse.cz>
15036
15037         * gcse.c (try_replace_reg): Use num_changes_pending.
15038         * recog.c (num_changes_pending): New function.
15039         (validate_replace_src): Use validate_repalce_src_group.
15040         (validate_replace_src_group): New.
15041         * recog.h (validate_repalce_src_group): New.
15042         (num_changes_pending): Likewise.
15043
15044 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15045
15046         * calls.c (emit_library_call_value_1): If
15047         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15048         libcall, const call nor pure call.
15049
15050 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15051
15052         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15053
15054 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15055
15056         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15057
15058 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15059
15060         * config/i386/i386.c (AT_BP): Remove.
15061
15062 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15063
15064         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15065         Default definition.
15066         * gcse.c: Don't define obstack_chunk_free.
15067         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15068         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15069         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15070         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15071         Don't define obstack macros.
15072
15073 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15074
15075         PR target/6744
15076         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15077         ASM_OPERANDS instructions.
15078
15079 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15080
15081         PR target/7361
15082         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15083         constant addresses only on 68HC12.
15084
15085 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15086
15087         * cppfiles.c (stack_include_file): Correct test of whether
15088         a dependency should be output.
15089
15090 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15091
15092         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15093
15094 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15095
15096         * arm.md (movqi): If optimizing and we can create pseudos, use
15097         a ZERO_EXTEND to load from memory, then copy the result into the
15098         target.
15099         (movhi): Likewise, but only for ARMv4.
15100
15101 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15102
15103         * ssa-ccp.c (PHI_PARMS): Remove.
15104
15105 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15106
15107         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15108         on big-endian targets.
15109
15110 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15111
15112         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15113         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15114         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15115         New formatting macros.
15116
15117         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15118
15119 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15120
15121         * rtlanal.c (subreg_regno_offset): Return correct offset for
15122         big endian paradoxical subregs.
15123
15124         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15125         if we got the wrong mode.
15126
15127         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15128         * genrecog.c (write_switch, write_cond): Use it.
15129         * genemit.c (gen_exp): Likewise.
15130
15131 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15132
15133         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15134
15135 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15136
15137         * c-decl.c (build_compound_literal): Defer compound literal decls
15138         until until file end to emit them only if they are actually used.
15139
15140 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15141
15142         * ra-build.c (check_conflict_numbers): Hide unused function.
15143         (livethrough_conflicts_bb): Avoid automatic aggregate
15144         initialization.
15145         (parts_to_webs_1): Avoid `U' integer constant modifier.
15146         (conflicts_between_webs): Wrap a variable in the macro controlling
15147         its usage.
15148         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15149         (dump_igraph, dump_graph_cost): Avoid string concatenation
15150         (dump_static_insn_cost): Avoid automatic aggregate
15151         initialization.
15152         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15153         initialization.
15154         (dump_cost): Avoid string concatenation
15155
15156 2002-07-21  Richard Henderson  <rth@redhat.com>
15157
15158         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15159         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15160
15161 2002-07-21  Richard Henderson  <rth@redhat.com>
15162
15163         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15164         that are not unrolled completely.
15165
15166 2002-07-21  Richard Henderson  <rth@redhat.com>
15167
15168         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15169         * loop.c (strength_reduce): Update.
15170         * toplev.c (rest_of_compilation): Do unrolling in the first
15171         loop pass, not the second.
15172
15173 2002-07-21  Richard Henderson  <rth@redhat.com>
15174
15175         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15176         when flag_argument_noalias == 2.
15177         * alias.c (nonoverlapping_memrefs_p): Handle that.
15178         * print-rtl.c (print_mem_expr): Likewise.
15179
15180 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15181
15182         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15183         instead of __negdi2 directly.
15184
15185 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15186
15187         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15188         * function.c (SYMBOL__MAIN): Remove definition.
15189         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15190         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15191         * profile.c (GCOV_INDEX_TO_BB): Remove.
15192         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15193         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15194
15195 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15196
15197         * c-lex.c (GET_ENVIRONMENT): Remove.
15198         * collect2.c (GET_ENV_PATH_LIST): Remove.
15199         (prefix_from_env): Use GET_ENVIRONMENT.
15200         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15201         (init_standard_includes): Use GET_ENVIRONMENT.
15202         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15203         * gcc.c (GET_ENV_PATH_LIST): Remove.
15204         (make_relative_prefix, process_command): Update.
15205         * protoize.c (GET_ENV_PATH_LIST): Remove.
15206         (do_processing): Update.
15207
15208 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15209
15210         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15211         (grokdeclarator): Likewise.
15212         * c-format.c (C_STD_NAME): Likewise.
15213         * c-lex.c (interpret_integer): Likewise.
15214         * c-typeck.c (build_array_ref): Likewise.
15215         * cpplex.c (_cpp_lex_direct): Likewise.
15216         * toplev.c (documented_lang_options): Likewise.
15217
15218 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15219
15220         * c-format.c (T99_I, T99_UI): Remove.
15221
15222 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15223
15224         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15225
15226 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15227
15228         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15229         do_local_cprop.
15230
15231 2002-07-21  Andreas Jaeger  <aj@suse.de>
15232
15233         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15234
15235 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15236
15237         Improvements for the ifcvt pass from Michael Meissner, with patches
15238         by Richard Sandiford <rsandifo@redhat.com>
15239         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15240         * ifcvt.c (cond_exec_changed_p): New static variable.
15241         (last_active_insn): New function, renamed from last_active_insn_p
15242         and changed to return the last active insn in a basic block. All
15243         callers updated.
15244         (block_fallthru): New function.
15245         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15246         IFCVT_MODIFY_INSN.  All callers updated.
15247         Return false if START or END are NULL.
15248         Handle case where we're processing an insn that is already
15249         conditional.
15250
15251         (noce_process_if_block): CE_INFO argument rather than
15252         multiple args containing the involved basic blocks.  All callers
15253         changed.
15254         (process_if_block, merge_if_block, find_if_block,
15255         cond_exec_process_if_block): Likewise.
15256
15257         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15258         changed.
15259         Use new function last_active_insn to simplify some code.
15260         New code to handle multiple tests.
15261         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15262         cond_exec_changed_p to TRUE.
15263
15264         (process_if_block): New code to handle multiple tests.
15265         (merge_if_block): Likewise.
15266         (find_if_header): New arg PASS.  Changed to return the currently
15267         processed basic block or NULL instead of true/false. All callers
15268         changed.
15269         Call IFCVT_INIT_EXTRA_FIELDS.
15270         (block_jumps_and_fallthru_p): New function.
15271         (find_if_block): Discover opportunities to convert multiple tests.
15272         Add additional debugging output.
15273         Update the ce_info structure before returning.
15274
15275         (if_convert): Run multiple passes of if-conversion.
15276         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15277         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15278         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15279         these macros.
15280
15281 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15282
15283         * gcse.c: Include cselib.h
15284         (constptop_register): Break out from ...
15285         (cprop_insn): ... here; kill basic_block argument.
15286         (do_local_cprop, local_cprop_pass): New functions.
15287         (one_cprop_pass): Call local_cprop_pass.
15288
15289 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15290
15291         * simplify-rtx.c (simplify_relational_operation): Optimize
15292         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15293
15294 2002-07-20  Michae Matz  <matz@suse.de>
15295
15296         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15297
15298 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15299
15300         * cppexp.c (struct op): Add token pointer.
15301         (check_promotion, CHECK_PROMOTION): New.
15302         (optab): Update.
15303         (_cpp_parse_expr): Update, use token pointer of struct op.
15304         (reduce): Warn about change of sign owing to promotion.
15305         * cppinit.c (cpp_handle_option): New warning if -Wall.
15306         * cpplib.h (struct cpp_options): New member.
15307
15308 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15309
15310         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15311         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15312         Power4 fpcompare.
15313         (fix_truncdfsi2_internal): Restore FPR preference.
15314         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15315         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15316
15317 2002-07-19  Momchil Velikov <velco@fadata.bg>
15318
15319         * reload1.c (reload_as_needed): Duplicate oldpat.
15320
15321 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15322
15323         PR optimization/7130
15324         * loop.h (struct loop_info): Add "preconditioned".
15325         * unroll.c (unroll_loop): Set it.
15326         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15327
15328 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15329
15330         * rtl.def (CODE_LABEL): Remove slot 8.
15331         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15332         (LABEL_ALTERNATE_NAME): Delete.
15333         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15334         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15335
15336         * final.c (output_alternate_entry_point): New.
15337         (final_scan_insn): Use it instead of
15338         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15339         of a case label being an alternate entry point.
15340
15341         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15342         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15343         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15344         (field deleted).
15345         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15346
15347         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15348         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15349         * doc/tm.texi: Delete documentation of
15350         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15351
15352 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15353
15354         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15355         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15356         (LINK_SPEC): Define.
15357         (STARTFILE_SPEC): Define.
15358         (ENDFILE_SPEC): Define.
15359
15360         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15361         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15362
15363         * config/mips/iris6-o32-gas.h: New file.
15364         * config.gcc (mips-sgi-irix6*o32): Use it.
15365
15366         * config/mips/t-iris5-gas: New file.
15367         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15368
15369 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15370
15371         * cppexp.c (ALWAYS_EVAL): Remove.
15372         (optab, reduce): Always evaluate.
15373         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15374         only if not skipping evaluation.
15375
15376 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15377
15378         * config/avr/avr.c (debug_hard_reg_set): Remove.
15379
15380 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15381
15382         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15383
15384 2002-07-19  Richard Henderson  <rth@redhat.com>
15385
15386         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15387
15388 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15389
15390         * prefix.c (update_path): Don't zap single `.' path components
15391         unless followed by another `.' and fix typo last patch.
15392
15393 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15394
15395         * cppexp.c (cpp_num_mul): Remove unused parameter.
15396         (UNARY, BINARY, OTHER, binary_handler): Remove.
15397         (ALWAYS_EVAL): New.
15398         (optab): Update.
15399         (reduce): Refactor to a large switch, don't use a function
15400         pointer.
15401
15402 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15403
15404         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15405
15406 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15407
15408         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15409         (sh_expand_binop_v2sf): Likewise.
15410         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15411         (int_gpr_dest, trunc_hi_operand): New functions.
15412         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15413         trunc_hi_operand.
15414         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15415         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15416         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15417         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15418         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15419         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15420         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15421         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15422         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15423         (movsf_ie+1): Likewise.
15424         (loaddi_trunc): Use int_gpr_dest predicate.
15425         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15426         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15427         (casesi_worker_0+[12], casesi_worker): Likewise.
15428         (shcompact_preserve_incoming_args): Likewise.
15429         (mov_nop): Use any_register_operand predicate.
15430         (mperm_w0): Use trunc_hi_operand predicate.
15431
15432 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15433
15434         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15435         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15436         numbering.
15437
15438 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15439
15440         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15441
15442 2002-07-18  Richard Henderson  <rth@redhat.com>
15443
15444         PR optimization/7147
15445         * ifcvt.c (noce_get_condition): Make certain that the condition
15446         is valid at JUMP.
15447
15448 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15449
15450         * sh.c (barrier_align, push): Shut up compiler warnings.
15451         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15452         (reg_no_subreg_operand): Delete.
15453
15454 2002-07-17  Bo Thorsen  <bo@suse.de>
15455
15456         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15457         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15458         (STARTFILE_SPEC): Remove hardcoded library paths.
15459         (ENDFILE_SPEC): Likewise.
15460
15461 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15462
15463         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15464
15465         * gcse.c (try_replace_reg): Do not return false positives.
15466
15467 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15468
15469         * prefix.c: (update_path): Strip ".." components when prior dir
15470         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15471
15472         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15473         (ASM_OUTPUT_REG_POP): Likewise.
15474
15475 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15476
15477         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15478         adjustments to first_reg for profiling case.
15479         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15480         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15481         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15482         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15483         (ASM_OUTPUT_REG_POP): Define.
15484         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15485         (ASM_OUTPUT_REG_POP): Undef.
15486
15487 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15488
15489         * cpplib.c (do_sccs): Handle #sccs on all systems.
15490         * system.h (SCCS_DIRECTIVE): Poison.
15491         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15492         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15493         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15494         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15495         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15496         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15497         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15498         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15499         Remove all references to SCCS_DIRECTIVE.
15500         * doc/cpp.texi, doc/tm.texi: Update.
15501
15502 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15503
15504         * regrename.c (maybe_mode_change): New function.
15505         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15506
15507 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15508
15509         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15510         suppress addition when either ct or cf are zero.
15511
15512 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15513             Glen Nakamura <glen@imodulo.com>
15514
15515         PR optimization/6713
15516         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15517         sets a non-replaceable giv after issuing the new one.
15518
15519 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15520
15521         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15522         eval_token): Clarify and correct use of "bool" variables.
15523         * cpplib.h (struct cpp_options): Similarly.
15524         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15525         * cpptrad.c (recursive_macro): Similarly.
15526
15527 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15528
15529         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15530         SHmedia code.
15531
15532         * sh.md (cmpgtudi_media): Remove spurious @.
15533
15534         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15535         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15536
15537         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15538         * sh-protos.h (sh_initialize_trampoline): Declare.
15539         * sh.c (sh_initialize_trampoline): New function.
15540         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15541         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15542         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15543         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15544         * sh.md (initialize_trampoline, double_shori): New patterns.
15545         (initialize_trampoline_compact): Likewise.
15546         (shmedia32_initialize_trampoline_big): Remove.
15547         (shmedia32_initialize_trampoline_little): Likewise.
15548
15549         * sh-protos.h (binary_float_operator): Remove declaration.
15550         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15551         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15552         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15553         (sh_expand_binop_v2sf): Likewise.
15554         (zero_vec_operand): Delete.
15555         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15556         all non-shared ones.
15557         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15558         Enable nsb and byterev.
15559         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15560         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15561         in general regs.
15562         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15563         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15564         immediate operands.
15565         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15566         Add DF_HI_REGS.
15567         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15568         lowpart fp regs - only for big endian for now.
15569         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15570         when FPU is in use.
15571         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15572         (LOAD_EXTEND_OP): NIL for SImode.
15573         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15574         general and fp registers is 4.
15575         PREDICATE_CODES: Amend binary_float_operator entry.
15576         Remove zero_vec_operand.  Add unary_float_operator.
15577         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15578         subreg SET_DEST.
15579         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15580         (truncdiqi2): Do sign extension.
15581         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15582         (movdf_media, movsf_media): Likewise.
15583         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15584         Collapse to one define_insn_and_split.  Allow immediate sources.
15585         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15586         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15587         (movv4sf): Allow immediate sources.
15588         (movsf_media_nofpu+1): Don't split moves to FP registers.
15589         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15590         (movv8qi_i+3): Check against CONST0_RTX.
15591         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15592         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15593         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15594         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15595         (mshf0_w, fipr, ftrv): Likewise.
15596         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15597
15598 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15599
15600         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15601         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15602         * arm.c: Similarly.
15603
15604 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15605
15606         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15607         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15608         (TARGET_SWITCHES): Remove debugh.
15609         (ISA_HAS_TRUNC_W): New macro.
15610         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15611         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15612         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15613         any SImode move_operand.
15614         (se_nonimmediate_operand): Remove.
15615         (mips_sign_extend): New.
15616         (mips_move_2words): Use it for sign-extended source operands.
15617         (override_options): Allow integers to be put into single FPRs.
15618         (mips_secondary_reload_class): Handle integers in float registers.
15619         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15620         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15621         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15622         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15623         (fix_truncdfdi2): Provide only a single alternative, in which the
15624         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15625         than TARGET_64BIT.
15626         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15627         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15628         (movdi_internal2): Don't allow the source operand to be sign-extended.
15629         Add alternatives for float registers.
15630         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15631         allows sign-extension.
15632         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15633         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15634         float registers.  Remove TARGET_DEBUG_H_MODE test.
15635         (movhi_internal1): Rename to movhi_internal.  Don't check
15636         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15637         (movqi_internal1): Rename to movqi_internal and remove
15638         TARGET_DEBUG_H_MODE dependency.
15639         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15640
15641 2002-07-16  Jim Wilson  <wilson@redhat.com>
15642
15643         * toplev.c (lang_dependent_init): Create function context for
15644         init_expr_once.
15645
15646 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15647
15648         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15649         --gc-sections if -r.
15650         * config/cris/cris.h: Ditto.
15651
15652 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15653
15654         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15655         the comparison directly gives a mask suppress addition when cf is
15656         zero by complementing the mask.
15657
15658 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15659
15660         * Makefile.in: Delete references to enquire.
15661         * enquire.c: Move to contrib.
15662
15663 2002-07-16  Stan Shebs  <shebs@apple.com>
15664
15665         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15666         config/rs6000/darwin.h.
15667         (ASM_OUTPUT_SKIP): Ditto.
15668         (TEXT_SECTION_ASM_OP): Ditto.
15669         (DATA_SECTION_ASM_OP): Ditto.
15670         (ASM_APP_ON): Define.
15671         (ASM_APP_OFF): Define.
15672         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15673         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15674
15675         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15676         (machopic_function_base_name): Declare result to be const.
15677         (machopic_non_lazy_ptr_name): Ditto.
15678         (machopic_stub_name): Ditto.
15679         * config/darwin-protos.h: Ditto for the prototypes.
15680
15681 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15682
15683         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15684
15685 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15686
15687         * i386.md (prefetch): Fix for 64bit mode.
15688         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15689
15690 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15691
15692         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15693         * i386.c (x86_machine_dependent_reorg): New function.
15694         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15695
15696 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15697
15698         * builtins.c (std_expand_builtin_va_start): Remove unused
15699         first argument.
15700         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15701         std_expand_builtin_va_start with just two arguments.
15702         * expr.h: Update prototypes.
15703
15704         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15705         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15706         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15707         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15708         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15709         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15710         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15711         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15712         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15713         argument from all implementations of EXPAND_BUILTIN_VA_START
15714         and all uses of std_expand_builtin_va_start.
15715
15716 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15717
15718         * regrename.c (copy_value): Don't record high part copies.
15719
15720 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15721
15722         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15723         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15724         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15725
15726 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15727
15728         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15729
15730         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15731         into addsi3 using register class "x" and "y".
15732
15733         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15734         "earlyclobber" constraint modifier for some alternative.
15735
15736         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15737         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15738         unordered.
15739         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15740
15741         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15742         (TARGET_SWITCHES): Add -mieee-compare option.
15743         (OVERRIDE_OPTIONS): 32332 is a subset of
15744         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15745         (TARGET_SWITCHES): Fix description of bitfield option.
15746         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15747         -mieee-compare option. Remove 32332 flag.
15748
15749 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15750
15751         * explow.c (convert_memory_address): Remove special handling
15752         when POINTERS_EXTEND_UNSIGNED < 0.
15753         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15754         (movedi_symbolic): Fix typo.
15755         (load_fptr): Remove mode restriction so it works for SI and DI.
15756         (load_fptr_internal1): Ditto.
15757         (load_gprel): Ditto.
15758         (load_symptr_internal1): Ditto.
15759         (call_pic): Ditto.
15760         * config/ia64.c (call_operand): Modify mode check.
15761         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15762         (ia64_expand_move): Ditto.
15763         (ia64_assemble_integer): Handle SImode function pointers.
15764         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15765         (ia64_expand_op_and_fetch): Ditto.
15766         (ia64_expand_compare_and_swap): Ditto.
15767         (ia64_expand_lock_test_and_set): Ditto.
15768         (ia64_expand_lock_release): Ditto.
15769
15770 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15771
15772         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15773
15774 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15775             Richard Earnshaw  <rearnsha@arm.com>
15776
15777         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15778         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15779
15780 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15781
15782         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15783         understands to be a memory clobber.
15784         * arm.c (arm_expand_prologue): Use it.
15785
15786 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15787
15788         * ra-rewrite.c: #include reload.h, insn-config.h
15789         * ra-build.c: #include reload.h
15790         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15791         depend on reload.h, insn-config.h.
15792
15793 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15794
15795         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15796         the same size as a word.
15797
15798         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15799         BYTES_BIG_ENDIAN into account.
15800
15801 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15802
15803         * i386.md (prefetch): Fix for 64bit mode.
15804         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15805
15806         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15807
15808 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15809
15810         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15811
15812 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15813
15814         * ginclude/varargs.h: Replace with stub which issues #error.
15815         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15816         __builtin_va_start.
15817
15818         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15819         (BUILT_IN_VA_START): New.
15820         * builtins.c (expand_builtin_va_start): Eliminate first
15821         argument and code to implement pre-ISO varargs.
15822         (std_expand_builtin_va_start): Ignore first argument; it is
15823         always 1.
15824         (expand_builtin): Handle BUILT_IN_VA_START and
15825         BUILT_IN_STDARG_START identically.  Delete
15826         BUILT_IN_VARARGS_START case.
15827
15828         * function.c (assign_parms): Delete hide_last_arg and all
15829         its uses.
15830         (mark_varargs): Delete function.
15831         * function.h (struct function): Delete 'varargs' bit.
15832         (current_function_varargs): Delete macro.
15833         * tree.h: Don't declare mark_varargs.
15834
15835         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15836         (c_expand_body): Don't call mark_varargs.
15837         * c-objc-common.c: Handle BUILT_IN_VA_START and
15838         BUILT_IN_STDARG_START identically.  Delete
15839         BUILT_IN_VARARGS_START case.
15840         * c-tree.h: Don't declare c_mark_varargs.
15841         * c-parse.in: Remove grammar rules for '&...' (which has been
15842         commented out since before 2.7.2) and for '...' in K+R
15843         argument declarations.
15844
15845         * builtins.c, function.c, integrate.c, sibcall.c,
15846         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15847         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15848         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15849         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15850         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15851         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15852         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15853         config/stormy16/stormy16.c: Delete all references to
15854         current_function_varargs, and code predicated on that flag.
15855
15856         * config/alpha/alpha.c (alpha_va_start),
15857         config/arc/arc.c (arc_va_start),
15858         config/i386/i386.c (ix86_va_start),
15859         config/mips/mips.c (mips_va_start),
15860         config/mn10300/mn10300.c (mn10300_va_start),
15861         config/rs6000/rs6000.c (rs6000_va_start),
15862         config/s390/s390.c (s390_va_start),
15863         config/sh/sh.c (sh_va_start),
15864         Ignore first argument; it is always 1.
15865
15866         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15867         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15868         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15869         Delete m68hc11_va_start.
15870         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15871         No need to define EXPAND_BUILTIN_VA_START.
15872
15873         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15874         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15875
15876 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15877
15878         PR optimization/7153
15879         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15880         dies in more than one insn.
15881
15882 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15883
15884         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15885
15886 2002-07-15  Michael Matz  <matz@suse.de>,
15887             Daniel Berlin  <dberlin@dberlin.org>,
15888             Denis Chertykov  <denisc@overta.ru>
15889
15890         Add a new register allocator.
15891
15892         * ra.c: New file.
15893         * ra.h: New file.
15894         * ra-build.c: New file.
15895         * ra-colorize.c: New file.
15896         * ra-debug.c: New file.
15897         * ra-rewrite.c: New file.
15898
15899         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15900         (ra-rewrite.o): New .o files for libbackend.a.
15901         (GTFILES): Add basic-block.h.
15902
15903         * toplev.c (flag_new_regalloc): New.
15904         (f_options): New option "new-ra".
15905         (rest_of_compilation): Call initialize_uninitialized_subregs()
15906         only for the old allocator.  If flag_new_regalloc is set, call
15907         new allocator, instead of local_alloc(), global_alloc() and
15908         friends.
15909
15910         * doc/invoke.texi: Document -fnew-ra.
15911         * basic-block.h (FOR_ALL_BB): New.
15912         * config/rs6000/rs6000.c (print_operand): Write small constants
15913         as @l+80.
15914
15915         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15916         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15917         (df_insn_table_realloc): Size argument now is absolute, not relative.
15918         Changed all callers.
15919
15920         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15921         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15922
15923         2002-06-20  Michael Matz  <matz@suse.de>
15924
15925         * df.h (struct ref.id): Make unsigned.
15926         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15927
15928         2002-06-13  Michael Matz  <matz@suse.de>
15929
15930         * df.h (DF_REF_MODE_CHANGE): New flag.
15931         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15932         involving subregs with invalid mode changes, when
15933         CLASS_CANNOT_CHANGE_MODE is defined.
15934
15935         2002-05-07  Michael Matz  <matz@suse.de>
15936
15937         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15938
15939         2002-05-03  Michael Matz  <matz@suse.de>
15940
15941         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15942
15943         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15944
15945         * regclass.c (regclass): Work with all regs which have sets or
15946         refs.
15947         (reg_scan_mark_refs): Count regs inside (clobber ...).
15948
15949         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15950
15951         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15952         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15953         add new refs.
15954         (df_bb_refs_update): Don't clear insns_modified here, ...
15955         (df_analyse): ... but here.
15956
15957         * sbitmap.c (dump_sbitmap_file): New.
15958         (debug_sbitmap): Use it.
15959
15960         * sbitmap.h (dump_sbitmap_file): Add prototype.
15961
15962         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15963
15964         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15965         than assume all emits go through df_insns_modify.
15966
15967         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15968
15969         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15970         increase REG_N_REFS (like flow does), so that regclass doesn't
15971         think a reg is useless, and thus, not calculate a class, when it
15972         really should have.
15973
15974         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15975
15976         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15977         dataflow analysis.
15978
15979 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15980
15981         PR middle-end/7245
15982         * config/i386/i386.c (const_int_1_31_operand): New.
15983         * config/i386/i386.h (PREDICATE_CODES): Add it.
15984         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15985         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15986         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15987
15988 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15989
15990         PR target/7282
15991         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15992         (floatunssidf2): Likewise.
15993         (floatsidf_ppc64): New insn_and_split.
15994         (floatunssidf_ppc64): Likewise.
15995
15996 2002-07-14  Andreas Jaeger  <aj@suse.de>
15997
15998         * config.gcc (sh64): Remove unused
15999         target_requires_64bit_host_wide_int.
16000
16001 2002-07-12  Roger Sayle  <roger@eyesopen.com>
16002
16003         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
16004         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
16005         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
16006         whether clear_by_pieces should be used to clear storage.
16007         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
16008
16009         * doc/tm.texi: Document these two new target macros.
16010
16011 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
16012
16013         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
16014         the scratch register.
16015         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
16016         of it, forbid reload to use it.
16017
16018 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16019
16020         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
16021         usage on 64-bit hosts, return value was truncated to 32 bits.
16022
16023 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
16024
16025         * simplify-rtx.c (simplify_subreg): Handle floating point
16026         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16027         the element mode is requested, compute a subreg with an
16028         integer mode of the same size as the element mode first.
16029
16030 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16031
16032         * combine.c (try_combine): When converting a paradoxical subreg
16033         to an extension, take LOAD_EXTEND_OP into account.
16034
16035 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16036
16037         * config.gcc (mips-sgi-irix6*o32): New configuration.
16038
16039         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16040         configurations.
16041         * configure: Regenerate.
16042
16043         * config/mips/iris6-o32-as.h: New file.
16044         * config/mips/iris6-o32.h: New file.
16045
16046         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16047         (NM_FLAGS): Define.
16048         (HAVE_AS_SHF_MERGE): Undefine.
16049
16050         * config/mips/t-iris5-as: New file.
16051         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16052
16053         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16054         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16055         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16056         dp-bit.c, fp-bit.c): Move ...
16057         * config/mips/t-iris5-6: ... here.
16058         New file, shared by IRIX 5 and IRIX 6.
16059         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16060         mips-sgi-irix5*): Use it.
16061
16062         * config/mips/iris6.h: Remove duplicate comment.
16063
16064         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16065         !TARGET_IRIX6]: Define.
16066         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16067
16068         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16069
16070 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16071
16072         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16073         and delete code to force constant to register.
16074         * pa-protos.h (adddi3_operand): Add prototype.
16075         * pa.c (adddi3_operand): New function.
16076
16077 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16078
16079         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16080         non-ANSI builtin functions.
16081
16082 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16083
16084         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16085         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16086         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16087         (gen_const_vector_0): Use it.
16088
16089 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16090
16091         * pa.md (adddi3): For 32-bit targets, force constants to a register
16092         if they don't fit in an 11-bit immediate.  Change insn predicate to
16093         arith11_operand.  Remove comment.
16094         * pa.c (cint_ok_for_move): Fix comment.
16095         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16096         targets.
16097
16098 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16099
16100         Remove front end hard coding from gengtype.c.
16101
16102         * Makefile.in
16103         (STAGESTUFF): add gtyp-gen.h
16104         (GTFILES): Remove front end specific files.
16105         (GTFILES_FILES_LANGS): New, from configure..
16106         (GTFILES_FILES_FILES): Likewise.
16107         (GTFILES_LANG_DIR_NAMES): Likewise.
16108         (GTFILES_SRCDIR): Likewise.
16109         (gtyp-gen.h): Build from configure information.
16110         (s-gtype): Remove command line parameters from gengtype.
16111         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16112         (mostlyclean): Delete files generated by and for gengtype.
16113
16114         * c-config-lang.in: New file.
16115
16116         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16117         for each language.
16118         (all_gtfiles_files_files): New. Accumulate language for each file
16119         accumulated.
16120         (gtfiles): Pick up value for C.
16121         (srcdir): AC-SUBST this variable.
16122         (all_gtfiles_files_langs): AC-SUBST this variable.
16123         (all_gtfiles_files_files): AC-SUBST this variable.
16124
16125         * configure: Regenerate.
16126
16127         * gengtype-lex.l (parse_file): Make parameter const.
16128
16129         * gengtype.c (toplevel): include gtyp-gen.h.
16130         (BASE_FILE_<language> unnamed enum): Delete.
16131         (lang_names): Delete (replaced by gtyp-gen.h)
16132         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16133         all references.
16134         (NUM_GT_FILES): New.
16135         (NUM_LANG_FILES): New.
16136         (srcdir_len): New.
16137         (NUM_BASE_FILES): Change calculation.
16138         (open_base_files): Change prototype to avoid warning.
16139         (startswith): Delete.
16140         (get_file_basename): Iterate through generated language list not
16141         hard coded list.
16142         (get_base_file_bitmap): Use generated list of files and languages.
16143         (close_output_files): Add prototype to rmove warning.
16144         (main): Iterate through list of generated files from gtyp-gen.h
16145         rather than command line paramaters.  Ignore duplicated file
16146         names.
16147
16148         * gengtype.h (parse_file): Amend prototype for const parameter.
16149
16150         * doc/sourcebuild.texi: Document gtfiles variable.
16151
16152         * doc/gty.texi: Document changes to gtfiles variable for front
16153         ends.
16154
16155         * objc/config-lang.in (gtfiles): Add files needed for objc front
16156         end.
16157
16158 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16159
16160         PR c/2454
16161         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16162         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16163
16164 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16165             Zack Weinberg <zack@codesourcery.com>
16166
16167         * builtins.def: Make the argument types of abort and exit
16168         independent of the front-end.
16169
16170 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16171
16172         * config/rs6000/linux64.h (ASM_SPEC): Define.
16173
16174 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16175
16176         * config/rs6000/rs6000.c (emit_frame_save): New.
16177         (rs6000_frame_related): Replace reg2 before reg.
16178         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16179         and eh_return registers.
16180
16181 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16182
16183         Revert all patches for optimization of Complex .op. Real.
16184         * complex_part_zero_p: Remove
16185         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16186         with x.
16187         * expand_cmplxdiv_wide: Ditto.
16188         * expand_binop: Ditto.
16189
16190 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16191
16192         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16193         negative also on 64-bit hosts.
16194
16195         Default to -fno-reorder-blocks when optimizing for size.
16196         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16197         * config/avr/avr.c (avr_optimization_options): New function.
16198         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16199
16200         Optimize returning from simple functions.
16201         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16202         * config/avr/avr.c (avr_simple_epilogue): New function.
16203         * config/avr/avr.md (return): New insn.
16204
16205 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16206
16207         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16208         HAS_INIT_SECTION to protection.
16209
16210 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16211
16212         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16213         deprecated.
16214
16215 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16216
16217         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16218         Supply non-VOID mode to simplify_gen_subreg.
16219
16220 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16221
16222         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16223
16224 2002-07-10  Jeffrey A Law  <law@redhat.com>
16225
16226         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16227         as appropriate.
16228
16229         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16230         register to use.
16231
16232 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16233
16234         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16235         Get mode from dest.
16236         If simplify_gen_subreg fails, try next equivalent.
16237
16238 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16239
16240         * diagnostic.h: #include location.h
16241         (location_t): Move definition to..
16242         * location.h: ... here.  New file.
16243         * tree.h: #include location.h
16244         (DECL_SOURCE_LOCATION): New macro.
16245         (DECL_SOURCE_FILE): Use.
16246         (DECL_SOURCE_LINE): Likewise.
16247         (struct tree_decl): REplace filename and linenum with locus.
16248         * Makefile.in (TREE_H): add location.h
16249         (diagnostic.o): Depends on gt-location.h
16250         (gt-location.h): Depends on s-gtype
16251
16252 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16253
16254         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16255         TARGET_OS_CPP_BUILTINS.
16256         * config/rs6000/aix31.h: Likewise.
16257         * config/rs6000/aix41.h: Likewise.
16258         * config/rs6000/aix43.h: Likewise.
16259         * config/rs6000/aix51.h: Likewise.
16260         * config/rs6000/beos.h: Likewise.
16261         * config/rs6000/darwin.h: Likewise.
16262         * config/rs6000/eabi.h: Likewise.
16263         * config/rs6000/eabisim.h: Likewise.
16264         * config/rs6000/linux.h: Likewise.
16265         * config/rs6000/linux64.h: Likewise.
16266         * config/rs6000/lynx.h: Likewise.
16267         * config/rs6000/mach.h: Likewise.
16268         * config/rs6000/rtems.h: Likewise.
16269         * config/rs6000/sysv4.h: Likewise.
16270         * config/rs6000/vxppc.h: Likewise.
16271
16272 2002-07-09 Devang Patel <dpatel@apple.com>
16273         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16274         Do not allow ObjC objects as a parameter type for Objective-C methods.
16275         My previous patch restricted  'struct' also.
16276
16277 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16278
16279         * cpperror.c (cpp_error): Default to directive_line within
16280         directives here.
16281         * cppexp.c (cpp_interpret_integer): Only use traditional
16282         number semantics in directives.
16283         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16284         (do_include_common): Similarly.
16285         * cpptrad.c (scan_out_logical_line): Implement accurate
16286         quoting of <> in #include.
16287         * doc/cpp.texi: Update.
16288
16289 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16290                           J"orn Rennecke <joern.rennecke@superh.com>
16291
16292         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16293         * sh.md (attribute issues): Replace with:
16294         (attribute pipe_model).  All users changed.
16295         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16296         All users changed.
16297         (function units sh5issue, sh5fds): New.
16298         (attribute is_mac_media): New.
16299         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16300         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16301         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16302         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16303         (call_media, call_value_media, sibcall_media): Likewise.
16304         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16305         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16306         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16307         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16308         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16309         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16310         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16311         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16312         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16313         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16314         (truncdfsf2_media): Likewise.
16315         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16316         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16317
16318 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16319
16320         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16321         * sh.c (general_extend_operand, inqhi_operand): New functions.
16322         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16323         alternatives using 'N' modifier.  Add type.
16324         (adddi3z_media): Likewise.  Enable generator function generation.
16325         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16326         exact predicates / constraints.  Add type.
16327         (subsi3): Allow 0 for SHMEDIA.
16328         (udivsi3_i4_media): Use match_operand for input values
16329         rather than hard registers.
16330         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16331         unnecessarily through hard registers.  Keep copies of pseudo
16332         registers outside of the libcall sequence.
16333         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16334         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16335         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16336         (extendhidi2, extendqidi2): Likewise.
16337         (andsi3_compact): Name.
16338         (andcdi3): Enable generator function generation.
16339         (zero_extendhisi2, zero_extendqisi2): Rename to
16340         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16341         (extendhisi2, extendqisi2): Rename to
16342         (extendhisi2_compact, extendqisi2_compact).
16343         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16344         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16345         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16346         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16347         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16348         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16349         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16350         (shmedia32_initialize_trampoline_big): Likewise.
16351         (shmedia32_initialize_trampoline_little): Likewise.
16352         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16353         (negdi2): Remove spurious T clobber.
16354         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16355         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16356         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16357         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16358         (ic_invalidate_line_media): Write back data cache before invalidating
16359         instruction cache.  Add type.
16360         (movsf_media): Sign-extend when the destination is a general
16361         purpose register.  Add type.
16362         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16363         (casesi_worker_0+1): Only increment ref count for proper label.
16364         (casesi_worker_0+2): Likewise.
16365
16366 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16367
16368         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16369
16370 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16371
16372         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16373         from Pmode to ptr_mode.
16374         (get_exception_pointer): Ditto.
16375         (connect_post_landing_pads): Ditto.
16376         (dw2_build_landing_pads): Ditto.
16377
16378 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16379         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16380         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16381         (handle_pragma_redefine_extname): Change to use new function.
16382
16383 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16384
16385         * combine.c (combine_simplify_rtx): Add an explicit cast
16386         to avoid signed/unsigned comparison warning.
16387         (simplify_if_then_else): Likewise.
16388         (extended_count): Likewise.
16389         (simplify_shift_const): Likewise.
16390         (simplify_comparison): Likewise.
16391
16392 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16393
16394         * config/mips/mips.md: Add imadd type.  Update scheduler description
16395         to use imadd as well as imul.
16396         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16397         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16398         (*mul_sub_si): Likewise for first alternative.  Change second
16399         alternative from imul to multi.
16400
16401 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16402
16403         * c-common.c (c_common_post_options): Update prototype;
16404         don't init backends if preprocessing only.
16405         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16406         * langhooks.h (struct lang_hooks): Update post_options to
16407         return a boolean.
16408         * toplev.c (parse_options_and_default_flags, do_compile,
16409         lang_independent_init): Update prototypes.  Allow the
16410         front end to specify that there is no need to initialize
16411         the back end.
16412         (general_init): Move call to hex_init here...
16413         (toplev_main): ...from here.  Pass flag for back end init
16414         suppression.
16415
16416 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16417
16418         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16419         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16420         greater_comparison_operator and less_comparison_operator.
16421         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16422         more operators.
16423         (equality_comparison_operator): New function.
16424         (greater_comparison_operator, less_comparison_operator): Likewise.
16425         * sh.md (beq_media_i): Disable generator function generation.
16426         Use match_operator to handle a whole class of comparisons.  Add
16427         modifier in output template to provide branch prediction.  Add type.
16428         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16429         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16430         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16431         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16432
16433 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16434
16435         Emit MMIX function prologue and epilogue as rtl.
16436         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16437         not unprototyped get_hard_reg_initial_val.
16438         ("call_value", "nonlocal_goto_receiver"): Ditto.
16439         ("return"): Make define_expand.  Move real insn to...
16440         ("*expanded_return"): New pattern.
16441         ("prologue", "epilogue"): New define_expands.
16442         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16443         (struct machine_function): New member in_prologue.
16444         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16445         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16446         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16447         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16448         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16449         (LOCAL_REGNO): Define.  Adjust comment.
16450         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16451         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16452         leaf_function_p.
16453         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16454         the prologue.
16455         (mmix_target_asm_function_prologue): Make static.  Just mark that
16456         the prologue is being emitted.  Move guts to...
16457         (mmix_expand_prologue): New function.  Adjust for emitting
16458         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16459         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16460         \n.  Move guts to...
16461         (mmix_expand_epilogue): New function.  Adjust for emitting
16462         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16463         (mmix_target_asm_function_end_prologue): Mark that the prologue
16464         has ended.
16465         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16466         (mmix_conditional_register_usage): Improve comments.
16467         (mmix_local_regno): New function.
16468         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16469         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16470         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16471         (mmix_get_hard_reg_initial_val): Ditto.
16472
16473 2002-07-06  Andreas Jaeger  <aj@suse.de>
16474
16475         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16476         definitions.
16477         * gengtype.c (open_base_files): Likewise.
16478         (close_output_files): Likewise.
16479         * tracer.c (find_best_predecessor): Likewise.
16480         (find_best_successor): Likewise.
16481         (ignore_bb_p): Likewise.
16482
16483 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16484
16485         PR c++/7099
16486         * builtin-attrs.def: Define new attribute lists for use in
16487         builtins.def.
16488         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16489         ATTRS argument, an enumerated value defined in builtin-attrs.def
16490         that represents the attribute list for the builtins.  Modify
16491         all builtin functions to pass an appropriate attribute list.
16492         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16493         their required noreturn attributes.
16494         * tree.h (enum_builtin_function): Ignore the additional parameter
16495         to DEF_BUILTIN.
16496         * builtins.c (built_in_names): Likewise.
16497         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16498         argument with a tree representing the functions attribute list.
16499         Pass this "attrs" argument to builtin_function.  No longer handle
16500         the noreturn_p processing manually.
16501         (built_in_attributes): Move the definitions from builtin-attrs.def
16502         before c_common_nodes_and_builtins.
16503         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16504         DEF_BUILTIN, passing it to both builtin_function and the changed
16505         builtin_function_2.
16506
16507         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16508         __builtin__exit and __builtin__Exit.
16509
16510 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16511
16512         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16513         QI mode registers in soft registers.
16514         ("zero_extendqihi2"): Do not take into account soft registers
16515         for register allocation (use '*' constraint).
16516
16517 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16518
16519         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16520         it is dead.
16521         ("*ashrsi3"): Likewise.
16522         ("*lshrsi3"): Likewise.
16523
16524 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16525
16526         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16527         into account.
16528
16529 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16530
16531         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16532         address computation and memory moves.
16533
16534 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16535
16536         PR c++/6706
16537         * dwarfout.c (output_reg_number): Fix warning message.
16538         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16539         before using it.
16540
16541 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16542
16543         * gcc/gcc.c (asm_debug): Move initialization ...
16544         (init_spec): ... here.
16545
16546 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16547
16548         * c-parse.in (extdef): Append ';'.
16549         (old_style_parm_decls): Append ';'.
16550
16551 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16552
16553         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16554         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16555         to gcc_cv_as_gstabs_flag.
16556         * configure: Rebuilt.
16557
16558 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16559
16560         * ggc.h (ggc_add_root): Document as obsolete.
16561
16562 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16563
16564         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16565         (mshflo_w): Likewise.
16566
16567 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16568
16569         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16570         vector mode subregs of constants to finding integer mode
16571         subregs of constants.
16572         * cse.c (cse_insn): Use simplify_gen_subreg.
16573         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16574         From a vector mode expression of different size than the
16575         target mode.
16576
16577 2002-07-03  Eric Christopher  <echristo@redhat.com>
16578
16579         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16580         * config/mips/mips.h: Remove deprecated -m<processor> options
16581         and cc1_cpu_spec associated.
16582         (CONSTANT_ADDRESS_P): Fix last patch.
16583         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16584         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16585         sunge_sf): Remove.
16586
16587 2002-07-03  Stan Shebs  <shebs@apple.com>
16588
16589         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16590         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16591         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16592
16593 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16594
16595         * combine.c (struct_undo): Change types of recorded substitutions
16596         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16597         (do_SUBST_INT): Change types of the substitution from unsigned int
16598         to int, to avoid compilation warning from SUBST_INT's only caller.
16599
16600         (make_extraction): Add cast to avoid compilation warning.
16601         (force_to_mode): Remove cast to avoid compilation warning.
16602
16603 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16604             Jeff Law  <law@redhat.com>
16605
16606         * i386.md (length_immediate attribute): Fix typo.
16607         (length_address attribute): Likewise.
16608         (modrm attribute): Set it to 0 for immediate call instructions.
16609         (jcc_1 pattern): Set modrm attribute to 0.
16610         (jcc_2 pattern ): Likewise.
16611         (jump pattern): Likewise.
16612         (doloop_end_internal pattern): Explicitly set length.
16613         (leave pattern): Fix typo.
16614         (leave_rex64 pattern): Likewise.
16615
16616 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16617
16618         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16619         in FPR as preference.
16620         (fctiwz): Same.
16621         (floatdidf2, fix_truncdfdi2): Same.
16622         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16623         (floatditf2): Same.
16624         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16625         (ctrdi): Remove FPR alternative and splitter.
16626
16627 2002-07-03  Will Cohen  <wcohen@redhat.com>
16628
16629         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16630
16631 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16632
16633         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16634         than UNITS_PER_WORD, unless this is little endian and the first unit
16635         in this word.  Let extract_bit_field decide how to load an element.
16636         Force arguments to matching mode.
16637         (expand_vector_unop): Likewise.
16638
16639         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16640         consist of word_mode elements.
16641         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16642         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16643         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16644         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16645         CONST_VECTOR.
16646         * optabs.c (expand_vector_binop): Try to perform operation in
16647         smaller vector modes with same inner size.  Add handling of AND, IOR
16648         and XOR.  Reject expansion to inner-mode sized scalars when using
16649         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16650         (expand_vector_unop): Try to perform operation in smaller vector
16651         modes with same inner size.  Add handling of one's complement.
16652         When there is no vector negate operation, try a vector subtract
16653         operation.  Use simplify_gen_subreg on constants.
16654         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16655         constants into smaller vectors with same inner mode, and to
16656         integer CONST_DOUBLEs.
16657
16658 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16659
16660         * c-parse.in (parsing_iso_function_signature): New variable.
16661         (extdef_1): New, copied from...
16662         (extdef): ... here.  Reset parsing_iso_function_signature.
16663         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16664         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16665         Warn about ISO C style function definitions.
16666         (nested_function, notype_nested_function): Reset
16667         parsing_iso_function_signature.
16668         (parmlist_2): Set parsing_iso_function_signature.
16669
16670         * doc/invoke.texi (-Wtraditional): Document new behavior.
16671
16672 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16673
16674         * config.gcc (mips*el-*-*): Use tm_defines to set
16675         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16676         * config/mips/little.h: Remove.
16677
16678 2002-07-02 Devang Patel <dpatel@apple.com>
16679
16680         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16681         object as parameter. Prevent something like 'NSObject' to be
16682         used as the type for a method argument.
16683
16684 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16685
16686         * cpptrad.c: Update comment.
16687
16688 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16689
16690         * doc/cpp.texi: Update for traditional preprocessing changes.
16691         * goc/cppopts.texi: Similarly.
16692
16693 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16694
16695         * c-parse.in (designator): Enable designated initializers if ObjC.
16696         (objcmessageexpr): Remove references to objc_receiver_context.
16697         * objc/objc-act.h (objc_receiver_context): Remove decl.
16698         * objc/objc-act.c (objc_receiver_context): Remove.
16699         (lookup_objc_ivar): Test objc_method_context instead of
16700         objc_receiver_context.
16701
16702 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16703
16704         * sh.c (print_operand, case 'N'): Allow zero vector.
16705         (arith_reg_or_0_operand): Likewise.
16706         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16707         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16708         IOR, XOR, PLUS and SET and take their respective constant
16709         ranges into account.
16710         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16711         * sh.md (subdi3, subdi3_media): Allow zero operand.
16712         (movv8qi_i+3): Only vector that is not split is the zero vector.
16713         Fix operand 3 to simplify_subreg.
16714         (movv2si_i): Split alternative 1.
16715         (mshfhi_l_di_rev+1): New splitter.
16716
16717 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16718
16719         PR preprocessor/7029
16720         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16721         implicit "-w" for "-M" and "-MM".
16722         * doc/cppopts.texi: Update.
16723
16724 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16725
16726         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16727         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16728         builtin_function.
16729
16730 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16731
16732         * README.Portability: Fix typos.
16733
16734 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16735
16736         PR target/7177
16737         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16738         of indirections for register inside sign-extended mem part.
16739
16740 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16741
16742         * tree.h:  Modify builtin_function interface to take an extra
16743         argument ATTRS, which is a tree representing an attribute list.
16744
16745         * c-decl.c (builtin_function): Accept additional parameter.
16746         * objc/objc-act.c (builtin_function): Likewise.
16747         * f/com.c (builtin_function): Likewise.
16748         * java/decl.c (builtin_function): Likewise.
16749         * ada/utils.c (builtin_function): Likewise.
16750         * cp/decl.c (builtin_function): Likewise.
16751         (builtin_function_1): Likewise.
16752
16753         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16754         NULL_TREE argument to builtin_function.  (builtin_function_2):
16755         Likewise.
16756         * cp/call.c (build_java_interface_fn_ref): Likewise.
16757         * objc/objc-act.c (synth_module_prologue): Likewise.
16758         * java/decl.c (java_init_decl_processing): Likewise.
16759         * f/com.c (ffe_com_init_0): Likewise.
16760
16761         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16762         NULL_TREE argument to builtin_function.
16763         * config/arm/arm.c (def_builtin): Likewise.
16764         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16765         * config/i386/i386.c (def_builtin): Likewise.
16766         * config/ia64/ia64.c (def_builtin): Likewise.
16767         * config/rs6000/rs6000.c (def_builtin): Likewise.
16768
16769 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16770
16771         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16772         * config/mips/t-isa3264: Likewise.
16773         * config/mmix/t-mmix: Likewise.
16774
16775 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16776
16777         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16778
16779 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16780
16781         PR opt/4046
16782         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16783         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16784         B are truth values.
16785
16786 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16787
16788         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16789
16790 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16791
16792         * README.Portability (Function prototypes): Give an example of
16793         declaring and defining a function with no arguments.
16794
16795         * README.Portability (Function prototypes): Document new
16796         variable-argument function macros.
16797
16798 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16799
16800         * sh.c (langhooks.h): Include.
16801         (sh_init_builtins, sh_media_init_builtins): New functions.
16802         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16803         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16804         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16805         (builtin_description): New struct tag.
16806         (signature_args, bdesc): New arrays.
16807         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16808         (print_operand): Add 'N' modifier.
16809         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16810         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16811         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16812         (CONST_COSTS): Add special case for SHmedia AND.
16813         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16814         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16815         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16816         target_operand can also be const or unspec.
16817         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16818         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16819         (attribute type): Add new types.
16820         (anddi3): Add splitter.
16821         (movdi_const_16bit+1): Add code to handle vector constants and
16822         bitmasks efficiently.
16823         (shori_media): Have generator function made.
16824         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16825         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16826         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16827         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16828         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16829         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16830         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16831         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16832         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16833         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16834         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16835         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16836         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16837         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16838         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16839         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16840         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16841         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16842         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16843         (ftrv): Likewise.
16844
16845         (fpu_switch+1, fpu_switch+2): Remove constraint.
16846
16847 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16848
16849         * tree.c (build_function_type_list): Update function comment.
16850         Rename first argument to return_type.
16851
16852 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16853
16854         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16855         tradcif.y and related files.
16856
16857 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16858
16859         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16860
16861 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16862
16863         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16864
16865 See ChangeLog.7 for earlier changes.