OSDN Git Service

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