OSDN Git Service

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