OSDN Git Service

* doc/install.texi: State GNAT version requirements.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * doc/install.texi: State GNAT version requirements.
4
5 2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>
6
7         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
8         of the frame pointer or arg pointer register which strict register
9         checking is not enabled.
10
11 2002-05-02  Aldy Hernandez  <aldyh@redhat.com>
12
13         * gcc.dg/altivec-8.c: New.
14
15         * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
16         PRE_INC and PRE_DEC for altivec modes.
17
18 2002-05-01  Bruce Korb  <bkorb@gnu.org>
19
20         * fixinc/check.tpl(set-writable): make sure the function exists first
21         * fixinc/inclhack.def(alpha_assert): fix test_text
22         * fixinc/tests/base/assert.h: add in missing result
23
24 2002-05-01  Jeff Law  <law@redhat.com>
25
26         * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
27         'T' constraint.
28
29 2002-05-01  Joel Brobecker  <brobecker@gnat.com>
30
31         * dbxout.c (dbxout_type): Emit size information for range types,
32         as well, but only when using GDB extensions.
33
34 2002-05-01  Richard Henderson  <rth@redhat.com>
35
36         * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
37         target-independent gnu binutils date test.
38
39 2002-05-01  Richard Henderson  <rth@redhat.com>
40
41         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
42         info before expunging the block.
43
44 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
45
46         * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
47         (cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
48         -M -or -MM is in effect.
49
50 2002-05-01  Zack Weinberg  <zack@codesourcery.com>
51
52         * config.gcc: Correct test of --enable-obsolete.  Obsolete all
53         A29k configurations.
54         * doc/install.texi: Update to match.
55
56 2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
57
58         PR bootstrap/6514
59         * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
60         for duplicates. Always loop over whole list.
61
62 Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
63
64         * reload.c (find_reloads, case 'p'): Set BADOP to 0.
65
66 2002-05-01      Joel Sherrill <joel@OARcorp.com>
67
68         * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
69         support routines.
70
71 2002-05-01      Joel Sherrill <joel@OARcorp.com>
72
73         * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
74
75 2002-05-01  David Edelsohn  <edelsohn@gnu.org>
76
77         * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
78         (nabs_nopower): Same.
79         (floatdisf2): New pattern.
80         (absdi2): Convert to define_insn_and_split.
81         (nabsdi2): Same.
82         (trunctfsf2): Same.
83         (floatditf2): Same.
84         (floatsitf2): Same.
85         (fix_trunctfdi2): Same.
86         (fix_trunctfsi2): Same.
87
88 2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
89
90         * doc/install.texi: Update Texinfo version requirement
91         documentation.
92
93 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
94
95         PR target/6512, PR target/5628
96         * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
97         when memory is not aligned.
98         (movdf_insn_v9only_vis): Likewise.
99         * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
100         temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
101         (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
102
103 2002-05-01  Aldy Hernandez  <aldyh@redhat.com>
104
105         * gcc.dg/altivec-7.c: New.
106
107         * config/rs6000/altivec.h: Cleanup.
108
109 2002-04-30  Aldy Hernandez  <aldyh@redhat.com>
110
111         * doc/invoke.texi (Option Summary): Add -mvrsave=.
112         (RS/6000 and PowerPC Options): Document -mvrsave=.
113
114         * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
115         (rs6000_altivec_vrsave_string): Same.
116         (rs6000_override_options): Call rs6000_parse_vrsave_option.
117         (rs6000_parse_vrsave_option): New.
118         (rs6000_stack_info): Only generate vrsave instructions when
119         TARGET_ALTIVEC_VRSAVE.
120
121         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
122         (rs6000_altivec_vrsave_string): Define extern.
123         (rs6000_altivec_vrsave): Same.
124         (TARGET_ALTIVEC_VRSAVE): New.
125
126 2002-04-30  Richard Henderson  <rth@redhat.com>
127
128         PR opt/6516
129         * toplev.c (rest_of_compilation): Don't run cross-jump before
130         bb-reorder.
131
132 2002-04-30  Tom Rix  <trix@redhat.com>
133
134         * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
135         check which_alternative.
136
137 2002-04-30  Kazu Hirata  <kazu@hxi.com>
138
139         * cpplex.c: Fix comment formatting.
140         * function.c: Likewise.
141         * integrate.c: Likewise.
142         * regrename.c: Likewise.
143         * sibcall.c: Likewise.
144         * simplify-rtx.c: Likewise.
145         * tree-inline.c: Likewise.
146
147 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
148
149         * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
150         hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
151         hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
152         hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
153         * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
154         * pa/x-ada: New file.  Define ADA_CFLAGS.
155
156 2002-04-30  Hans-Peter Nilsson  <hp@bitrange.com>
157
158         * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
159         from MMIX_LAST_REGISTER_FILE_REGNUM.
160         (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
161         (struct machine_function): New member highest_saved_stack_register
162         previously static variable in mmix.c.
163         (MACHINE_DEPENDENT_REORG): Define.
164         * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
165         (MMIX_OUTPUT_REGNO): New.
166         (mmix_target_asm_function_prologue): Move calculation of last used
167         saved-stack-register into...
168         (mmix_machine_dependent_reorg): New function.  Update to also handle
169         !TARGET_ABI_GNU.
170         (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
171         register names, simplify somewhat by new variable regno.
172         <case 'p'>: Remove fixed FIXME.  Always emit highest used saved
173         register.
174         (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
175         emitting register names.
176         (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
177         (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
178         Remove fixed FIXME.
179         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
180         Declare.
181
182         * config/mmix/mmix.md ("divmoddi4"): Update head comment.
183
184 2002-04-30  Richard Henderson  <rth@redhat.com>
185
186         * config/sparc/sparc.c (emit_soft_tfmode_libcall,
187         emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
188         emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
189         emit_tfmode_cvt): New.
190         * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
191         trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
192         fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
193         addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
194         * config/sparc/sparc-protos.h: Update.
195
196 2002-04-30  Janis Johnson  <janis187@us.ibm.com>
197
198         * install.texi (Final install): Add to the list of info to include
199         in a report of a successful bootstrap, and add link to 3.1 list.
200
201 Tue Apr 30 19:15:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
202
203         * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
204         (mode): Add vector modes
205         (i387): Kill attribute.
206         (unit): New attribute.
207         (length_immediate): Grok new types.
208         (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
209         (modrm): Use "unit".
210         (memory): Handle MMX/SSE properly.
211         (scheduling descriptions): Kill uses of fop1.
212         (sse, mmx, fp patterns): Set type and mode properly.
213
214 Tue Apr 30 09:31:59 2002  Jeffrey A Law  (law@cygnus.com)
215
216         * pa.c (override_options): Default to PA8000 scheduling.
217         * doc/invoke.texi (HP-PA options): Mention newly added 7300
218         scheduling parameter.
219
220         * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
221         handling of double precision multiplies.
222
223         * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
224         fpdiv and fpsqrt instructions.
225         (7200 & 7300 scheduling): Fix typo in handling of
226         store-load and store-store penalties.
227
228 2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
229
230         * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
231         mips.  Add two missing commas.
232
233 2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
234
235         * doc/contrib.texi (Contributors): Update Paolo Carlini's
236         and Benjamin Kosnik's entries.
237
238 2002-04-29  David S. Miller  <davem@redhat.com>
239
240         * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
241         SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
242         * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
243         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
244
245 2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
246
247         * combine.c (find_split_point): Use gen_int_mode.
248
249 2002-04-29  Vladimir Makarov  <vmakarov@redhat.com>
250
251         Merging code from dfa-branch:
252
253         2002-04-24  Vladimir Makarov  <vmakarov@redhat.com>
254
255         * genautomata.c (output_reserv_sets): Fix typo.
256
257         2002-04-23  Vladimir Makarov  <vmakarov@redhat.com>
258
259         * genautomata.c (output_reserv_sets): Remove
260         next_cycle_output_flag.
261
262         Thu Apr 18 08:57:06 2002  Jeffrey A Law  (law@redhat.com)
263
264         * sched-rgn.c (init_ready_list): Make the DFA code handle
265         USE/CLOBBER insns in the same way as the traditional
266         scheduler.
267         (new_ready): Similarly..
268
269         2002-04-17  Vladimir Makarov  <vmakarov@redhat.com>
270
271         * haifa-sched.c (schedule_block): Change the DFA state only after
272         issuing insn.
273
274         Wed Apr 17 15:38:36 2002  Jeffrey A Law  (law@redhat.com)
275
276         * pa.c (hppa_use_dfa_pipeline_interface): New function.
277         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
278         (override_options): Add PA7300 scheduling support.
279         (pa_adjust_cost): Update various comments.  Properly
280         handle anti and output dependencies when using the
281         DFA scheduler.
282         (pa_issue_rate): Add PA7300 scheduling support.
283         (pa_can_combine_p): Call extract_insn before calling
284         constrain_operands (taken from mainline tree).
285         * pa.h (enum processor_type): Add PROCESSOR_PA7300.
286         * pa.md (cpu attr): Add 7300.  Rewrite pipeline
287         descriptions using DFA descriptions.  Add PA7300
288         scheduling support.
289
290         2002-03-30  David S. Miller  <davem@redhat.com>
291
292         Add UltraSPARC-III DFA scheduling support.
293         * config/sparc/sparc.md (define_attr type): Add fpcrmove.
294         Update FP conditional move on register insn patterns to use it, as
295         appropriate.
296         (define_attr cpu): Add ultrasparc3.
297         (define_attr us3load_type): New, update integer load patterns to
298         set it, as appropriate.
299         (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
300         (rest): Add UltraSPARC3 scheduling description.
301         * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
302         (PROCESSOR_ULTRASPARC3): New.
303         ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
304         ({ASM,CPP}_CPU_SPEC): Likewise.
305         (REGISTER_MOVE_COST): Likewise.
306         (RTX_COSTS): Likewise.
307         * config/sparc/sparc.c (sparc_override_options,
308         sparc_initialize_trampoline, sparc64_initialize_trampoline,
309         sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
310         sparc_issue_rate): Likewise.
311         * config/sparc/sol2.h: Likewise.
312         * config/sparc/sol2-sld-64.h: Likewise.
313         * config/sparc/linux64.h: Likewise.
314
315         2002-03-22  Vladimir Makarov  <vmakarov@redhat.com>
316
317         * doc/md.texi: Add comments about usage the latency time for the
318         different dependencies and about case when two or more conditions
319         in different define_insn_reservations returns TRUE for an insn.
320
321         * doc/md.texi: Add reference for automaton based pipeline
322         description.
323
324         2002-03-04  Vladimir Makarov  <vmakarov@redhat.com>
325
326         * doc/passes.texi: Add missed information about genattrtab.
327
328         2002-03-01  Vladimir Makarov  <vmakarov@redhat.com>
329
330         * genautomata.c (output_automata_list_transition_code): Check
331         automata_list on NULL.
332
333         2002-02-28  Vladimir Makarov  <vmakarov@redhat.com>
334
335         * genautomata.c (output_insn_code_cases,
336         output_automata_list_min_issue_delay_code,
337         output_automata_list_transition_code,
338         output_automata_list_state_alts_code): Comment the functions.
339
340         2002-02-22  Vladimir Makarov  <vmakarov@redhat.com>
341
342         * genautomata.c (automata_list_el_t): New typedef.
343         (get_free_automata_list_el,free_automata_list_el,
344         free_automata_list, automata_list_hash, automata_list_eq_p,
345         initiate_automata_lists, automata_list_start, automata_list_add,
346         automata_list_finish, finish_automata_lists,
347         output_insn_code_cases, output_automata_list_min_issue_delay_code,
348         output_automata_list_transition_code,
349         output_automata_list_state_alts_code, add_automaton_state,
350         form_important_insn_automata_lists): New functions and prototypes.
351         (insn_reserv_decl): Add members important_automata_list and
352         processed_p.
353         (ainsn): Add members important_p.
354         (automata_list_el): New structure.
355         (first_free_automata_list_el, current_automata_list,
356         automata_list_table): New global variables.
357         (create_ainsns): Initiate member important_p.
358         (output_internal_min_issue_delay_func): Generate the switch and
359         call output_insn_code_cases.
360         (output_internal_trans_func, output_internal_state_alts_func):
361         Ditto.
362         (generate): Call initiate_automata_lists.
363         (automaton_states): New global variable.
364         (expand_automata): Call form_important_insn_automata_lists.
365         (write_automata): Call finish_automata_lists.
366
367         2002-02-21  Vladimir Makarov  <vmakarov@redhat.com>
368
369         * genautomata.c (add_excls, add_presence_absence): Check that
370         cpu units in the sets belong the same automaton.
371
372         * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
373         about that cpu units in the sets belong the same automaton.
374
375         * doc/md.texi: Ditto.
376
377         2001-12-20  Naveen Sharma  <naveens@noida.hcltech.com>
378                     Nitin Gupta  <niting@noida.hcltech.com>
379
380         * config/sh/sh.c (sh_use_dfa_interface): New function.
381
382         (sh_issue_rate): New Function.
383         TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
384         TARGET_SCHED_ISSUE_RATE: define.
385
386         * config/sh/sh.md: Add DFA based pipeline description for SH4.
387
388         (define_attr insn_class): New attribute used for DFA
389          scheduling.
390         (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
391         (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
392          cmpeqdi_t): Likewise.
393
394         (add,addc1,addsi3,subc,subc1,*subsi3_internal,
395          negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
396          ex_group.
397         (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
398
399         2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
400
401         * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
402         break.
403
404         2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
405
406         * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
407         (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
408         necessary.
409         (output_dfa_start_func): Initiate new variable insn_codes_length,
410         (write_automata): Output definition of the new variable.
411
412         2001-10-02  David S. Miller  <davem@redhat.com>
413
414         * haifa-sched.c (advance_one_cycle): New function.
415         (schedule_block): Use it.
416         (queue_to_ready): Use it, and also make sure to advance the DFA
417         state on all stall cycles, not just those where insn_queue links
418         are found.
419
420         2001-10-02  Richard Sandiford  <rsandifo@redhat.com>
421
422         * haifa-sched.c (max_issue): Remove last_p argument.  Only return
423         non-zero if the highest-priority instruction could be scheduled.
424         (choose_ready): Remove last argument from max_issue call.
425
426         2001-09-28  David S. Miller  <davem@redhat.com>
427
428         * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
429         ultrasparc and 3 for other multi-issue sparcs.
430
431         2001-09-27  David S. Miller  <davem@redhat.com>
432
433         * config/sparc/sparc.md (cycle_display): New pattern.
434         * config/sparc/sparc.c (sparc_cycle_display): New.
435         (TARGET_SCHED_CYCLE_DISPLAY): Set it.
436
437         2001-09-25  David S. Miller  <davem@redhat.com>
438
439         Convert all of Sparc scheduling to DFA
440         * config/sparc/sparc.md: Kill all define_function_unit
441         directives and replace with DFA equivalent.
442         * config/sparc/sparc.c (ultrasparc_adjust_cost,
443         mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
444         ultra_fpmode_conflict_exists, ultra_find_type,
445         ultra_build_types_avail, ultra_flush_pipeline,
446         ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
447         ultrasparc_variable_issue, ultrasparc_sched_init,
448         sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
449         ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
450         ultra_cur_hist, ultra_cycles_elapsed): Kill.
451         (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
452         ultrasparc_store_bypass_p): New.
453         * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
454         Declare.
455
456         2001-09-24  David S. Miller  <davem@redhat.com>
457
458         * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
459         ready->vec[foo] not ready[foo].
460
461         2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
462
463         * doc/md.texi: Correct examples for define_insn_reservations
464         `mult' and `div'.
465
466         2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
467
468         * genautomata.c (create_automata): Print message about creation of
469         each automaton.
470         (generate): Remove printing meease about creation of
471         automata.
472
473         2001-09-05  David S. Miller  <davem@redhat.com>
474
475         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
476         * config/sparc/linux64.h: Likewise.
477
478         2001-08-31  Vladimir Makarov  <vmakarov@redhat.com>
479
480         * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
481         schedule_block, sched_init, sched_finish): Add missed calls of
482         use_dfa_pipeline_interface.
483
484         * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
485         Ditto.
486
487         * sched-vis.c (get_visual_tbl_length): Ditto.
488
489         2001-08-27  Richard Henderson  <rth@redhat.com>
490
491         * genattr.c (main): Emit state_t even when not doing scheduling.
492
493         2001-08-27  Richard Henderson  <rth@redhat.com>
494
495         * genautomata.c (expand_automata): Always create a description.
496
497         2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
498
499         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
500         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
501         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
502         RTL constructions.
503
504         * genattr.c (main): New variable num_insn_reservations.  Increase
505         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
506         pipeline hazard recognizer interface.
507
508         * genattrtab.h: New file.
509
510         * genattrtab.c: Include genattrtab.h.
511         (attr_printf, check_attr_test, make_internal_attr,
512         make_numeric_value): Move protypes into genattrtab.h.  Define them
513         as external.
514         (num_dfa_decls): New global variable.
515         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
516         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
517         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
518         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
519
520         * genautomata.c: New file.
521
522         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
523
524         * sched-int.h: (curr_state): Add the external definition for
525         automaton pipeline interface.
526         (haifa_insn_data): Add comments for members blockage and units.
527
528         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
529         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
530         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
531         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
532         TARGET_SCHED_DFA_POST_CYCLE_INSN,
533         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
534         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
535         macros.
536         (TARGET_SCHED): Use the new macros.
537
538         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
539         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
540         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
541         dfa_bubble): New members in gcc_target.sched.
542
543         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
544         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
545         (insn_queue): Redefine it as pointer to array.
546         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
547         INSN_QUEUE_SIZE.
548         (max_insn_queue_index_macro_value): New variable.
549         (curr_state, dfa_state_size, ready_try): New varaibles for
550         automaton interface.
551         (ready_element, ready_remove, max_issue): New function prototypes
552         for automaton interface.
553         (choose_ready): New function prototype.
554         (insn_unit, blockage_range): Add comments.
555         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
556         FUNCTION_UNITS_SIZE == 0.
557         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
558         actual_hazard, potential_hazard): Add comments.
559         (insn_cost): Use cost -1 as undefined value.  Remove
560         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
561         pipeline interface.
562         (ready_element, ready_remove): New functions for automaton
563         interface.
564         (schedule_insn): Add new code for automaton pipeline interface.
565         (queue_to_ready): Add new code for automaton pipeline interface.
566         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
567         (debug_ready_list): Print newline when the queue is empty.
568         (max_issue): New function for automaton pipeline interface.
569         (choose_ready): New function.
570         (schedule_block): Add new code for automaton pipeline interface.
571         Print ready list before scheduling each insn.
572         (sched_init): Add new code for automaton pipeline interface.
573         Initiate insn cost by -1.
574         (sched_finish): Free the current automaton state and finalize
575         automaton pipeline interface.
576
577         * sched-rgn.c: Include target.h.
578         (init_ready_list, new_ready, debug_dependencies): Add new code for
579         automaton pipeline interface.
580
581         * sched-vis.c: Include target.h.
582         (get_visual_tbl_length): Add code for automaton interface.
583         (target_units, print_block_visualization):  Add comments.
584
585         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
586         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
587         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
588         (getruntime.o, genautomata.o): New entries.
589         (genattrtab.o): Add new dependency file genattrtab.h.
590         (genattrtab): Add new dependencies.  Link it with `libm.a'.
591         (getruntime.o, hashtab.o): New entries for canadian cross.
592
593         * doc/md.texi: Description of automaton based model.
594
595         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
596         Add comments.
597         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
598         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
599         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
600         TARGET_SCHED_DFA_POST_CYCLE_INSN,
601         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
602         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
603         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
604         hook descriptions.
605         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
606         MAX_DFA_ISSUE_RATE): New macro descriptions.
607
608         * doc/contrib.texi: Add dfa based scheduler contribution.
609
610         * doc/gcc.texi: Add more information about genattrtab.
611
612 Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
613
614         * reload1.c (eliminate_regs, case SUBREG): Fix typo in
615         adjust_address_nv call.
616
617 2002-04-29  Janis Johnson  <janis187@us.ibm.com>
618
619         * doc/install.texi (Testing): Provide additional information, and
620         a stronger encouragement, for running the testsuites.
621
622 2002-04-29  DJ Delorie  <dj@redhat.com>
623
624         * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
625         given in upper case.
626
627 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
628
629         * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
630         Solaris 2 <widec.h> if missing.
631         * fixinc/fixincl.x: Regenerate.
632         * fixinc/tests/base/widec.h: New file.
633
634 2002-04-29  Nick Clifton  <nickc@cambridge.redhat.com>
635
636         * toplev.c (f_options): Add "profile" switch so that
637         -fno-profile can be used to disable -p.
638
639 2002-04-29  Bernd Schmidt  <bernds@redhat.com>
640
641         * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
642         UV2DImode.
643         * tree.c (build_common_tree_nodes_2): Likewise.
644         * tree.h (enum tree_index): Likewise.
645         (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
646
647         * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
648         entries.
649         (init_mmx_sse_builtins): Initialize SSE2 builtins.
650         (ix86_expand_builtin): Add support for SSE2 builtins.
651         * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
652         (VALID_SSE_REG_MODE): Use it.
653         (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
654         (enum ix86_builtins): Add SSE2 builtins.
655         * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
656         movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
657         addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
658         divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
659         sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
660         vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
661         vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
662         sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
663         cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
664         cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
665         cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
666         ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
667         subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
668         mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
669         sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
670         sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
671         sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
672         gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
673         ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
674         ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
675         sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
676         sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
677         sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
678         sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
679         sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
680         sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
681         lfence_insn): New patterns.
682         (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
683         sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
684
685 Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
686
687         * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
688
689 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
690
691         * doc/contrib.texi (Contributors): Add Paolo Carlini and
692         Janis Johnson.
693         Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
694         Refer to Objective-C instead of ObjC, SPARC instead of sparc,
695         and CPU instead of cpu.
696
697 Mon Apr 29 13:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
698
699         * toplev.c (flag_if_conversion, flag_if_conversion2): New static
700         variables.
701         (lang_independent_options): Add -fif-conversion, -fif-conversion2
702         (rest_of_compilation): Do if conversion only when asked for.
703         (parse_options_and_default_flags): Set new variables to 1 for -O1
704         * invoke.texi (-fif-conversion, -fif-conversion2): Document.
705
706 Mon Apr 29 13:02:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
707
708         * i386.c (dbx64_register_map): Fix typo.
709
710 Mon Apr 29 12:18:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
711
712         * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
713         real_one_half, real_bb_freq_max): New static variables.
714         (debug_profile_bbauxs): Kill.
715         (process_note_predictions): Kill unused variable.
716         (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
717         volatile double.
718         (propagate_freq): Use REAL_ARITHMETICS.
719         (estimate_bb_frequencies): Likevise; init new static variables.
720         * Makefile.in (predict.o): Add dependency on real.h
721
722 2002-04-28  David S. Miller  <davem@redhat.com>
723
724         PR target/6500
725         * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
726         64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
727         several {reads,writes} instead.
728         * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
729         Define.
730
731 2002-04-27  David S. Miller  <davem@redhat.com>
732
733         PR target/6494
734         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
735         of the stack bias.
736
737         * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
738         including signal.h and sys/ucontext.h, not needed.
739
740 2002-04-29  Hans-Peter Nilsson  <hp@bitrange.com>
741
742         * varasm.c (output_constant_def): Correct test for not calling
743         ENCODE_SECTION_INFO for INTEGER_CST.
744
745 2002-04-29  Neil Booth  <neil@daikokuya.demon.co.uk>
746
747         * cppexp.c (lex): Move some code to _cpp_parse_expr, but
748         keep most cases as function eval_token.
749         (eval_token): New function.
750         (_cpp_parse_expr): Read token here for improved diagnostics.
751         Don't use op_as_text.  Detect bad ':' here.
752         (reduce): Don't detect bad ':' here.
753         (op_as_text): Remove.
754         * cpphash.h (_cpp_test_assertion): Change prototype.
755         * cpplib.c (_cpp_test_assertion): Change prototype.
756
757 2002-04-28  Richard Henderson  <rth@redhat.com>
758
759         PR c/5154
760         * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
761         (ggc_mark_rtx_children): New.
762
763 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
764
765         PR target/6496
766         * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
767         after call peepholes for UltraSPARC.
768         (call + jump 64-bit peepholes): Remove.
769
770 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
771
772         PR c/6497
773         * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
774         result as temporary value.
775
776 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
777
778         PR c++/6396
779         * toplev.c (rest_of_compilation): Only run regrename and copy
780         propagation if optimizing.
781
782 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
783
784         PR optimization/6475
785         * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
786         register of REGNO_DECL (i).
787         * Makefile.in (reload1.o): Add $(TREE_H).
788
789 2002-04-28  Neil Booth  <neil@daikokuya.demon.co.uk>
790
791         * cppexp.c (lex): Update to use state.skip_eval.
792         (struct op): Remove prio and flags members.
793         (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
794         SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
795         (LEFT_ASSOC): New macro.
796         (optab): New table of operator priorities and flags.
797         (SHIFT): Update.
798         (_cpp_parse_expr): Clean up logic.  Return bool.  Use a
799         malloc-ed parser stack.
800         (reduce): New; reduce the operator stack.
801         (_cpp_expand_op_stack): Expand the operator stack as necessary.
802         * cpphash.h (struct op): Predeclare.
803         (struct cpp_reader): New members op_stack, op_limit.
804         (struct lexer_state): New member skip_eval.
805         (_cpp_parse_expr): Update.
806         (_cpp_expand_op_stack): New.
807         * cpplib.c (do_if): Update.
808         * cppinit.c (cpp_create_reader): Create op stack.
809         (cpp_destroy): And destroy it.
810         * cpplib.h (CPP_LAST_CPP_OP): Correct.
811         (TTYPE_TABLE): Correct.
812
813 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
814
815         PR c/6343
816         * c-decl.c (duplicate_decls): Call merge_weak.
817         * c-pragma.c (apply_pragma_weak): Warn about misuse.
818         * output.h (merge_weak): Prototype merge_weak.
819         * varasm.c (merge_weak): New function.
820         (declare_weak): Make sure we don't give an error on VAR_DECLs.
821         Mark RTL with SYMBOL_REF_WEAK.
822
823 2002-04-27  Kurt Garloff <garloff@suse.de>
824
825         * tree-inline.c (inlinable_function_p): Improve heuristics
826         by using a smoother function to cut down allowable inlinable size.
827         * param.def: Add parameters max-inline-insns-single,
828         max-inline-slope, min-inline-insns that determine the exact
829         shape of the above function.
830         * param.h: Likewise.
831
832 2002-04-26  Richard Henderson  <rth@redhat.com>
833
834         * c-parse.in (malloced_yyss, malloced_yyvs): New.
835         (yyoverflow): Re-add.  Set them.
836         (free_parser_stacks): New.
837         * c-common.h: Declare it.
838         * c-lex.c (c_common_parse_file): Call it.
839
840 2002-04-26  Richard Henderson  <rth@redhat.com>
841
842         * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
843         for fallthru search.
844
845 2002-04-26  Eric Christopher  <echristo@redhat.com>
846
847         PR optimization/3700
848         * config/mips/mips.c (mips_issue_rate): Define.  New function.
849         (TARGET_SCHED_ISSUE_RATE): Use.
850
851 2002-04-25  David S. Miller  <davem@redhat.com>
852
853         PR target/6422
854         * reorg.c (optimize_skip): Do not allow exception causing
855         instructions to be considered for delay slots.
856         (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
857         (relax_delay_slots): Do not try to consider exception causing
858         instructions as redundant.
859
860 2002-04-26  Richard Henderson  <rth@redhat.com>
861
862         PR c/5225
863         * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
864
865 2002-04-26  Mark Mitchell  <mark@codesourcery.com>
866
867         PR bootstrap/6445
868         * config/i386/i386.md (untyped_call): Return the value in a float
869         register if TARGET_FLOAT_RETURNS_IN_80387, not just if
870         TARGET_80387.
871
872 2002-04-26  Alexandre Oliva  <aoliva@redhat.com>
873
874         * tree.c (tree_int_cst_lt): Compare constants whose types differ
875         in unsigned-ness correctly.
876
877 2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
878
879         * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
880         portable runtime model.
881
882 2002-04-26  Richard Henderson  <rth@redhat.com>
883
884         * c-parse.in (yyoverflow): Revert.
885
886 2002-04-26  David Edelsohn  <edelsohn@gnu.org>
887             Richard Henderson  <rth@redhat.com>
888
889         * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
890         result as temporary value.
891
892 2002-04-26  Richard Henderson  <rth@redhat.com>
893
894         PR c/3581
895         * c-common.c (fix_string_type): Split out of ...
896         (combine_strings): ... here.  Take a varray, not a tree list.
897         (c_expand_builtin_printf): Use fix_string_type.
898         * c-common.h: Update decls.
899         * c-parse.in (string): Remove.  Update all uses to use STRING
900         instead, and not call combine_strings.
901         (yylexstring): New.
902         (_yylex): Use it.
903         * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
904         (build_asm_stmt): Likewise.
905         * objc/objc-act.c (my_build_string): Use fix_string_type.
906         (build_objc_string_object): Build varray for combine_strings.
907
908 2002-04-26  Bo Thorsen  <bo@suse.co.uk>
909
910         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
911         x86-64.
912
913 2002-04-26  Neil Booth  <neil@daikokuya.demon.co.uk>
914
915         * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
916         (HAVE_NO_R_OPERAND): Remove.
917         (HAVE_VALUE): Remove.
918         (op_to_prio): Update.
919         (UNARY): Don't alter flags.
920         (_cpp_parse_expr): want_value used to indicate whether
921         a number or unary operator is expected next.  Distinguish
922         unary and binary +/-.
923         (op_as_text): Update for unary operators.
924
925 2002-04-25  Richard Henderson  <rth@redhat.com>
926
927         PR c/2161
928         * c-parse.in (yyoverflow): New.
929
930 2002-04-25  Richard Henderson  <rth@redhat.com>
931
932         PR c/2098
933         * c-common.c (shorten_compare): Simplfy conditions leading to
934         the generation of a warning.
935
936 2002-04-25  Richard Henderson  <rth@redhat.com>
937
938         PR c/2035
939         * expmed.c (extract_bit_field): Fall through to generic code rather
940         than aborting on subreg special case.
941
942 2002-04-25  David S. Miller  <davem@redhat.com>
943
944         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
945         for DECL being NULL.
946
947 2002-04-25  Steve Christiansen  <smc@us.ibm.com>
948
949         * doc/md.texi (Machine Constraints): Add IA-64 constraints.
950
951 2002-04-25  Eric Botcazou  <ebotcazou@multimania.com>
952
953         * c-decl.c (grokdeclarator): Remove outdated ??? note
954         on invalid declaration of flexible array members.
955
956 2002-04-25  Richard Henderson  <rth@redhat.com>
957
958         * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
959
960 2002-04-25  Ulrich Weigand  <uweigand@de.ibm.com>
961
962         * config/s390/s390.c (s390_emit_epilogue): Always restore registers
963         needed by the compiler, even if they are used as global regs.
964
965 2002-04-25  Matt Hiller  <hiller@redhat.com>
966
967         * mips.c (mips_class_max_nregs, mips_register_move_cost): New
968         functions.
969         * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
970         of the corresponding functions.
971         * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
972         New prototypes.
973
974 2002-04-25  Matt Hiller  <hiller@redhat.com>
975
976         * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
977
978         (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
979         (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
980         registers, adjust comment accordingly.
981         (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
982         reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
983         DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
984         for coprocessor registers.
985         (ADDITIONAL_REGISTER_NAMES): Include
986         ALL_COP_ADDITIONAL_REGISTER_NAMES.
987
988         (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
989         COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
990         COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
991         COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
992         COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
993
994         (mips_char_to_class): Adjust comment to include coprocessor
995         constraint letters.
996
997         * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
998         New functions.
999         (mips_reg_names, mips_regno_to_class): Include coprocessor
1000         information.
1001         (mips_sw_reg_names): Ditto, make non-static.
1002         (mips_move_1word): Handle moves to and from coprocessor registers.
1003         (mips_move_2words): Handle moves to and from coprocessor
1004         registers.
1005         (mips_class_max_nregs, mips_register_move_cost): Handle
1006         coprocessor register classes.
1007         (override_options): Initialize mips_char_to_class and
1008         mips_hard_regno_mode_ok properly for coprocessor registers.
1009
1010         * config/mips/mips.md (movdi_internal, movdi_internal2,
1011         movsi_internal1, movsi_internal2): Add constraint-sets for
1012         coprocessor registers.
1013         * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
1014         * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
1015         isn't mips.
1016         * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
1017         * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
1018         isn't mips.
1019         * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
1020         * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
1021         isn't mips.
1022         * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
1023         * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
1024         isn't mips.
1025
1026         * doc/tm.texi: Document feature.
1027
1028 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1029
1030         * integrate.c (function_attribute_inlinable_p): Simplify.
1031         Check the table pointer is not NULL.
1032
1033 2002-04-25  Steven Bosscher  <S.Bosscher@student.tudelft.nl>
1034
1035         * doc/c-tree.texi: Fix typo in introduction.
1036
1037 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1038
1039         * c-common.h (c_common_parse_file): Update.
1040         * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
1041         * c-lex.c (YYDEBUG): Get from c-lex.h.
1042         (c_common_parse_file): Update.
1043         * c-lex.h (YYDEBUG, yydebug): New.
1044         * c-parse.in (YYDEBUG): Get from c-lex.h.
1045         (c_set_yydebug): Remove.
1046         * c-tree.h (c_set_yydebug): Remove.
1047         * langhooks-def.h (lhd_do_nothing_i): New.
1048         (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
1049         (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
1050         * langhooks.c  (lhd_do_nothing_i): New.
1051         (lhd_set_yydebug): Remove.
1052         * langhooks.h (struct lang_hooks): Update.
1053         * toplev.c (set_yydebug): New.
1054         (compile_file): Update call to parse_file hook.
1055         (decode_d_option): Update.
1056 objc:
1057         * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
1058
1059 Wed Apr 24 23:45:37 2002  J"orn Rennecke <joern.rennecke@superh.com>
1060
1061         * loop.c (load_mems): Don't change the interface of called functions.
1062
1063         * calls.c (expand_call): Take current_function_pretend_args_size
1064         into account when setting argblock for sibcalls.
1065
1066 2002-04-24  Matt Hiller  <hiller@redhat.com>
1067
1068         * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
1069         * c-lex.c: Ditto.
1070
1071         * cpplex.c (skip_line_comment): Process comment one multibyte
1072         character at a time rather than one char at a time, if
1073         appropriate.
1074         (parse_string): Process string one multibyte character at a time
1075         rather than one char at a time, if appropriate.
1076         * c-lex.c (lex_string): Lex and copy multibyte strings
1077         appropriately.
1078         * cpplib.h (cppchar_t): Change to unsigned.
1079
1080 2002-04-24  Richard Henderson  <rth@redhat.com>
1081
1082         PR c/3467
1083         * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
1084         for c99.
1085
1086 Wed Apr 24 21:51:54 2002  J"orn Rennecke <joern.rennecke@superh.com>
1087
1088         * sh.c (sh_va_arg): If argument was passed by reference,
1089         dereference the pointer.
1090
1091         * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
1092
1093         * sh.md (divsi3_i4_media): Use match_operand for input values
1094         rather than hard registers.
1095         (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
1096         unnecessarily through hard registers.  Keep copies of pseudo
1097         registers outside of the libcall sequence.
1098
1099         * sh.md (casesi_shift_media): Add modes.
1100
1101         * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
1102         values in memory.
1103
1104 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
1105
1106         * attribs.c (c_common_attribute_table): Move table and handlers
1107         to c-common.c.
1108         (format_attribute_table, lang_attribute_table,
1109         lang_attribute_common): Remove.
1110         (init_attributes): Replace NULL pointers with pointers to the
1111         empty table.
1112         (handle_packed_attribute, handle_nocommon_attribute,
1113         handle_common_attribute, handle_noreturn_attribute,
1114         handle_noinline_attribute, handle_always_inline_attribute,
1115         handle_used_attribute, handle_unused_attribute,
1116         handle_const_attribute, handle_transparent_union_attribute,
1117         handle_constructor_attribute, handle_destructor_attribute,
1118         handle_mode_attribute, handle_section_attribute,
1119         handle_aligned_attribute, handle_weak_attribute,
1120         handle_alias_attribute, handle_visibility_attribute,
1121         handle_no_instrument_function_attribute, handle_malloc_attribute,
1122         handle_no_limit_stack_attribute, handle_pure_attribute,
1123         handle_deprecated_attribute, handle_vector_size_attribute,
1124         vector_size_helper): Move to c-common.c.
1125         * c-common.c (c_common_attribute_table,
1126         handle_packed_attribute, handle_nocommon_attribute,
1127         handle_common_attribute, handle_noreturn_attribute,
1128         handle_noinline_attribute, handle_always_inline_attribute,
1129         handle_used_attribute, handle_unused_attribute,
1130         handle_const_attribute, handle_transparent_union_attribute,
1131         handle_constructor_attribute, handle_destructor_attribute,
1132         handle_mode_attribute, handle_section_attribute,
1133         handle_aligned_attribute, handle_weak_attribute,
1134         handle_alias_attribute, handle_visibility_attribute,
1135         handle_no_instrument_function_attribute, handle_malloc_attribute,
1136         handle_no_limit_stack_attribute, handle_pure_attribute,
1137         handle_deprecated_attribute, handle_vector_size_attribute,
1138         vector_size_helper): Move from attribs.c.
1139         * c-common.h (c_common_attribute_table,
1140         c_common_format_attribute_table): New.
1141         * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1142         LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1143         * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
1144         LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
1145         (LANG_HOOKS_INITIALIZER): Update.
1146         * langhooks.h (struct lang_hooks): 3 new attribute hooks.
1147         * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
1148         * target.h: Update comment.
1149         * tree.c (default_target_attribute_table): Remove.
1150         * tree.h (default_target_attribute_table, format_attribute_table,
1151         lang_attribute_table, lang_attribute_common): Remove.
1152 objc:
1153         * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
1154         LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
1155
1156 2002-04-24  Jason Merrill  <jason@redhat.com>
1157
1158         * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
1159         * dwarf2out.c (dwarf_attr_name): Support it.
1160         (gen_array_type_die): Emit it.
1161         (lookup_type_die): No special handling for VECTOR_TYPE.
1162         (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
1163
1164 2002-04-24  Richard Henderson  <rth@redhat.com>
1165
1166         * config/mips/mips.md (movdi_usd): Renumber.
1167
1168 2002-04-24  David S. Miller  <davem@redhat.com>
1169
1170         PR target/6420
1171         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
1172         32-bit Sparc and current_function_returns_struct is true.
1173
1174 Wed Apr 24 13:48:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
1175
1176         * loop.c (canonicalize_condition): Use gen_int_mode.
1177
1178 2002-04-24  Aldy Hernandez  <aldyh@redhat.com>
1179
1180         * config/rs6000/altivec.h: Cleanup file.  Add non individual
1181         variants.
1182         (vec_vaddubm): New.
1183         (vec_vadduhm): New.
1184         (vec_vadduwm): New.
1185         (vec_vaddfp): New.
1186         (vec_vaddcuw): New.
1187         (vec_vaddubs): New.
1188         (vec_vaddsbs): New.
1189         (vec_vadduhs): New.
1190         (vec_vadduws): New.
1191         (vec_vaddsws): New.
1192         (vec_vand): New.
1193         (vec_vandc): New.
1194         (vec_vavgub): New.
1195         (vec_vavgsb): New.
1196         (vec_vavguh): New.
1197         (vec_vavgsh): New.
1198         (vec_vavguw): New.
1199         (vec_vavgsw): New.
1200         (vec_vrfip): New.
1201         (vec_vcmpbfp): New.
1202         (vec_vcmpequb): New.
1203         (vec_vcmpequh): New.
1204         (vec_vcmpequw): New.
1205         (vec_vcmpeqfp): New.
1206         (vec_vcmpgefp): New.
1207         (vec_vcmpgtub): New.
1208         (vec_vcmpgtsb): New.
1209         (vec_vcmpgtuh): New.
1210         (vec_vcmpgtsh): New.
1211         (vec_vcmpgtuw): New.
1212         (vec_vcmpgtsw): New.
1213         (vec_vcmpgtfp): New.
1214         (vec_vcmpgefp): New.
1215         (vec_vcfux): New.
1216         (vec_vcfsx): New.
1217         (vec_vctsxs): New.
1218         (vec_vctuxs): New.
1219         (vec_vexptefp): New.
1220         (vec_vrfim): New.
1221         (vec_lvx): New.
1222         (vec_lvebx): New.
1223         (vec_lvehx): New.
1224         (vec_lde): Add vector float variant.
1225         (vec_lvewx): New.
1226         (vec_lvxl): New.
1227         (vec_vlogefp): New.
1228         (vec_vmaddfp): New.
1229         (vec_vmhaddshs): New.
1230         (vec_vmaxub): New.
1231         (vec_vmaxsb): New.
1232         (vec_vmaxuh): New.
1233         (vec_vmaxsh): New.
1234         (vec_vmaxuw): New.
1235         (vec_vmaxsw): New.
1236         (vec_vmaxsw): New.
1237         (vec_vmaxfp): New.
1238         (vec_vmrghb): New.
1239         (vec_vmrghh): New.
1240         (vec_vmrghw): New.
1241         (vec_vmrglb): New.
1242         (vec_vmrglh): New.
1243         (vec_vmrglw): New.
1244         (vec_vminub): New.
1245         (vec_vminsb): New.
1246         (vec_vminuh): New.
1247         (vec_vminsh): New.
1248         (vec_vminuw): New.
1249         (vec_vminsw): New.
1250         (vec_vminfp): New.
1251         (vec_vmladduhm): New.
1252         (vec_vmhraddshs): New.
1253         (vec_msumubm): New.
1254         (vec_vmsummbm): New.
1255         (vec_vmsumuhm): New.
1256         (vec_vmsumshm): New.
1257         (vec_vmsumuhs): New.
1258         (vec_vmsumshs): New.
1259         (vec_vmuleub): New.
1260         (vec_vmulesb): New.
1261         (vec_vmuleuh): New.
1262         (vec_vmulesh): New.
1263         (vec_vmuloub): New.
1264         (vec_mulosb): New.
1265         (vec_vmulouh): New.
1266         (vec_vmulosh): New.
1267         (vec_vnmsubfp): New.
1268         (vec_vnor): New.
1269         (vec_vor): New.
1270         (vec_vpkuhum): New.
1271         (vec_vpkuwum): New.
1272         (vec_vpkpx): New.
1273         (vec_vpkuhus): New.
1274         (vec_vpkshss): New.
1275         (vec_vpkuwus): New.
1276         (vec_vpkswss): New.
1277         (vec_vpkshus): New.
1278         (vec_vpkswus): New.
1279         (vec_vperm): New.
1280         (vec_vrefp): New.
1281         (vec_vrlb): New.
1282         (vec_vrlh): New.
1283         (vec_vrlw): New.
1284         (vec_vrfin): New.
1285         (vec_vrsqrtefp): New.
1286         (vec_vsel): New.
1287         (vec_vslb): New.
1288         (vec_vslh): New.
1289         (vec_vslw): New.
1290         (vec_vsldoi): New.
1291         (vec_vsl): New.
1292         (vec_vslo): New.
1293         (vec_vspltb): New.
1294         (vec_vsplth): New.
1295         (vec_vspltw): New.
1296         (vec_vspltisb): New.
1297         (vec_vspltish): New.
1298         (vec_vspltisw): New.
1299         (vec_vsrb): New.
1300         (vec_vsrh): New.
1301         (vec_vsrw): New.
1302         (vec_vsrab): New.
1303         (vec_vsrah): New.
1304         (vec_vsraw): New.
1305         (vec_vsr): New.
1306         (vec_vsro): New.
1307         (vec_stvx): New.
1308         (vec_stvebx): New.
1309         (vec_stvehx): New.
1310         (vec_stvewx): New.
1311         (vec_stvxl): New.
1312         (vec_vsububm): New.
1313         (vec_vsubuhm): New.
1314         (vec_vsubuwm): New.
1315         (vec_vsubfp): New.
1316         (vec_vsubcuw): New.
1317         (vec_vsububs): New.
1318         (vec_vsubsbs): New.
1319         (vec_vsubuhs): New.
1320         (vec_vsubshs): New.
1321         (vec_vsubuws): New.
1322         (vec_vsubsws): New.
1323         (vec_vsum4ubs): New.
1324         (vec_vsum4sbs): New.
1325         (vec_vsum4shs): New.
1326         (vec_vsum2sws): New.
1327         (vec_vsumsws): New.
1328         (vec_vrfiz): New.
1329         (vec_vupkhsb): New.
1330         (vec_vupkhpx): New.
1331         (vec_vupkhsh): New.
1332         (vec_vupklsb): New.
1333         (vec_vupklpx): New.
1334         (vec_vupklsh): New.
1335         (vec_vxor): New.
1336
1337 2002-04-23  Eric Botcazou  <ebotcazou@multimania.com>
1338
1339         PR c/5430
1340         * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
1341         added literals from substracted literals.
1342         (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
1343         (fold) [associate]: Preserve MINUS_EXPR if needed.
1344
1345 2002-04-23  Zack Weinberg  <zack@codesourcery.com>
1346
1347         * doc/install.texi: Clarify which versions of alpha*-dec-osf*
1348         are obsoleted.
1349
1350 2002-04-23  Tom Tromey  <tromey@redhat.com>
1351
1352         * gcc.c: Added --resource.  For PR java/6314.
1353
1354 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
1355
1356         * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
1357         * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
1358         these libraries.
1359
1360 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
1361
1362         * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
1363
1364 Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
1365
1366         * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
1367         workaround.
1368         (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
1369         (ix86_expand_clrstr): Fix typo.
1370         * loop.c (gen_load_of_final_value): New.
1371         (loop_givs_rescan, strength_reduce, check_dbra_loop):
1372         Use it.
1373
1374 2002-04-23  Roger Sayle  <roger@eyesopen.com>
1375
1376         * builtins.c (builtin_memset_gen_str): New function.
1377         (expand_builtin_memset): Optimize the case of constant length, but
1378         unknown value.
1379
1380 2002-04-23  Aldy Hernandez  <aldyh@redhat.com>
1381
1382         * config/rs6000/altivec.h (vec_step): Remove extraneous
1383         parentheses.
1384         (vec_ctu): Cast return.
1385
1386 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
1387
1388         PR target/6413
1389         * function.h: (struct function): Add profile_label_no field.
1390         (current_function_profile_label_no): Define.
1391         * function.c: (profile_label_no): New static var.
1392         (expand_function_start): Increment it, and copy to
1393         current_function_profile_label_no.
1394         * output.h (profile_label_no): Delete.
1395         * final.c (profile_label_no): Delete.
1396         (profile_function): Use current_function_profile_label_no.
1397         (final_end_function): Don't increment profile_label_no here.
1398         * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
1399         profile_label_no with current_function_profile_label_no.
1400         * config/pa/pa.c (current_function_number): Delete.
1401         (pa_output_function_prologue): Don't output profile label here.
1402         (hppa_profile_hook): Use label_no param rather than
1403         current_function_number.
1404         (FUNC_BEGIN_PROLOG_LABEL): Move to ..
1405         * config/pa/pa.h: .. here.
1406         (FUNCTION_PROFILER): Output profile label here.
1407
1408 2002-04-22  Eric Christopher  <echristo@redhat.com>
1409
1410         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
1411         patch of 2002-04-09 due to binutils issues.
1412         (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
1413
1414 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
1415
1416         * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
1417         constraint to 'o' for m=r and r=m alternatives.
1418         ("*movv8hi_internal1"): Same.
1419         ("*movv16qi_internal1"): Same.
1420         ("*movv4sf_internal1"): Same.
1421
1422 2002-04-22  Janis Johnson  <janis187@us.ibm.com>
1423
1424         * rtl.h (RTX_FLAG): New macro.
1425         * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
1426         * final.c (alter_subreg): Use macro to access rtx flag.
1427         * integrate.c (copy_rtx_and_substitute): Use new access macro.
1428         * print-rtl.c (print_rtx): Use new access macro.
1429
1430         * cse.c (insert): Check rtx code before accessing flag.
1431
1432         * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
1433         ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
1434         (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
1435         convert_const_symbol_ref, make_canonical, make_alternative_compare,
1436         evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
1437         simplify_test_exp, optimize_attrs, simplify_by_exploding,
1438         find_and_mark_used_attributes, unmark_used_attributes,
1439         add_values_to_cover, simplify_with_current_value,
1440         simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
1441         copy_rtx_unchanging, main): Use new access macros.
1442
1443 2002-04-22  Tom Rix  <trix@redhat.com>
1444
1445         * expmed.c (init_expmed): Generate shifted constant once.
1446
1447 2002-04-22  Zack Weinberg  <zack@codesourcery.com>
1448
1449         * c-lex.c (lex_charconst): Call convert to get constant in
1450         proper type; don't just smash the type field.
1451         Fixes PR c/6300.
1452
1453         * config.gcc: Add list of obsolete configurations.  Disallow
1454         building these without --enable-obsolete.
1455         * doc/install.texi: Document --enable-obsolete and obsoletion
1456         policy.  Mention obsoletion of individual targets in
1457         appropriate places.
1458
1459 2002-04-22  Richard Henderson  <rth@redhat.com>
1460
1461         * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
1462
1463 2002-04-22  Mark Mitchell  <mark@codesourcery.com>
1464
1465         PR f/6138.
1466         * function.c (fixup_memory_subreg): Add promoted_mode parameter.
1467         (walk_fixup_memory_subreg): Likewise.
1468         (fixup_var_refs_insn): Adjust accordingly.
1469         (fixup_var_refs_1): Likewise.
1470
1471 2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1472
1473         * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
1474         LIBPATH_ARCH64_SPEC): Define.
1475         (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
1476         (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
1477         (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
1478         (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
1479
1480 2002-04-22      Joel Sherrill <joel@OARcorp.com>
1481
1482         * gthr-rtems.h: Correct prototypes to remove warnings.
1483
1484 2002-04-22  Richard Henderson  <rth@redhat.com>
1485
1486         PR c/6344
1487         * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
1488
1489         * gcse.c (free_insn_expr_list_list): New.
1490         (clear_modify_mem_tables): Use it.  Fix bit set usage.
1491         (canon_list_insert): Use EXPR_LISTs for expressions.
1492         (record_last_mem_set_info): Factor BLOCK_NUM (insn).
1493
1494 2002-04-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1495
1496         * cppfiles.c (_cpp_pop_file_buffer): Return void.  Move
1497         file change and include code to _cpp_pop_buffer.
1498         * cpphash.h (struct pending_option): Predeclare.
1499         (struct cpp_reader): New member next_include_file.
1500         (_cpp_pop_file_buffer): Update.
1501         (_cpp_push_next_buffer): Update, rename.
1502         * cppinit.c (cpp_destroy): Free include chain and pending here.
1503         (cpp_finish_options): Simplify.
1504         (_cpp_push_next_buffer): Rename and clean up.
1505         * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
1506         Clarify.
1507         * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
1508
1509 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
1510
1511         * config/rs6000/altivec.h (vec_xor): Add variant for both args
1512         being vector signed int.
1513         (vec_andc): Same.
1514         (vec_xor): Add variant for both args being vector signed char.
1515         Remove redundant variant.
1516         (vec_andc): Same.
1517
1518 2002-04-21  David S. Miller  <davem@redhat.com>
1519
1520         * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
1521         compare mode in output RTL.
1522
1523 2002-04-22  David Edelsohn  <edelsohn@gnu.org>
1524
1525         * config/rs6000/rs6000.c (rs6000_override_options): Correct
1526         style and formatting of previous patch.
1527
1528 2002-04-22  Alan Modra  <amodra@bigpond.net.au>
1529
1530         * config/rs6000/rs6000.c (rs6000_override_options): Always clear
1531         flag_pic for ABI_AIX.
1532
1533 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1534
1535         * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
1536         * cppfiles.c (read_include_file): Similarly.
1537         * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
1538         uxstrdup ustrchr, ufputs): Similarly.
1539         * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
1540         * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
1541         cpp_ideq, parse_identifier, parse_number): Similarly.
1542         * cpplib.c (struct directive, dequote_string, D, run_directive,
1543         cpp_push_buffer): Similarly.
1544         * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
1545         _cpp_create_definition, check_trad_stringification,
1546         cpp_macro_definition): Similarly.
1547
1548 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1549
1550         * cppmacro.c (funlike_invocation_p): Don't step back
1551         over CPP_EOF.
1552
1553 2002-04-21  David Edelsohn  <edelsohn@gnu.org>
1554
1555         * config/rs6000/rs6000.c (output_profile_hook): Do not increment
1556         labelno.
1557
1558 2002-04-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1559
1560         * doc/invoke.texi: Remove Chill references.
1561         * doc/gcc.texi: Update last modified date.
1562
1563 2002-04-20  Kazu Hirata  <kazu@hxi.com>
1564
1565         * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
1566         push and pop.  Replace add.l with add.w.
1567
1568 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1569
1570         * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
1571         multiply instructions for H8/300H case.
1572
1573 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1574
1575         * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
1576         Bum three instructions from each routine.
1577
1578 2002-04-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1579
1580         * Makefile.in: Update.
1581         * decl.c (push_c_function_context, pop_c_function_context,
1582         mark_c_function_context): Rename for consistency.
1583         * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
1584         * c-tree.h (push_c_function_context, pop_c_function_context,
1585         mark_c_function_context): Rename for consistency.
1586         * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1587         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
1588         * function.c (init_lang_status, save_lang_status,
1589         restore_lang_status, mark_lang_status, free_lang_status):
1590         Move to langhooks.h.
1591         (push_function_context_to, pop_function_context_from,
1592         free_after_parsing, prepare_function_start, ggc_mark_struct_function):
1593         Update.
1594         * function.h (init_lang_status, save_lang_status,
1595         restore_lang_status, mark_lang_status, free_lang_status):
1596         Move to langhooks.h.
1597         * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
1598         LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
1599         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
1600         LANG_HOOKS_FUNCTION_INITIALIZER): New.
1601         (LANG_HOOKS_INITIALIZER): Update.
1602         (lhd_do_nothing_f): New.
1603         * langhooks.h (struct lang_hooks_for_functions): New.
1604         (struct lang_hooks): New hooks.
1605         * langhooks.c (lhd_do_nothing_f): New.
1606 objc:
1607         * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
1608         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
1609
1610 2002-04-19  David S. Miller  <davem@redhat.com>
1611
1612         * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
1613         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
1614
1615 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
1616
1617         PR optimization/3756
1618         * config/i386/i386.c (ix86_expand_int_movcc): Optimize
1619         x = ((int) y < 0) ? cst1 : cst2.
1620
1621 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
1622
1623         PR c/6358
1624         * function.c: Reapply patch for c/6358.
1625         (expand_function_end): Copy decl_rtl's mode, not
1626         current_function_return_rtx mode.
1627
1628 2002-04-19  Joel Sherrill  <joel@OARcorp.com>
1629
1630         * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
1631         targets.
1632
1633 2002-04-19  Tom Tromey  <tromey@redhat.com>
1634
1635         * doc/install.texi (Specific): Update status of Solaris 2.8.
1636         For PR libgcj/6158.
1637
1638 2002-04-19  Andreas Schwab  <schwab@suse.de>
1639
1640         * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
1641         (PUT_REAL): Restore old definition.
1642
1643 2002-04-19  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
1644             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1645
1646         * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
1647         binutils 2.11.2 and higher generate smaller binaries than Sun's
1648         native tools.
1649
1650 2002-04-19  Mark Mitchell  <mark@codesourcery.com>
1651
1652         PR c++/6352
1653         * toplev.c (rest_of_compilation): Do not defer functions for which
1654         TREE_SYMBOL_REFERENCED has already been set.
1655
1656 Fri Apr 19 15:53:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
1657
1658         * i386.md (movsi_1, movhi_1): Force reload to use more flexible
1659         alternative.
1660
1661 2002-04-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1662
1663         * builtins.c: Include langhooks.h.
1664         (lang_type_promotes_to): Remove.
1665         (expand_builtin_va_arg): Use new hook.
1666         * c-common.c (c_common_nodes_and_builtins): Don't set hook.
1667         (simple_type_promotes_to): Move to c-typeck.c.
1668         * c-common.h (simple_type_promotes_to): Remove.
1669         * c-decl.c (duplicate_decls, grokdeclarator): Update.
1670         * c-format.c: Include langhooks.h.
1671         (check_format_types): Update.
1672         * c-tree.h (c_type_promotes_to): New.
1673         * c-typeck.c (c_type_promotes_to): Move from c-common.c.
1674         (type_lists_compatible_p): Update.
1675         * langhooks-def.h (lhd_type_promotes_to): New.
1676         (LANG_HOOKS_TYPE_PROMOTES_TO): New.
1677         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1678         * langhooks.c (lhd_type_promotes_to): New.
1679         * langhooks.h (struct lang_hooks_for_types): New hook.
1680         * tree.h (lang_type_promotes_to): Remove.
1681 objc:
1682         * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
1683
1684 2002-04-18  Richard Henderson  <rth@redhat.com>
1685
1686         * function.c: Revert patch for c/6358.
1687
1688 2002-04-18  Richard Henderson  <rth@redhat.com>
1689
1690         * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
1691         blocks.  Handle multiple references to the TRAP block.  Handle
1692         non-adjacent THEN and OTHER blocks.
1693
1694 2002-04-18  Richard Henderson  <rth@redhat.com>
1695
1696         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
1697         crash with no type for by-mode libcalls.
1698
1699         * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
1700
1701 2002-04-18  Bob Wilson  <bob.wilson@acm.org>
1702
1703         * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
1704         __xtensa_nonlocal_goto): Use a syscall instructions to flush
1705         the register windows.
1706
1707 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
1708
1709         * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
1710         appropriate.  Document need for extended precision even when
1711         MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
1712         based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
1713         REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
1714         instead of relying on later syntax error when REAL_WIDTH > 5.
1715         * real.c: Define NE based only on whether or not we have a
1716         full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
1717         Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
1718         define GET_REAL and PUT_REAL as simple memcpy operations; no
1719         need to byteswap or round.
1720         Use #error instead of #ifdef-ing out the entire file, for
1721         prompt error detection.
1722
1723         * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
1724
1725 2002-04-18  David S. Miller  <davem@redhat.com>
1726
1727         * config/sparc/sparc.h (BRANCH_COST): Define.
1728
1729         * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
1730         does it.
1731
1732 2002-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
1733
1734         * flow.c (update_life_info): Ignore return value of cleanup_cfg.
1735         Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
1736         propagate_block calls after relaxation loop using new variable
1737         stabilized_prop_flags.
1738
1739 2002-04-18  Richard Henderson  <rth@redhat.com>
1740
1741         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
1742         (ia64_va_arg): Expect variable sized types by reference.
1743         * config/ia64/ia64-protos.h: Update.
1744         * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
1745         ia64_function_arg_pass_by_reference.
1746
1747 2002-04-18  Richard Henderson  <rth@redhat.com>
1748
1749         * ifcvt.c: Include except.h.
1750         (block_has_only_trap): Break out from find_cond_trap.
1751         (find_cond_trap): Use it.  Always delete the trap block.
1752         (merge_if_block): Allow then block null.  Be less simplistic about
1753         what insns can end a block.
1754         * Makefile.in (ifcvt.o): Depend on except.h.
1755
1756         * config/ia64/ia64.md (trap, conditional_trap): New.
1757
1758 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
1759
1760         PR c/6358
1761         * function.c (assign_parms): Assign hard current_function_return_rtx
1762         register here...
1763         (expand_function_end): ...not here.
1764
1765 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1766
1767         * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1768         * c-tree.h (c_incomplete_type_error): New.
1769         * c-typeck.c (require_complete_type, build_component_ref): Update.
1770         (incomplete_type_error): Rename.
1771         * langhooks-def.h (lhd_incomplete_type_error): New.
1772         (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
1773         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
1774         * langhooks.c (lhd_incomplete_type_error): New.
1775         * langhooks.h (struct lang_hooks_for_types): New hook.
1776         * tree.c (size_in_bytes): Use new hook.
1777         * tree.h (incomplete_type_error): Remove.
1778 objc:
1779         * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
1780
1781 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
1782
1783         * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
1784         TARGET_FLOAT_FORMAT blocks.
1785
1786 2002-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1787
1788         * doc/install.texi (Downloading the source): Do not mention Chill
1789         any longer, but mention Ada.
1790         (Configuration): Do not mention Chill any longer.
1791
1792 2002-04-18  Hans-Peter Nilsson  <hp@axis.com>
1793
1794         * config/cris/cris.h (TARGET_VERSION): Remove local version number.
1795
1796 Thu Apr 18 17:14:08 CEST 2002  Jan Hubicka  <jh@suse.cz>
1797
1798         * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
1799         in last patch.
1800
1801 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
1802
1803         * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
1804         instead of unsigned_type.
1805
1806 Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
1807
1808         * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
1809         * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
1810         later.
1811
1812 2002-04-18  Bernd Schmidt  <bernds@redhat.com>
1813
1814         * attribs.c (vector_type_node_list): New static variable.
1815         (handle_vector_size_attribute): Use it to avoid generating a
1816         new type node each time we are called.
1817
1818         * combine.c (subst): Avoid trying to make a vector mode subreg of
1819         an integer constant.
1820         (gen_lowpart_for_combine): Likewise.
1821
1822 2002-04-18  Roger Sayle  <roger@eyesopen.com>
1823             Jakub Jelinek  <jakub@redhat.com>
1824
1825         * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
1826         for integer constant c (if x has unsigned type or sign bit is not
1827         set in c).  This folds the zero/sign extension into the bit-wise and
1828         operation.
1829
1830 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
1831
1832         PR middle-end/6205
1833         * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
1834         otherwise xorps.
1835
1836 2002-04-17  NIIBE Yutaka  <gniibe@m17n.org>
1837
1838         * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
1839
1840 2002-04-17  Nick Clifton  <nickc@cambridge.redhat.com>
1841
1842         * gcc.c (read_specs): Detect and fail if an attempt is made to
1843         rename a spec string to an already existing string.
1844
1845 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
1846
1847         * config/s390/s390.c (legitimize_pic_address): Do not generate
1848         illegal address constant without CONST.
1849
1850 2002-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1851
1852         * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
1853         * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
1854
1855 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
1856
1857         PR optimization/6305
1858         * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
1859         to make sure previous reloads are taken into account.  Generate
1860         better code if one operand is an in-range immediate constant.
1861
1862 2002-04-16  Andrew Haley  <aph@cambridge.redhat.com>
1863
1864         * doc/install.texi (Building): libgcj requires GNU make.
1865
1866 2002-04-17  Jakub Jelinek  <jakub@redhat.com>
1867
1868         PR bootstrap/6315
1869         * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
1870         even if hard quad and register is not floating.
1871         (movtf reg<-mem split): Disallow splitting if hard quad and
1872         register is floating.
1873         (movtf mem<-reg split): Likewise.
1874         * config/sparc/sparc.c (fp_register_operand): New predicate.
1875         * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
1876
1877 2002-04-17  Zack Weinberg  <zack@codesourcery.com>
1878
1879         * Makefile.in (PROTO_OBJS): Add cppdefault.o.
1880         (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
1881         (unprotoize.o): Ditto.  Build from protoize.c.  Define
1882         UNPROTOIZE on command line.
1883         * protoize.c: Include cppdefault.h.  Delete include_defaults.
1884         (in_system_include_dir): Use cpp_include_defaults (defined in
1885         cppdefault.o).
1886         * unprotoize.c: Delete file.
1887
1888 2002-04-17  Aldy Hernandez  <aldyh@redhat.com>
1889
1890         * config/rs6000/altivec.h (vec_ld): Add array variants.
1891         (vec_lde): Same.
1892         (vec_ldl): Same.
1893
1894 2002-04-17  Alan Matsuoka  <alanm@redhat.com>
1895             Aldy Hernandez <aldyh@redhat.com>
1896
1897         * config/rs6000/altivec.h: Define __ALTIVEC__.
1898         (bool): New.
1899         (__pixel): New.
1900         (pixel): New.
1901         (vec_cfux): New.
1902         (vec_vmaddfp): New.
1903         (vec_vsldoi): New.
1904         Add parentheses to all macro arguments.
1905
1906 2002-04-16  Richard Henderson  <rth@redhat.com>
1907
1908         PR c++/6320
1909         * except.c (remove_eh_handler): Insert inner regions at beginning
1910         of sibling chain.  Refactor expressions.
1911
1912 2002-04-16  Richard Henderson  <rth@redhat.com>
1913
1914         * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
1915         * config/sparc/sol2-gas-bi.h: New file.
1916         * config.gcc (sparc*-solaris): Add it as needed.
1917         * configure.in (AS_SPARC64_FLAG): Remove check.
1918         * config.in, configure: Regenerate.
1919
1920         * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
1921
1922 2002-04-16  Richard Henderson  <rth@redhat.com>
1923
1924         * config/mips/mips.c (override_options): Don't override N32 for
1925         a 64-bit ISA.
1926
1927         PR 6202
1928         * config/mips/mips.md (can_delay): Split out of existing define_delays.
1929         (HILO_delay): Set can_delay false.
1930
1931 2002-04-16  Dale Johannesen <dalej@apple.com>
1932
1933         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
1934         instruction addresses.
1935         (rs6000_output_function_epilogue): Likewise.
1936
1937 2002-04-16  Paolo Carlini  <pcarlini@unitus.it>
1938
1939         * c-parse.in (poplevel, compstmt_start,
1940         compstmt_primary_start): Add ending ';', in accordance
1941         with POSIX.
1942
1943 2002-04-16  Richard Henderson  <rth@redhat.com>
1944
1945         * config.gcc (sparcv9-solaris): Configure for 64-bit default.
1946         Adjust tm_file order to get TARGET_DEFAULT set properly.
1947         (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
1948         * doc/install.texi (sparc-solaris): Update.
1949
1950 2002-04-16  Dale Johannesen <dalej@apple.com>
1951
1952         * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
1953         comparison operands do not match each other or if modes of
1954         conditions do not match result.
1955
1956 2002-04-16  Hartmut Penner <hpenner@de.ibm.com>
1957
1958         PR target/6305
1959         * config/s390/s390.md (mulsidi3): Set both subregs of the
1960         multiword register.
1961
1962 2002-04-16  Aldy Hernandez  <aldyh@redhat.com>
1963
1964         * config/rs6000/altivec.h (vec_addc): Type check.
1965
1966 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
1967
1968         PR middle-end/6279
1969         * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
1970
1971         * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
1972
1973 2002-04-15  Richard Henderson  <rth@redhat.com>
1974
1975         * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
1976         call_really_used_regs too.
1977
1978 2002-04-15  Richard Henderson  <rth@redhat.com>
1979
1980         * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
1981
1982 2002-04-15  David S. Miller  <davem@redhat.com>
1983
1984         * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
1985         as being CLOBBERed.
1986
1987 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
1988
1989         PR c/6290
1990         * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
1991         CONST_VECTOR is { 0, ... 0 }.
1992
1993 2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
1994
1995         * doc/install.texi (Installing GCC: Configuration): Clarify
1996         the only supported ways to configure gcc.
1997
1998 2002-04-15  Roland McGrath  <roland@frob.com>
1999
2000         * config.gcc (alpha*-*-gnu*): New target configuration.
2001         * config/alpha/gnu.h: New file for it.
2002         * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
2003
2004 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
2005
2006         * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
2007         * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
2008         * tree.h (expand_start_stmt_expr): Update prototype.
2009         * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
2010         * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
2011         on the STMT_EXPR created for the inline function.
2012
2013 2002-04-15  Richard Henderson  <rth@redhat.com>
2014
2015         * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
2016         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2017         config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
2018         config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
2019         config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
2020         config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
2021         config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
2022         Define __gnu_linux__, not gnu_linux.
2023         * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
2024
2025 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
2026
2027         Remove Chill front end.
2028         * gcc.c (default_compilers): Remove Chill entries.
2029         * ch: Remove directory.
2030         * doc/frontends.texi: Remove information about Chill.
2031         * doc/sourcebuild.texi: Likewise.
2032         * doc/standards.texi: Likewise.
2033
2034 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
2035
2036         * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
2037         (LONGLONG_STANDALONE): Define.
2038
2039 2002-04-15  David S. Miller  <davem@redhat.com>
2040
2041         * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
2042         Call emit_library_call with LCT_NORMAL.
2043         (sparc_initialize_trampoline): Use LCT_foo instead of
2044         magic constant in emit_library_call invocations.
2045         (sparc64_initialize_trampoline): Likewise.
2046         (sparc_profile_hook): Likewise.
2047         * config/sparc/sparc.md: Likewise.
2048
2049         * config/sparc/sparc.c (sparc_extra_constraint_check):
2050         Fix type of argument 'c'.
2051         * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
2052         Likewise.
2053
2054 2002-04-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
2055
2056         * diagnostic.h (output_buffer_state): Redefine.
2057         (output_format_decoder): New macro.
2058         (output_prefixing_rule): Likewise.
2059         (output_line_cutoff): Likewise.
2060         (diagnostic_format_decoder): Adjust.
2061         (diagnostic_prefixing_rule): Likewise.
2062         (diagnostic_line_cutoff): Likewise.
2063         (diagnostic_state): Likewise.
2064         (diagnostic_kind_count): Likewise.
2065         (diagnostic_buffer): Now a macro.
2066
2067         * diagnostic.c (diagnostic_buffer): Remove definition.
2068         (output_is_line_wrapping): Adjust.
2069         (set_real_maximum_length): Likewise.
2070         (output_set_maximum_length): Likewise.
2071         (init_output_buffer): Likewise.
2072         (lhd_print_error_function): Likewise.
2073         (output_do_verbatim): Likewise.
2074
2075 2002-04-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2076
2077         * cpperror.c (print_location): Don't print include chain
2078         if line == 0.
2079         (cpp_begin_message): Update to use DL_ macros.
2080         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
2081         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2082         cpp_notice, cpp_notice_from_errno): Remove.
2083         (cpp_error, cpp_error_with_line): Update to take a diagnostic
2084         level.
2085         (cpp_errno): New.
2086         * cppexp.c (CPP_ICE): Remove.
2087         (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
2088         lex, integer_overflow, _cpp_parse_expr): Update.
2089         * cppfiles.c (read_include_file, find_include_file,
2090         handle_missing_header, _cpp_read_file, remap_filename): Update.
2091         * cpphash.h (enum error_type): Remove.
2092         (_cpp_begin_message): Update.
2093         * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
2094         cpp_handle_option, cpp_post_options): Update.
2095         * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
2096         skip_whitespace, parse_identifier, parse_slow, parse_string,
2097         _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
2098         cpp_interpret_charconst): Update.
2099         * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
2100         lex_macro_node, do_undef, glue_header_name, parse_include,
2101         do_include_common, read_flag, do_line, do_linemarker, do_ident,
2102         cpp_register_pragma, do_pragma_once, do_pragma_system_header,
2103         do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
2104         do_elif, do_endif, parse_answer, parse_assertion, do_assert,
2105         _cpp_pop_buffer, do_diagnostic): Update.
2106         * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
2107         DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
2108         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
2109         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2110         cpp_notice, cpp_notice_from_errno): Remove.
2111         (cpp_error, cpp_error_with_line): Update to take a diagnostic
2112         level.
2113         (cpp_errno): New.
2114         * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
2115         collect_args, enter_macro_context, save_parameter, parse_params,
2116         _cpp_create_definition, check_trad_stringification,
2117         cpp_macro_definition): Update.
2118         * cppmain.c (cpp_preprocess_file): Update.
2119         * fix-header.c (read_scan_file): Update.
2120
2121 2002-04-14  Andreas Schwab  <schwab@suse.de>
2122
2123         * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
2124
2125 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2126
2127         * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
2128
2129 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
2130
2131         * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
2132         not gnu_hurd.
2133
2134 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
2135
2136         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
2137
2138 2002-04-13      Joel Sherrill <joel@OARcorp.com>
2139
2140         * config/sparc/t-elf: Enable v8 multilibs.  Impacts
2141         sparc-elf and sparc-rtems targets.
2142
2143 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
2144
2145         * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
2146         defined, and __gnu_hurd__ wherever __GNU__ is defined.
2147         * arm/linux-elf.h: Likewise.
2148         * cris/aout.h: Likewise.
2149         * cris/linux.h: Likewise.
2150         * i370/linux.h: Likewise.
2151         * i386/gnu.h: Likewise.
2152         * i386/linux-aout.h: Likewise.
2153         * i386/linux-oldld.h: Likewise.
2154         * i386/linux.h: Likewise.
2155         * i386/linux64.h: Likewise.
2156         * ia64/linux.h: Likewise.
2157         * m68k/linux-aout.h: Likewise.
2158         * m68k/linux.h: Likewise.
2159         * mips/linux.h: Likewise.
2160         * pa/pa-linux.h: Likewise.
2161         * pj/linux.h: Likewise.
2162         * rs6000/sysv4.h: Likewise.
2163         * s390/linux.h: Likewise.
2164         * sh/linux.h: Likewise.
2165         * sparc/linux-aout.h: Likewise.
2166         * sparc/linux.h: Likewise.
2167         * sparc/linux64.h: Likewise.
2168         * xtensa/linux.h: Likewise.
2169
2170 2002-04-13  Richard Sandiford  <rsandifo@redhat.com>
2171
2172         * stmt.c (check_unique_operand_names): Expect operand names to
2173         be strings rather than identifiers.  Use simple_cst_equal to
2174         compare them.
2175         (resolve_operand_name_1): Make same identifier to string change here.
2176         * c-parse.in (asm_operand): Convert a named operand into a string.
2177         * cp/parse.y (asm_operand): Likewise.
2178
2179 2002-04-13  Andreas Schwab  <schwab@suse.de>
2180
2181         * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
2182
2183 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
2184
2185         Revert these changes:
2186
2187         2002-04-06  Mark Mitchell  <mark@codesourcery.com>
2188
2189         PR c++/5571
2190         * stor-layout.c (layout_decl): Reset the RTL for the decl.
2191
2192 2002-04-12  Richard Henderson  <rth@redhat.com>
2193
2194         * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
2195         (sparc*-*-solaris): Clean up header files.
2196         * configure.in (AS_SPARC64_FLAG): Error out if can't find it
2197         and plan on generating 64-bit code.
2198         * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
2199         * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
2200         * config/sparc/sol2-sld-64.h: Rename ...
2201         * config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
2202         for AS_SPARC64_FLAG not defined.
2203         * config/sparc/sol2-gld-bi.h: New.
2204         * config/sparc/sol2-sld.h: Remove.
2205         * config/sparc/sol26-sld.h: New.
2206         * config/sparc/sol2.h: Tidy comments.
2207         * doc/install.texi: Document sparc-solaris configury changes.
2208
2209 2002-04-12  Richard Henderson  <rth@redhat.com>
2210
2211         * recog.c (offsettable_address_p): Match the logic in adjust_address.
2212
2213         * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
2214         in 64-bit mode only.  Use only for 32-bit or MEDLOW.
2215
2216 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2217
2218         * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
2219
2220 Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
2221
2222         * pa.c (pa_can_combine_p): Call extract_insn before calling
2223         constrain_operands.
2224
2225 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
2226
2227         * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
2228         (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
2229         (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2230         (CPP_PREDEFINES): Handle __declspec.
2231         * config/i386/t-interix (USER_H): Remove.
2232
2233 2002-04-12  DJ Delorie  <dj@redhat.com>
2234
2235         * integrate.c (compare_blocks): Make comparisons safe for when
2236         sizeof(int) < sizeof(char *).
2237         (find_block): Likewise.
2238
2239 2002-04-12  Jan Hubicka  <jh@suse.cz>
2240             David Edelsohn  <edelsohn@gnu.org>
2241
2242         * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
2243         registers.
2244         (symbol_ref_operand): New.
2245         * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
2246         * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
2247
2248 2002-04-12  Andreas Schwab  <schwab@suse.de>
2249
2250         * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
2251         * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
2252         overrides the definition in config/svr4.h.
2253
2254 2002-04-12      Eric Norum <eric.norum@usask.ca>
2255
2256         * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
2257         config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
2258         config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
2259         config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
2260         config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
2261         config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
2262         config/v850/rtems.h (*-rtems*): Cleanup pass to move common
2263         definitions to config/rtems.h and make the targets more similar.
2264
2265 Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2266
2267         * expr.c (expand_assigment): Remove duplicate conversions #ifdef
2268         POINTERS_EXTEND_UNSIGNED.
2269         (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
2270         (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
2271
2272         * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
2273         not specified.
2274
2275 Fri Apr 12 12:11:26 2002  J"orn Rennecke <joern.rennecke@superh.com>
2276
2277         * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
2278         depends on TARGET_SHMEDIA, not TARGET_SH5.
2279
2280 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
2281
2282         * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
2283         For paradoxical (subreg VAR), replace VAR, don't try the subreg.
2284
2285 Fri Apr 12 10:51:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
2286
2287         * sh.c (broken_move): Constant 0. / 1. load is OK if there is
2288         no r0 clobber.
2289
2290 2002-04-12  Andreas Schwab  <schwab@suse.de>
2291
2292         * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
2293
2294 2002-04-12  Richard Henderson  <rth@redhat.com>
2295
2296         PR bootstrap/4191
2297         * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
2298
2299         * flow.c (mark_used_reg): Manage reg_cond_dead properly for
2300         modes spanning multiple hard regs.
2301
2302         * recog.c (peephole2_optimize): Rebuild jump labels as needed.
2303
2304 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2305
2306         * pa.c (pa_output_function_prologue): Don't accumulate the total
2307         number of code bytes when using TARGET_64BIT, or gas, SOM and not
2308         the portable runtime.
2309         (output_deferred_plabels): Handle 64bit plabels.
2310         (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
2311         generating pic code using the GAS assembler for object formats that
2312         are not SOM (ie., ELF32 and ELF64).
2313         (output_millicode_call): Check attribute type if attribute length is 28.
2314         Likewise use $PIC_pcrel$0.  Only call get_attr_length and
2315         dbr_sequence_length once.
2316         (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
2317         dbr_sequence_length once.
2318         * pa.h (TARGET_SOM): Define if not defined.
2319         * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
2320         with GAS and not SOM.
2321         (jump, call_internal_reg, call_value_internal_reg): Likewise.
2322         * som.h (OBJ_SOM): Rename to TARGET_SOM.  Undefine before defining.
2323
2324 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2325
2326         * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
2327         (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
2328         (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
2329         DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
2330         elfos.h and dbxelf.h values are fine now.
2331         * config/i386/freebsd.h, config/alpha/freebsd.h
2332         (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
2333
2334 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2335
2336         * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
2337         or set Acpu or Amachine.  Reformat.
2338         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2339         define.
2340         (LINK_SPEC): Do not need to undef.
2341         * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
2342         * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
2343         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2344         define.
2345         * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
2346         (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
2347         (LINK_SPEC): Do not need to undef.
2348         (DONT_USE_BUILTIN_SETJMP): Do not define.
2349         * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
2350         (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
2351         (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
2352         Remove trailing spaces.
2353         * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
2354         __ELF__, or set Acpu or Amachine.  Reformat.
2355         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2356         define.
2357
2358 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2359
2360         * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
2361         all other *-*-freebsd* targets.
2362
2363 2002-04-11  Richard Henderson  <rth@redhat.com>
2364
2365         * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
2366
2367 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2368
2369         * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
2370         Include {cpu}/{cpu}.h thru tm_file.
2371         (alpha*-*-linux*ecoff): Remove target.
2372         * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
2373         (LINK_SPEC): Remove, is not OS independent.
2374         * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
2375         (LINK_SPEC): Do not need to #undef any longer.
2376         * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
2377         any longer.
2378         * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
2379         __ELF__.
2380         (LINK_SPEC): Moved here from alpha/elf.h.
2381         * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
2382         SUB_CPP_PREDEFINES.
2383         * config/alpha/linux-ecoff.h: Remove.
2384         * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
2385         (CPP_SPEC): Define _POSIX_SOURCE as needed.
2386         (CPP_SUBTARGET_SPEC): Do not define.
2387         (LINK_SPEC): Do not need to #undef any longer.
2388         * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
2389         * config/alpha/vms.h: Likewise.
2390
2391 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
2392
2393         * doc/extend.texi: Remove old claim that typedefs cannot have
2394         an alignment attribute.
2395
2396 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
2397
2398         PR optimization/6177
2399         * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
2400         bitpos is 0 and bitsize CONCAT size.
2401
2402 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
2403
2404         PR c/6223
2405         * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
2406
2407 2002-04-10  David O'Brien  <obrien@FreeBSD.org>
2408
2409         * config/alpha/freebsd.h: Minor reformatting.
2410         (CPP_SPEC): Define ELF and add cpp_subtarget.
2411         (ASM_SPEC): No longer needed.
2412
2413 2002-04-11  Richard Henderson  <rth@redhat.com>
2414
2415         * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
2416         (movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
2417         (dimode mem/zero splitter): New.
2418
2419 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
2420
2421         * config/cris/cris.c (cris_override_options): Tweak error message
2422         for PIC not implemented.
2423
2424         * config/cris/cris.h: Tweak comments related to parameter-passing.
2425
2426         * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
2427
2428 2002-04-10  Richard Henderson  <rth@redhat.com>
2429
2430         * except.c (add_ehl_entry): Allow duplicates after landing pad
2431         creation.
2432
2433 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
2434
2435         * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
2436
2437 2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2438
2439         * c-decl.c (c_init_decl_processing): Move generation of
2440         decls for g77_integer_type_node and friends from here ...
2441         * c-common.c (c_common_nodes_and_builtins): ... to here.
2442
2443 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
2444
2445         * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
2446         is only used as frame pointer when frame_pointer_needed is true.
2447
2448 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
2449
2450         PR target/817
2451         * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
2452         for the fact that the pool entry uses two words.
2453         (movdf_hard_insn): Similarly.  Also, ADR instruction can span
2454         1k bytes.
2455         (movdf_soft_insn): Similarly.
2456         (movxf_hard_insn): Adjust neg_pool_range attribute to allow
2457         for the fact that the pool entry uses three words.
2458
2459 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
2460
2461         * config/mips/mips.c (mips_va_arg): When using the struct version
2462         of the EABI va_list, allow arguments in the register save area to
2463         take up less room than a stack argument.
2464
2465 2002-04-10  Richard Henderson  <rth@redhat.com>
2466
2467         * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
2468         if EXPAND_INITIALIZER.
2469
2470 2002-04-09  Richard Henderson  <rth@redhat.com>
2471
2472         * config/alpha/alpha.md (movdi_er_maybe_g): New.
2473         * config/alpha/alpha.c (alpha_expand_mov): Use it.
2474
2475 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
2476
2477         PR optimization/6233
2478         * rtlanal.c (pure_call_p): New function.
2479         * rtl.h (pure_call_p): Declare.
2480         * loop.c (prescan_loop): Use it to set has_nonconst_call.
2481         * gcse.c (store_killed_in_insn): Use pure_call_p here too.
2482
2483 2002-04-09  Eric Christopher  <echristo@redhat.com>
2484
2485         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
2486         information to .comm directive.
2487
2488 2002-04-09  Richard Henderson  <rth@redhat.com>
2489
2490         PR c/5078
2491         * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
2492
2493 2002-04-09  Richard Henderson  <rth@redhat.com>
2494
2495         * basic-block.h (flow_delete_block_noexpunge): Declare.
2496         (expunge_block_nocompact): Declare.
2497         * cfg.c (expunge_block_nocompact): Split out from ...
2498         (expunge_block): ... here.
2499         * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
2500         (flow_delete_block_noexpunge): Split out from ...
2501         (flow_delete_block): ... here.
2502         * cfgcleanup.c (delete_unreachable_blocks): Compact while
2503         removing dead blocks.
2504         * except.c (exception_handler_labels): Remove.
2505         (exception_handler_label_map): New.
2506         (struct eh_region): Add aka member.
2507         (mark_ehl_map_entry, mark_ehl_map, free_region): New.
2508         (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
2509         (for_each_eh_label, for_each_eh_label_1): New.
2510         (init_eh): Register exception_handler_label_map.
2511         (free_eh_status): Use free_region.
2512         (find_exception_handler_labels): Use the map, not the list.
2513         (remove_exception_handler_label): Likewise.
2514         (maybe_remove_eh_handler): Likewise.
2515         (remove_eh_handler): Use the region aka bitmap.
2516         * except.h (exception_handler_labels): Remove.
2517         (for_each_eh_label): Declare.
2518         * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
2519         * loop.c (invalidate_loops_containing_label): New.
2520         (find_and_verify_loops): Use it.  Use for_each_eh_label.
2521         * sched-rgn.c (is_cfg_nonregular): Use
2522         current_function_has_exception_handlers.
2523
2524 2002-04-09  Richard Henderson  <rth@redhat.com>
2525
2526         * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
2527         sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
2528         Do not return changed status.
2529         (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
2530         sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
2531         New functions that do return changed status.
2532         * sbitmap.h: Update decls.
2533         * gcse.c, lcm.c: Use _cg functions as needed.
2534
2535 Tue Apr  9 19:15:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
2536
2537         * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
2538         (sh64-*-elf*, sh-*-rtemself*): Likewise.
2539         * config/sh/embed_bb.c: New file.
2540         * config/sh/embed-elf.h: New file.
2541         * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
2542         if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
2543         (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
2544         __PTRDIFF_TYPE__ .
2545         (SUBTARGET_CPP_PTR_SPEC): Don't define.
2546         (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
2547         Add subtarget_asm_endian_spec.
2548         (ASM_SPEC): Use subtarget_asm_endian_spec.
2549         (SUBTARGET_ASM_ENDIAN_SPEC): Define.
2550         (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
2551         (WCHAR_UNSIGNED): Define.
2552         (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
2553         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
2554         (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
2555         Fix value.
2556         * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
2557         (sh_adjust_cost): Likewise.
2558         sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
2559         __PTRDIFF_TYPE__ .
2560         (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
2561         (WCHAR_TYPE_SIZE): Likewise.
2562         (ASM_SPEC): Use subtarget_asm_endian_spec.
2563         (SH_ELF_WCHAR_TYPE): #undef/ #define.
2564         (MAX_WCHAR_TYPE_SIZE): Don't #undef.
2565         * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
2566         (MAX_WCHAR_TYPE_SIZE): Don't #define .
2567         (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
2568         (USER_LABEL_PREFIX): Don't #undef /#define .
2569         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
2570         * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
2571         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
2572         (ASM_SPEC): Likewise.
2573         (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
2574         (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
2575         * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
2576         (LIB2FUNCS_EXTRA): Define.
2577         * t-sh64 (LIB2FUNCS_EXTRA): Define.
2578         * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
2579         (LIB1ASMFUNCS_CACHE): Define.
2580         (LIB2FUNCS_EXTRA): Redefine empty.
2581
2582 2002-04-08  Richard Henderson  <rth@redhat.com>
2583
2584         * reorg.c (get_branch_condition): Use reversed_comparison_code.
2585
2586 2002-04-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2587
2588         * config/m68hc11/larith.asm (__map_data_section): Fix condition
2589         and optimize for size.
2590         (__do_global_ctors): Fix pointer comparison.
2591         (__do_global_dtors): Likewise.
2592
2593 2002-04-09  David S. Miller  <davem@redhat.com>
2594
2595         * config/sparc/sparc.c (sparc_extra_constraint_check): New
2596         function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
2597         allow reloading pseudos.
2598         * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
2599         * config/sparc/sparc-protos.h: Declare it.
2600
2601         * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
2602         unsigned comparison warning.
2603         (output_restore_regs): Mark leaf_function as unused.
2604
2605 Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2606
2607         * expr.c (is_aligning_offset): New function.
2608         (expand_expr, case COMPONENT_EXPR): Call it.
2609
2610 2002-04-08  David S. Miller  <davem@redhat.com>
2611
2612         PR target/6082
2613         * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
2614
2615         Make init_priority work on Sparc when using GNU ld.
2616         * config/sparc/linux.h, config/sparc/linux64.h,
2617         config/sparc/netbsd-elf.h, config/sparc/freebsd.h
2618         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
2619         * config/sparc/sol2-gld.h: New file to do the same.
2620         * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
2621         sparc/sol2-gld.h to tm_file.
2622
2623         PR optimization/4328
2624         * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
2625         * doc/md.texi: Document it.
2626         * config/sparc/sparc.md (movdi_insn_sp64_novis,
2627         movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
2628         movdf_insn_v9only_vis, movdf_insn_sp64_novis,
2629         movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
2630         * config/sparc/sparc.c (mem_min_alignment): Fix comment.
2631
2632 2002-04-08  Andreas Jaeger  <aj@suse.de>
2633
2634         * stmt.c (expand_asm_operands): Revert last patch from Richard
2635         Henderson.
2636
2637 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2638
2639         * doc/contrib.texi (Contributors): Add John David Anglin and Loren
2640         J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
2641
2642 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2643
2644         * doc/contrib.texi (Contributors): Add David O'Brien.
2645
2646 2002-04-08  Alan Modra  <amodra@bigpond.net.au>
2647
2648         * configure.in (auto-build.h): Use target_alias and build_alias
2649         when running configure.
2650         (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
2651         (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
2652         * configure: Regenerate.
2653
2654 2002-04-07  David S. Miller  <davem@redhat.com>
2655
2656         * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2657
2658 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2659
2660         PR 5933
2661         * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
2662         generating 32-bit pic code.
2663
2664 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
2665
2666         * cppinit.c (cpp_create_reader): Initialize
2667         discard_comments_in_macro_exp.
2668         (COMMAND_LINE_OPTIONS): Add "-CC" option.
2669         (cpp_handle_option): Handle "-CC" option.
2670         * cpplex.c (save_comment): If saving a C++ comment in
2671         a directive, convert it to a C comment.
2672         (_cpp_lex_direct): Pass second comment start character to
2673         save_comment to indicate comment type.
2674         * cpplib.c (_cpp_handle_directive): If processing
2675         a "#define" directive and discard_comments_in_macro_exp
2676         is false,  re-enable saving of comments.
2677         (lex_macro_node): If discard_comments_in_macro_exp is false,
2678         discard any comments before the macro identifier.
2679         * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
2680         member.
2681         * cppmacro.c (cpp_get_token): If expanding a macro while
2682         processing a directive, discard any comments we might encounter.
2683         (parse_params): If discard_comments_in_macro_exp is false,
2684         ignore comments in the macro parameter list.
2685         * gcc.c (cpp_unique_options): Add "-CC" option.
2686         (option_map): Map "--comments-in-macros" to "-CC".
2687         * doc/cppopts.texi: Document "-CC" option.
2688         * f/lang-specs.h: Add "-CC" option.
2689         * testsuite/gcc.dg/cpp/maccom1.c: New test.
2690         * testsuite/gcc.dg/cpp/maccom2.c: New test.
2691         * testsuite/gcc.dg/cpp/maccom3.c: New test.
2692         * testsuite/gcc.dg/cpp/maccom4.c: New test.
2693         * testsuite/gcc.dg/cpp/maccom5.c: New test.
2694         * testsuite/gcc.dg/cpp/maccom6.c: New test.
2695
2696 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2697
2698         PR middle-end/6180
2699         * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
2700
2701 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
2702
2703         PR c++/5571
2704         * stor-layout.c (layout_decl): Reset the RTL for the decl.
2705
2706         PR opt/5120
2707         * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
2708         RTX_UNCHANGING_P for the functions arguments when a tail call
2709         is made.
2710
2711 2002-04-06  Jason Merrill  <jason@redhat.com>
2712
2713         * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
2714         (parse_options_and_default_flags): Set them appropriately.
2715         * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
2716
2717 2002-04-06  Hans-Peter Nilsson  <hp@bitrange.com>
2718
2719         * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
2720         here.
2721
2722         * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
2723         semicolon.
2724
2725         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
2726         types come in by-reference.  Fix typo in comment.
2727
2728 2002-04-05  David S. Miller  <davem@redhat.com>
2729
2730         * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2731         * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
2732         sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
2733         {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
2734
2735 2002-04-05  David S. Miller  <davem@redhat.com>
2736
2737         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
2738         are not going to emit return instructions, emit at least a nop
2739         for the sake of sane backtraces.
2740
2741 2002-04-05  Richard Henderson  <rth@redhat.com>
2742
2743         * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
2744
2745 2002-04-05  Jakub Jeilnek  <jakub@redhat.com>
2746
2747         * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
2748
2749 2002-04-05  Alexandre Oliva  <aoliva@redhat.com>
2750
2751         * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
2752         ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2753         ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
2754
2755 2002-04-05  Andreas Schwab  <schwab@suse.de>
2756
2757         * c-convert.c: Include c-common.h.
2758         * Makefile.in (c-convert.o): Updated.
2759
2760 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
2761
2762         * mklibgcc.in: Use separate libgcc.map for each multilib.
2763         * Makefile.in (distclean): Don't remove libgcc.map here.
2764
2765 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
2766
2767         * Makefile.in (s-mlib): Handle --disable-multilib by separate
2768         genmultilib invocation.
2769
2770 2002-04-04  Richard Sandiford  <rsandifo@redhat.com>
2771
2772         * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
2773         to avoid clash with Irix header file sys/ucontext.h.  Rename gp_regs
2774         to num_gprs for symmetry.
2775         * config/mips/mips.c: Adjust accordingly.
2776
2777 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2778
2779         * c-common.c (truthvalue_conversion): Rename, update.
2780         * c-common.h (c_common_truthvalue_conversion): New.
2781         * c-convert.c (convert): Update.
2782         * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2783         * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
2784         * c-typeck.c (build_binary_op, build_unary_op,
2785         build_conditional_expr): Update.
2786         * fold-const.c (constant_boolean_node, fold): Use langhook.
2787         * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
2788         * langhooks.h (struct lang_hooks): New hook.
2789         * stmt.c (expand_decl_cleanup): Use langhook.
2790         * tree.h (truthvalue_conversion): Remove.
2791 objc:
2792         * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
2793
2794 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
2795
2796         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
2797         Add rules to make null object file.
2798
2799 2002-04-04  Jim Blandy  <jimb@redhat.com>
2800
2801         * cppmacro.c (cpp_macro_definition): Do not emit spaces after
2802         macro formal parameter names.
2803
2804 2002-04-04  David S. Miller  <davem@redhat.com>
2805
2806         * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
2807
2808 2002-04-04  Richard Henderson  <rth@redhat.com>
2809
2810         PR middle-end/5099
2811         * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
2812         Support copies into and out of memory.  Don't accept allows_reg
2813         and allows_mem as gospel.
2814
2815 2002-04-04  Richard Henderson  <rth@redhat.com>
2816
2817         PR opt/6165
2818         * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
2819         (write_dependence_p): Likewise.
2820
2821 2002-04-04  Richard Henderson  <rth@redhat.com>
2822
2823         * predict.c (estimate_bb_frequencies): Do frequency calculation
2824         with a volatile temporary.
2825
2826 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
2827
2828         * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
2829
2830 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2831
2832         PR c++/6119
2833         * final.c (final_start_function): Don't bump profile_label_no here...
2834         (final_end_function): ...but here.
2835
2836 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2837
2838         * config/sparc/sparc.md (pic): New attribute.
2839         (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
2840         into stack slots.
2841         (split after do_builtin_setjmp_setup): New.
2842
2843 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2844
2845         PR fortran/6106
2846         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
2847         change.
2848
2849 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2850
2851         * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
2852         UNITS_PER_WORD for zero sized aggregates.
2853
2854 2002-04-03  David S. Miller  <davem@redhat.com>
2855
2856         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
2857         one-character spec for this, just use %(link_gcc_c_sequence).
2858
2859 2002-04-03  David S. Miller  <davem@redhat.com>
2860
2861         * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
2862         handling.
2863
2864 2002-04-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2865
2866         * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
2867         (DWARF_FRAME_RETURN_COLUMN): Move.
2868         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2869         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
2870         * pa.c (except.h, predict.h): Include.
2871         (FRP): Delete.
2872         (store_reg_modify, set_reg_plus_d): Revise prototypes.
2873         (output_ascii): Add cast.
2874         (store_reg_modify): Revise to add frame notes.
2875         (set_reg_plus_d): Likewise.
2876         (compute_frame_size): Include space for eh data registers in frame if
2877         the current function calls eh_return.
2878         (hppa_expand_prologue):  Ensure register %r2 is saved if the current
2879         function calls eh_return.  Save eh data registers if the current
2880         function calls eh_return.  Fix code to add frame notes.  Emit
2881         blockage to prevent insns with frame notes being scheduled in the
2882         delay slot of calls.
2883         (hppa_expand_epilogue): Restore eh data registers and do final stack
2884         adjustment if the current function calls eh_return.  Don't add frame
2885         notes.
2886         (output_call): Revise for change in length of call insn.  Don't do
2887         return pointer adjustment for an unconditional jump in the delay slot
2888         of a call when using frame notes.
2889         * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
2890         (EH_RETURN_HANDLER_RTX): Use saved value on stack.
2891         (ARG_POINTER_CFA_OFFSET): Define.
2892         * pa.md (return_external_pic): New pattern.
2893         (prologue): Correct formatting.  Use return_external_pic if current
2894         function calls eh_return.
2895         (call_internal_symref, call_value_internal_symref,
2896         sibcall_internal_symref, sibcall_value_internal_symref): Change default
2897         lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
2898         respectively.
2899         (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
2900
2901         * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
2902         list of targets to check using "nop" insn.
2903         * configure: Rebuilt.
2904
2905 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
2906
2907         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
2908
2909 2002-04-03  David S. Miller  <davem@redhat.com>
2910
2911         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
2912         library sequence passed to the linker.
2913         (LINK_COMMAND_SPEC): Use it.
2914         * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
2915         a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
2916         * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2917
2918 2002-04-03  Jason Merrill  <jason@redhat.com>
2919
2920         * except.c (struct eh_status): Remove protect_list.
2921         (begin_protect_partials, end_protect_partials): Remove.
2922         (add_partial_entry): Remove.
2923         * except.h: Remove prototypes.
2924
2925         * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
2926         expand_decl_cleanup_eh.
2927
2928         PR c++/5636
2929         * tree.h (CLEANUP_EH_ONLY): New macro.
2930         * stmt.c (expand_decl_cleanup_eh): New fn.
2931         (expand_cleanups): Check CLEANUP_EH_ONLY.
2932         * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
2933         Use expand_decl_cleanup_eh.
2934         (expand_stmt): Adjust.
2935         * c-common.h: Adjust prototype.
2936
2937 2002-04-04  Hans-Peter Nilsson  <hp@axis.com>
2938
2939         * config/cris/cris.c (cris_target_asm_function_prologue): Cast
2940         uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
2941         (cris_target_asm_function_epilogue): Ditto.
2942         (cris_initial_frame_pointer_offset): Ditto.
2943         (cris_simple_epilogue): Ditto.
2944         (cris_expand_builtin_va_arg): Variable-size types come in
2945         by-reference.
2946
2947 2002-04-03  David S. Miller  <davem@redhat.com>
2948
2949         * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
2950         little-endian.
2951         (set_fast_math): Correct 'fsr' type.
2952
2953 2002-04-03  Richard Henderson  <rth@redhat.com>
2954
2955         PR opt/3569
2956         * langhooks.h (lang_hooks.decls.warn_unused_global): New.
2957         * toplev.c (check_global_declarations): Use it.
2958         * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
2959         (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2960         (LANG_HOOKS_DECLS): Add it.
2961         * langhooks.c (lhd_warn_unused_global_decl): New.
2962         * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2963         * c-objc-common.c (c_warn_unused_global_decl): New.
2964         * c-tree.h (c_warn_unused_global_decl): Declare.
2965         * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
2966
2967 2002-04-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2968
2969         * langhooks-def.h (lhd_set_decl_assembler_name,
2970         LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
2971         (LANG_HOOKS_INITIALIZER): Update.
2972         * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
2973         * langhooks.h (struct lang_hooks): New hook.
2974         * tree.c (set_decl_assembler_name): Move to langhooks.c.
2975         (lang_set_decl_assembler_name): Remove.
2976         (init_obstacks): Don't set hook.
2977         (decl_assembler_name): New function.
2978         * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
2979         (decl_assembler_name): New.
2980         (lang_set_decl_assembler_name): Remove.
2981
2982 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
2983
2984         * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
2985         works properly with .hidden symbols.
2986         * configure: Rebuilt.
2987         * config.in: Rebuilt.
2988         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2989         DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
2990         properly with .hidden symbols.
2991
2992 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
2993
2994         PR middle-end/6102
2995         * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
2996         USE argument.
2997
2998 2002-04-03  Richard Henderson  <rth@redhat.com>
2999
3000         PR opt/4120
3001         * sched-rgn.c (sets_likely_spilled): New.
3002         (sets_likely_spilled_1): New.
3003         (add_branch_dependences): Use it.
3004
3005 2002-04-02  Richard Henderson  <rth@redhat.com>
3006
3007         PR opt/4311
3008         * loop.h (LOOP_FIRST_PASS): New.
3009         * loop.c (strength_reduce): Mind it when deciding to unroll.
3010         * toplev.c (rest_of_compilation): Set it.
3011
3012 2002-04-02  David S. Miller  <davem@redhat.com>
3013
3014         * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
3015         mems_ok_for_ldd_peep when the order of the loads being examined
3016         is reversed.
3017         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
3018         existing comment to increase comprehension of this situation.
3019
3020 2002-04-02  Zack Weinberg  <zack@codesourcery.com>
3021
3022         * config/sh/sh.md: Don't use union real_extract.
3023
3024 2002-04-02  Richard Henderson  <rth@redhat.com>
3025
3026         * libgcc2.c (__bb_exit_func): Revert 03-31 change.
3027
3028 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
3029
3030         * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
3031         i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
3032         i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
3033         i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
3034         i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
3035         i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
3036         i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
3037         i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
3038         i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
3039         i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
3040         i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
3041         i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
3042         i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
3043         i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
3044         Include as many configury headers via tm_file as possible.  This
3045         includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
3046         * config/openbsd-oldgas.h: New file.
3047         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
3048         config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
3049         config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
3050         config/i386/i386-coff.h, config/i386/i386-interix.h,
3051         config/i386/iscdbx.h, config/i386/linux-aout.h,
3052         config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
3053         config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
3054         config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
3055         config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
3056         config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
3057         config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
3058         config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
3059         config/i386/vxi386.h: Do not directly include configury headers.
3060         * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
3061         Directly include configury headers that are no longer automatically
3062         included by the above headers.
3063         * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
3064         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
3065         config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
3066         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
3067         config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
3068         config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
3069         config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
3070         (TARGET_VERSION): Define.
3071         * config/i386/beos-elf.h, config/i386/freebsd.h,
3072         config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
3073         config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
3074         config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
3075         config/i386/sco5.h, config/i386/sysv4.h
3076         (TARGET_VERSION): Do not need to protect.
3077         * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
3078         * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
3079         config/i386/freebsd-aout.h, config/i386/i386-aout.h,
3080         config/i386/i386-interix.h, config/i386/linux-aout.h,
3081         config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
3082         config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
3083         (YES_UNDERSCORES): Do not define - not needed.
3084         * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
3085         ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
3086         USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
3087         * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
3088         (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
3089         USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
3090         * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
3091         * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
3092
3093 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
3094             Richard Henderson  <rth@redhat.com>
3095
3096         PR c/5484
3097         * function.c (assign_temp): Accept either type or decl argument.
3098         Detect variables whose size is too large to fit into an integer.
3099         * stmt.c (expand_decl): Pass the decl, not the type.
3100
3101 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
3102
3103         * protoize.c: Match include directory usage with cppdefault.c.
3104
3105 2002-04-03  Jeffrey A Law  (law@redhat.com)
3106             Hans-Peter Nilsson  <hp@bitrange.com>
3107
3108         * combine.c (simplify_comparison): Avoid narrowing a comparison
3109         with a paradoxical subreg when doing so would drop signficant bits.
3110
3111 2002-04-02  Steve Ellcey  <sje@cup.hp.com>
3112
3113         * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
3114         if POINTERS_EXTEND_UNSIGNED is defined.
3115
3116 2002-04-02  Richard Henderson  <rth@redhat.com>
3117
3118         PR opt/3967
3119         * local-alloc.c (contains_replace_regs): LO_SUM may contain
3120         replace regs.
3121
3122 2002-04-02  Richard Henderson  <rth@redhat.com>
3123
3124         * doc/standards.texi: Document required freestanding libc entry points.
3125
3126 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
3127
3128         * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
3129         associated splitter.  Remove MQ constraint.
3130         (ctrdi_internal4): Correct CCmode clobber.
3131
3132 2002-04-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3133
3134         * milli64.S ($$dyncall): New function.
3135         * t-linux (LIB1ASMFUNCS): Revise module list.
3136         (LIB1ASMSRC): Use pa/milli64.S.
3137
3138 2002-04-02  Richard Henderson  <rth@redhat.com>
3139
3140         * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
3141         rename solaris_sys_varargs_h.
3142
3143 Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3144
3145         * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
3146         the same mode as its component.
3147
3148 2002-04-02  Richard Henderson  <rth@redhat.com>
3149
3150         PR opt/190
3151         * final.c (this_is_asm_operands): Export.
3152         * output.h (this_is_asm_operands): Declare.
3153         * config/i386/i386.c (print_operand): Error odd asm operands.
3154
3155 2002-04-02  Richard Henderson  <rth@redhat.com>
3156
3157         PR opt/420
3158         * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
3159
3160 2002-04-01  Richard Henderson  <rth@redhat.com>
3161
3162         PR target/1538
3163         * fixinc/inclhack.def (solaris_sys_varargs_h): New.
3164         * fixinc/fixincl.x: Rebuild.
3165
3166 2002-04-01  Richard Henderson  <rth@redhat.com>
3167
3168         * config/ia64/unwind-ia64.c: Include ia64intrin.h.
3169         (atomic_alloc, atomic_free): New.
3170         (SIZE, MASK_FOR, PTR_IN): New.
3171         (emergency_reg_state, emergency_reg_state_free): New.
3172         (emergency_labeled_state, emergency_labeled_state_free): New.
3173         (reg_state_alloced, labeled_state_alloced): New.
3174         (alloc_reg_state, free_reg_state): New.
3175         (alloc_label_state, free_label_state, free_label_states): New.
3176         (push, pop, dup_state_stack, free_state_stack): Use them.
3177         (desc_label_state): Likewise.
3178         (uw_frame_state_for): Free label states and state stack.
3179         (uw_update_reg_address): Eliminate warnings.
3180
3181 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
3182
3183         * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
3184         ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
3185
3186 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3187
3188         * c-decl.c (grokdeclarator): Update.
3189         * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3190         * c-tree.h (c_mark_addressable): New.
3191         * c-typeck.c (default_function_array_conversion, build_unary_op,
3192         build_array_ref, convert_for_assignment): Update.
3193         (mark_addressable): Rename.
3194         * calls.c (try_to_integrate, expand_call): Use langhook.
3195         * expr.c (expand_expr): Use langhook.
3196         * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
3197         * langhooks.h (struct lang_hooks): New hook.
3198         * stmt.c (expand_asm_operands): Use langhook.
3199         * tree.h (mark_addressable): Remove.
3200 objc:
3201         * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
3202
3203 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
3204
3205         * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
3206         in previous change.
3207
3208 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
3209
3210         * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
3211         for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
3212
3213 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3214
3215         * c-common.c (unsigned_conversion_warning, convert_and_check,
3216         unsigned_type, signed_type, shorten_compare,
3217         c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
3218         (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
3219         * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
3220         New.
3221         * c-decl.c (grokdeclarator): Update.
3222         * c-format.c (check_format_types): Update.
3223         * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3224         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3225         * c-typeck.c (build_binary_op, convert_for_assignment): Update.
3226         * convert.c (convert_to_integer): Use new hooks.
3227         * expmed.c (make_tree): Use new hooks.
3228         * expr.c (store_expr): Use new hooks.
3229         * fold-const.c (operand_equal_for_comparison_p, build_range_check,
3230         all_ones_mask_p, unextend, fold): Use new hooks.
3231         * langhooks.h (struct lang_hooks_for_types): New hooks.
3232         * tree.h (signed_or_unsigned_type, signed_type,
3233         unsigned_type): Remove.
3234 objc:
3235         * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
3236         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
3237
3238 2002-03-31  Richard Henderson  <rth@redhat.com>
3239
3240         * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
3241         (desc_frgr_mem): Fix reference to f16-f31.
3242
3243 2002-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3244
3245         * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
3246         RTVEC_ELT): Const-ify.
3247         * varray.h (VARRAY_CHECK): Const-ify.
3248         * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
3249         ggc_mark_rtvec, ggc_mark): Const-ify.
3250
3251 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
3252
3253         * diagnostic.c: Include langhooks-def.h.
3254         * Makefile.in (diagnostic.o): Update.
3255
3256 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3257
3258         * c-common.c (c_unsafe_for_reeval): Rename.
3259         * c-common.h (c_unsafe_for_reeval): Rename.
3260         * c-decl.c (finish_incomplete_decl): Rename.
3261         (c_init_decl_processing): Don't set langhook.
3262         * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3263         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3264         * c-objc-common.c (c_objc_common_init): Don't set langhook.
3265         * c-tree.h (finish_incomplete_decl): Rename.
3266         * langhooks-def.h (lhd_unsafe_for_reeval): New.
3267         (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
3268         (LANG_HOOKS_INITIALIZER): Update.
3269         * langhooks.c (lhd_unsafe_For_reeval): New.
3270         * langhooks.h (struct langhooks): New hooks.
3271         * toplev.c (incomplete_decl_finalize_hook): Remove.
3272         (wrapup_global_declarations): Update.
3273         * tree.c (lang_unsafe_for_reeval): Remove.
3274         (unsafe_for_reeval): Update.
3275         * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
3276         Remove.
3277 objc:
3278         * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
3279         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
3280
3281 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
3282
3283         * diagnostic.c (print_error_function): Remove.
3284         (default_print_error_function): Rename.
3285         (report_error_function): Update.
3286         * diagnostic.h (print_error_function): Remove.
3287         (default_print_error_function): Remove.
3288         * langhooks-def.h (struct diagnostic_context): Predeclare.
3289         (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
3290         (LANG_HOOKS_INITIALIZER): Update.
3291         * langhooks.h (struct diagnostic context): Predeclare.
3292         (struct lang_hooks): New hook.
3293
3294 2002-03-31  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3295
3296         * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
3297         (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
3298         !flag_pic.
3299         (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
3300         * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
3301         of PIC_OFFSET_TABLE_REGNUM thruout.
3302         * config/rs6000/rs6000.md: Likewise.
3303         * config/rs6000/darwin.h: Likewise.
3304
3305 Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3306
3307         * emit-rtl.c (adjust_address_1, offset_address): Cast value to
3308         unsigned HOST_WIDE_INT, not unsigned int.
3309
3310 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3311
3312         PR middle-end/6096, middle-end/6098, middle-end/6099
3313         * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
3314         CODE_LABELs.
3315         (fill_slots_from_thread): Likewise.
3316
3317 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3318
3319         * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
3320         floating fields in float regs.
3321         (function_arg_record_value_2): Likewise.
3322
3323 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
3324
3325         * config/mmix/mmix.md (define_constants): Remove misleading
3326         FIXME.  Add MMIX_fp_rO_OFFSET.
3327         ("nonlocal_goto_receiver"): Don't have stack-frame address of
3328         saved rO as part of the pattern.  Remove FIXME.
3329         ("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
3330         here, at output-time.
3331
3332 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3333
3334         PR middle-end/6100
3335         * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
3336         REG_BR_PRED.
3337         (output_v9branch): Likewise.
3338
3339 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
3340
3341         * gcc.c: Revert previous patch for now.
3342         * config/i386/djgpp.h: Likewise.
3343
3344 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
3345
3346         * config/mmix/crti.asm (_init): Register _fini with atexit.
3347         * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
3348
3349 2002-03-31  Richard Henderson  <rth@redhat.com>
3350
3351         PR target/3997
3352         * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
3353         (ASM_OUTPUT_DEF_FROM_DECLS): New.
3354
3355 2002-03-31  Richard Henderson  <rth@redhat.com>
3356
3357         * libgcc2.c (__bb_exit_func): Make static.
3358
3359         * config/alpha/alpha.md (trap): New.
3360
3361 2002-03-31  Richard Henderson  <rth@redhat.com>
3362
3363         * builtins.c (expand_builtin_va_arg): Give warnings not errors for
3364         promoted argument types; build trap.
3365         (expand_builtin_trap): New.
3366         (expand_builtin): Use it.
3367         * stmt.c (expand_nl_goto_receivers): Likewise.
3368         * expr.h (expand_builtin_trap): Declare.
3369         * libfuncs.h (LTI_abort, abort_libfunc): New.
3370         * optabs.c (init_optabs): Init abort_libfunc.
3371
3372 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
3373
3374         * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
3375         (LINK_COMMAND_SPEC): ... from here.
3376         (init_gcc_specs): Duplicate it here too, omitting
3377         shared_name in the second copy.
3378         (init_spec): Test for duplicate
3379         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
3380
3381 2002-03-30  David S. Miller  <davem@redhat.com>
3382
3383         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3384         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
3385
3386 2002-03-30  Roger Sayle <roger@eyesopen.com>
3387             Richard Henderson  <rth@redhat.com>
3388
3389         * regmove.c (combine_stack_adjustments_for_block): Avoid
3390         emitting a stack adjustment of zero bytes.  Let delete_insn
3391         update bb->head.
3392
3393 2002-03-30  Richard Henderson  <rth@redhat.com>
3394
3395         * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
3396         (sparc_emitting_epilogue): New.
3397         (leaf_label, output_return, sparc_return_peephole_ok): Remove.
3398         * config/sparc/sparc-protos.h: Update.
3399         * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
3400         (TARGET_SWITCHES): Update.
3401         * config/sparc/sparc.md (return): Remove.
3402         (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
3403         * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
3404         config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
3405         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
3406         config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
3407         config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
3408         config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
3409         Remove MASK_EPILOGUE.
3410         * doc/invoke.texi: Update.
3411
3412 2002-03-30  Daniel Berlin  <dan@dberlin.org>
3413
3414         * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
3415         CPP will start the file for us.
3416
3417 2002-03-30  Richard Henderson  <rth@redhat.com>
3418
3419         PR target/5446
3420         * config/ia64/ia64.c (group_barrier_needed_p): Special case
3421         prologue_allocate_stack.
3422         (ia64_single_set): Use insn codes for recognition of special
3423         cases, not rtl matching.
3424         * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
3425
3426 Sat Mar 30 23:48:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3427
3428         * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
3429
3430 2002-03-30  Richard Henderson  <rth@redhat.com>
3431
3432         PR target/6032
3433         * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
3434         or -fomit-frame-pointer with profiling.
3435         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3436         (FUNCTION_PROFILER): Do nothing.
3437         (PROFILE_HOOK): New.
3438         * config/sparc/sparc.c (sparc_override_options): Don't check
3439         code models for profiling.
3440         (sparc_function_profiler): Remove.
3441         (sparc_profile_hook): New.
3442         * config/sparc/sparc-protos.h: Update.
3443
3444 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
3445
3446         PR optimization/6086
3447         * combine.c (combine_simplify_rtx): If simplify_rtx failed because
3448         of SUBREG of volatile MEM or because the MEM was mode dependent,
3449         return CLOBBER instead of unmodified SUBREG.
3450
3451 Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
3452
3453         * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
3454         when not optimizing.
3455
3456         * toplev.c (rest_of_compilation): Cann mark_constant_function
3457         only when optimizing.
3458
3459         * flow.c (calculate_global_regs_live): Ensure that all AUX fields
3460         are NULL.
3461
3462         * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
3463         (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
3464         (try_optimize_cfg): clear all AUX fields.
3465
3466         * i386.c (aligned_operand): Be prepared for SUBREGed registers.
3467         (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
3468         (ix86_address_cost): Be prepared for SUBREGed registers.
3469         (legitimate_address_p): Accept SUBREGed registers.
3470
3471 2002-03-29  Richard Henderson  <rth@redhat.com>
3472
3473         PR target/5672
3474         * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
3475
3476 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3477
3478         * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
3479         for aggregate and TFmode types.
3480
3481 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
3482
3483         * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
3484
3485 2002-03-29  Richard Henderson  <rth@redhat.com>