OSDN Git Service

* MAINTAINERS: Remove chill maintainers.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
2
3         Remove Chill front end.
4         * gcc.c (default_compilers): Remove Chill entries.
5         * ch: Remove directory.
6         * doc/frontends.texi: Remove information about Chill.
7         * doc/sourcebuild.texi: Likewise.
8         * doc/standards.texi: Likewise.
9
10 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
11
12         * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
13         (LONGLONG_STANDALONE): Define.
14
15 2002-04-15  David S. Miller  <davem@redhat.com>
16
17         * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
18         Call emit_library_call with LCT_NORMAL.
19         (sparc_initialize_trampoline): Use LCT_foo instead of
20         magic constant in emit_library_call invocations.
21         (sparc64_initialize_trampoline): Likewise.
22         (sparc_profile_hook): Likewise.
23         * config/sparc/sparc.md: Likewise.
24
25         * config/sparc/sparc.c (sparc_extra_constraint_check):
26         Fix type of argument 'c'.
27         * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
28         Likewise.
29
30 2002-04-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
31
32         * diagnostic.h (output_buffer_state): Redefine.
33         (output_format_decoder): New macro.
34         (output_prefixing_rule): Likewise.
35         (output_line_cutoff): Likewise.
36         (diagnostic_format_decoder): Adjust.
37         (diagnostic_prefixing_rule): Likewise.
38         (diagnostic_line_cutoff): Likewise.
39         (diagnostic_state): Likewise.
40         (diagnostic_kind_count): Likewise.
41         (diagnostic_buffer): Now a macro.
42
43         * diagnostic.c (diagnostic_buffer): Remove definition.
44         (output_is_line_wrapping): Adjust.
45         (set_real_maximum_length): Likewise.
46         (output_set_maximum_length): Likewise.
47         (init_output_buffer): Likewise.
48         (lhd_print_error_function): Likewise.
49         (output_do_verbatim): Likewise.
50
51 2002-04-14  Neil Booth  <neil@daikokuya.demon.co.uk>
52
53         * cpperror.c (print_location): Don't print include chain
54         if line == 0.
55         (cpp_begin_message): Update to use DL_ macros.
56         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
57         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
58         cpp_notice, cpp_notice_from_errno): Remove.
59         (cpp_error, cpp_error_with_line): Update to take a diagnostic
60         level.
61         (cpp_errno): New.
62         * cppexp.c (CPP_ICE): Remove.
63         (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
64         lex, integer_overflow, _cpp_parse_expr): Update.
65         * cppfiles.c (read_include_file, find_include_file,
66         handle_missing_header, _cpp_read_file, remap_filename): Update.
67         * cpphash.h (enum error_type): Remove.
68         (_cpp_begin_message): Update.
69         * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
70         cpp_handle_option, cpp_post_options): Update.
71         * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
72         skip_whitespace, parse_identifier, parse_slow, parse_string,
73         _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
74         cpp_interpret_charconst): Update.
75         * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
76         lex_macro_node, do_undef, glue_header_name, parse_include,
77         do_include_common, read_flag, do_line, do_linemarker, do_ident,
78         cpp_register_pragma, do_pragma_once, do_pragma_system_header,
79         do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
80         do_elif, do_endif, parse_answer, parse_assertion, do_assert,
81         _cpp_pop_buffer, do_diagnostic): Update.
82         * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
83         DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
84         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
85         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
86         cpp_notice, cpp_notice_from_errno): Remove.
87         (cpp_error, cpp_error_with_line): Update to take a diagnostic
88         level.
89         (cpp_errno): New.
90         * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
91         collect_args, enter_macro_context, save_parameter, parse_params,
92         _cpp_create_definition, check_trad_stringification,
93         cpp_macro_definition): Update.
94         * cppmain.c (cpp_preprocess_file): Update.
95         * fix-header.c (read_scan_file): Update.
96
97 2002-04-14  Andreas Schwab  <schwab@suse.de>
98
99         * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
100
101 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
102
103         * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
104
105 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
106
107         * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
108         not gnu_hurd.
109
110 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
111
112         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
113
114 2002-04-13      Joel Sherrill <joel@OARcorp.com>
115
116         * config/sparc/t-elf: Enable v8 multilibs.  Impacts
117         sparc-elf and sparc-rtems targets.
118
119 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
120
121         * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
122         defined, and __gnu_hurd__ wherever __GNU__ is defined.
123         * arm/linux-elf.h: Likewise.
124         * cris/aout.h: Likewise.
125         * cris/linux.h: Likewise.
126         * i370/linux.h: Likewise.
127         * i386/gnu.h: Likewise.
128         * i386/linux-aout.h: Likewise.
129         * i386/linux-oldld.h: Likewise.
130         * i386/linux.h: Likewise.
131         * i386/linux64.h: Likewise.
132         * ia64/linux.h: Likewise.
133         * m68k/linux-aout.h: Likewise.
134         * m68k/linux.h: Likewise.
135         * mips/linux.h: Likewise.
136         * pa/pa-linux.h: Likewise.
137         * pj/linux.h: Likewise.
138         * rs6000/sysv4.h: Likewise.
139         * s390/linux.h: Likewise.
140         * sh/linux.h: Likewise.
141         * sparc/linux-aout.h: Likewise.
142         * sparc/linux.h: Likewise.
143         * sparc/linux64.h: Likewise.
144         * xtensa/linux.h: Likewise.
145
146 2002-04-13  Richard Sandiford  <rsandifo@redhat.com>
147
148         * stmt.c (check_unique_operand_names): Expect operand names to
149         be strings rather than identifiers.  Use simple_cst_equal to
150         compare them.
151         (resolve_operand_name_1): Make same identifier to string change here.
152         * c-parse.in (asm_operand): Convert a named operand into a string.
153         * cp/parse.y (asm_operand): Likewise.
154
155 2002-04-13  Andreas Schwab  <schwab@suse.de>
156
157         * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
158
159 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
160
161         Revert these changes:
162
163         2002-04-06  Mark Mitchell  <mark@codesourcery.com>
164
165         PR c++/5571
166         * stor-layout.c (layout_decl): Reset the RTL for the decl.
167
168 2002-04-12  Richard Henderson  <rth@redhat.com>
169
170         * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
171         (sparc*-*-solaris): Clean up header files.
172         * configure.in (AS_SPARC64_FLAG): Error out if can't find it
173         and plan on generating 64-bit code.
174         * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
175         * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
176         * config/sparc/sol2-sld-64.h: Rename ...
177         * config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
178         for AS_SPARC64_FLAG not defined.
179         * config/sparc/sol2-gld-bi.h: New.
180         * config/sparc/sol2-sld.h: Remove.
181         * config/sparc/sol26-sld.h: New.
182         * config/sparc/sol2.h: Tidy comments.
183         * doc/install.texi: Document sparc-solaris configury changes.
184
185 2002-04-12  Richard Henderson  <rth@redhat.com>
186
187         * recog.c (offsettable_address_p): Match the logic in adjust_address.
188
189         * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
190         in 64-bit mode only.  Use only for 32-bit or MEDLOW.
191
192 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
193
194         * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
195
196 Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
197
198         * pa.c (pa_can_combine_p): Call extract_insn before calling
199         constrain_operands.
200
201 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
202
203         * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
204         (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
205         (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
206         (CPP_PREDEFINES): Handle __declspec.
207         * config/i386/t-interix (USER_H): Remove.
208
209 2002-04-12  DJ Delorie  <dj@redhat.com>
210
211         * integrate.c (compare_blocks): Make comparisons safe for when
212         sizeof(int) < sizeof(char *).
213         (find_block): Likewise.
214
215 2002-04-12  Jan Hubicka  <jh@suse.cz>
216             David Edelsohn  <edelsohn@gnu.org>
217
218         * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
219         registers.
220         (symbol_ref_operand): New.
221         * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
222         * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
223
224 2002-04-12  Andreas Schwab  <schwab@suse.de>
225
226         * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
227         * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
228         overrides the definition in config/svr4.h.
229         
230 2002-04-12      Eric Norum <eric.norum@usask.ca>
231
232         * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
233         config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
234         config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
235         config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
236         config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
237         config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
238         config/v850/rtems.h (*-rtems*): Cleanup pass to move common
239         definitions to config/rtems.h and make the targets more similar.
240
241 Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
242
243         * expr.c (expand_assigment): Remove duplicate conversions #ifdef
244         POINTERS_EXTEND_UNSIGNED.
245         (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
246         (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
247
248         * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
249         not specified.
250
251 Fri Apr 12 12:11:26 2002  J"orn Rennecke <joern.rennecke@superh.com>
252
253         * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
254         depends on TARGET_SHMEDIA, not TARGET_SH5.
255
256 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
257
258         * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
259         For paradoxical (subreg VAR), replace VAR, don't try the subreg.
260
261 Fri Apr 12 10:51:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
262
263         * sh.c (broken_move): Constant 0. / 1. load is OK if there is
264         no r0 clobber.
265
266 2002-04-12  Andreas Schwab  <schwab@suse.de>
267
268         * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
269
270 2002-04-12  Richard Henderson  <rth@redhat.com>
271
272         PR bootstrap/4191
273         * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
274
275         * flow.c (mark_used_reg): Manage reg_cond_dead properly for
276         modes spanning multiple hard regs.
277     
278         * recog.c (peephole2_optimize): Rebuild jump labels as needed.
279
280 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
281
282         * pa.c (pa_output_function_prologue): Don't accumulate the total
283         number of code bytes when using TARGET_64BIT, or gas, SOM and not
284         the portable runtime.
285         (output_deferred_plabels): Handle 64bit plabels.
286         (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
287         generating pic code using the GAS assembler for object formats that
288         are not SOM (ie., ELF32 and ELF64).
289         (output_millicode_call): Check attribute type if attribute length is 28.
290         Likewise use $PIC_pcrel$0.  Only call get_attr_length and
291         dbr_sequence_length once.
292         (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
293         dbr_sequence_length once.
294         * pa.h (TARGET_SOM): Define if not defined.
295         * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
296         with GAS and not SOM.
297         (jump, call_internal_reg, call_value_internal_reg): Likewise.
298         * som.h (OBJ_SOM): Rename to TARGET_SOM.  Undefine before defining.
299
300 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
301
302         * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
303         (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
304         (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
305         DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
306         elfos.h and dbxelf.h values are fine now.
307         * config/i386/freebsd.h, config/alpha/freebsd.h
308         (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
309
310 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
311
312         * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
313         or set Acpu or Amachine.  Reformat.
314         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
315         define.
316         (LINK_SPEC): Do not need to undef.
317         * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
318         * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
319         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
320         define.
321         * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
322         (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
323         (LINK_SPEC): Do not need to undef.
324         (DONT_USE_BUILTIN_SETJMP): Do not define.
325         * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
326         (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
327         (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
328         Remove trailing spaces.
329         * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
330         __ELF__, or set Acpu or Amachine.  Reformat.
331         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
332         define.
333
334 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
335
336         * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
337         all other *-*-freebsd* targets.
338
339 2002-04-11  Richard Henderson  <rth@redhat.com>
340
341         * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
342
343 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
344
345         * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
346         Include {cpu}/{cpu}.h thru tm_file.
347         (alpha*-*-linux*ecoff): Remove target.
348         * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
349         (LINK_SPEC): Remove, is not OS independent.
350         * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
351         (LINK_SPEC): Do not need to #undef any longer.
352         * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
353         any longer.
354         * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
355         __ELF__.
356         (LINK_SPEC): Moved here from alpha/elf.h.
357         * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
358         SUB_CPP_PREDEFINES.
359         * config/alpha/linux-ecoff.h: Remove.
360         * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
361         (CPP_SPEC): Define _POSIX_SOURCE as needed.
362         (CPP_SUBTARGET_SPEC): Do not define.
363         (LINK_SPEC): Do not need to #undef any longer.
364         * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
365         * config/alpha/vms.h: Likewise.
366
367 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
368
369         * doc/extend.texi: Remove old claim that typedefs cannot have
370         an alignment attribute.
371
372 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
373
374         PR optimization/6177
375         * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
376         bitpos is 0 and bitsize CONCAT size.
377
378 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
379
380         PR c/6223
381         * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
382
383 2002-04-10  David O'Brien  <obrien@FreeBSD.org>
384
385         * config/alpha/freebsd.h: Minor reformatting.
386         (CPP_SPEC): Define ELF and add cpp_subtarget.
387         (ASM_SPEC): No longer needed.
388
389 2002-04-11  Richard Henderson  <rth@redhat.com>
390
391         * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
392         (movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
393         (dimode mem/zero splitter): New.
394
395 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
396
397         * config/cris/cris.c (cris_override_options): Tweak error message
398         for PIC not implemented.
399
400         * config/cris/cris.h: Tweak comments related to parameter-passing.
401
402         * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
403
404 2002-04-10  Richard Henderson  <rth@redhat.com>
405
406         * except.c (add_ehl_entry): Allow duplicates after landing pad
407         creation.
408
409 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
410
411         * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
412
413 2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>
414
415         * c-decl.c (c_init_decl_processing): Move generation of
416         decls for g77_integer_type_node and friends from here ...
417         * c-common.c (c_common_nodes_and_builtins): ... to here.
418
419 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
420
421         * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
422         is only used as frame pointer when frame_pointer_needed is true.
423
424 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
425
426         PR target/817
427         * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
428         for the fact that the pool entry uses two words.
429         (movdf_hard_insn): Similarly.  Also, ADR instruction can span
430         1k bytes.
431         (movdf_soft_insn): Similarly.
432         (movxf_hard_insn): Adjust neg_pool_range attribute to allow
433         for the fact that the pool entry uses three words.
434
435 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
436
437         * config/mips/mips.c (mips_va_arg): When using the struct version
438         of the EABI va_list, allow arguments in the register save area to
439         take up less room than a stack argument.
440
441 2002-04-10  Richard Henderson  <rth@redhat.com>
442
443         * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
444         if EXPAND_INITIALIZER.
445
446 2002-04-09  Richard Henderson  <rth@redhat.com>
447
448         * config/alpha/alpha.md (movdi_er_maybe_g): New.
449         * config/alpha/alpha.c (alpha_expand_mov): Use it.
450
451 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
452
453         PR optimization/6233
454         * rtlanal.c (pure_call_p): New function.
455         * rtl.h (pure_call_p): Declare.
456         * loop.c (prescan_loop): Use it to set has_nonconst_call.
457         * gcse.c (store_killed_in_insn): Use pure_call_p here too.
458
459 2002-04-09  Eric Christopher  <echristo@redhat.com>
460
461         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
462         information to .comm directive.
463
464 2002-04-09  Richard Henderson  <rth@redhat.com>
465
466         PR c/5078
467         * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
468
469 2002-04-09  Richard Henderson  <rth@redhat.com>
470
471         * basic-block.h (flow_delete_block_noexpunge): Declare.
472         (expunge_block_nocompact): Declare.
473         * cfg.c (expunge_block_nocompact): Split out from ...
474         (expunge_block): ... here.
475         * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
476         (flow_delete_block_noexpunge): Split out from ...
477         (flow_delete_block): ... here.
478         * cfgcleanup.c (delete_unreachable_blocks): Compact while
479         removing dead blocks.
480         * except.c (exception_handler_labels): Remove.
481         (exception_handler_label_map): New.
482         (struct eh_region): Add aka member.
483         (mark_ehl_map_entry, mark_ehl_map, free_region): New.
484         (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
485         (for_each_eh_label, for_each_eh_label_1): New.
486         (init_eh): Register exception_handler_label_map.
487         (free_eh_status): Use free_region.
488         (find_exception_handler_labels): Use the map, not the list.
489         (remove_exception_handler_label): Likewise.
490         (maybe_remove_eh_handler): Likewise.
491         (remove_eh_handler): Use the region aka bitmap.
492         * except.h (exception_handler_labels): Remove.
493         (for_each_eh_label): Declare.
494         * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
495         * loop.c (invalidate_loops_containing_label): New.
496         (find_and_verify_loops): Use it.  Use for_each_eh_label.
497         * sched-rgn.c (is_cfg_nonregular): Use
498         current_function_has_exception_handlers.
499
500 2002-04-09  Richard Henderson  <rth@redhat.com>
501
502         * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
503         sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
504         Do not return changed status.
505         (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
506         sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
507         New functions that do return changed status.
508         * sbitmap.h: Update decls.
509         * gcse.c, lcm.c: Use _cg functions as needed.
510
511 Tue Apr  9 19:15:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
512
513         * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
514         (sh64-*-elf*, sh-*-rtemself*): Likewise.
515         * config/sh/embed_bb.c: New file.
516         * config/sh/embed-elf.h: New file.
517         * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
518         if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
519         (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
520         __PTRDIFF_TYPE__ .
521         (SUBTARGET_CPP_PTR_SPEC): Don't define.
522         (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
523         Add subtarget_asm_endian_spec.
524         (ASM_SPEC): Use subtarget_asm_endian_spec.
525         (SUBTARGET_ASM_ENDIAN_SPEC): Define.
526         (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
527         (WCHAR_UNSIGNED): Define.
528         (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
529         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
530         (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
531         Fix value.
532         * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
533         (sh_adjust_cost): Likewise.
534         sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
535         __PTRDIFF_TYPE__ .
536         (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
537         (WCHAR_TYPE_SIZE): Likewise.
538         (ASM_SPEC): Use subtarget_asm_endian_spec.
539         (SH_ELF_WCHAR_TYPE): #undef/ #define.
540         (MAX_WCHAR_TYPE_SIZE): Don't #undef.
541         * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
542         (MAX_WCHAR_TYPE_SIZE): Don't #define .
543         (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
544         (USER_LABEL_PREFIX): Don't #undef /#define .
545         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
546         * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
547         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
548         (ASM_SPEC): Likewise.
549         (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
550         (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
551         * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
552         (LIB2FUNCS_EXTRA): Define.
553         * t-sh64 (LIB2FUNCS_EXTRA): Define.
554         * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
555         (LIB1ASMFUNCS_CACHE): Define.
556         (LIB2FUNCS_EXTRA): Redefine empty.
557
558 2002-04-08  Richard Henderson  <rth@redhat.com>
559
560         * reorg.c (get_branch_condition): Use reversed_comparison_code.
561
562 2002-04-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
563
564         * config/m68hc11/larith.asm (__map_data_section): Fix condition
565         and optimize for size.
566         (__do_global_ctors): Fix pointer comparison.
567         (__do_global_dtors): Likewise.
568
569 2002-04-09  David S. Miller  <davem@redhat.com>
570
571         * config/sparc/sparc.c (sparc_extra_constraint_check): New
572         function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
573         allow reloading pseudos.
574         * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
575         * config/sparc/sparc-protos.h: Declare it.
576
577         * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
578         unsigned comparison warning.
579         (output_restore_regs): Mark leaf_function as unused.
580
581 Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
582
583         * expr.c (is_aligning_offset): New function.
584         (expand_expr, case COMPONENT_EXPR): Call it.
585
586 2002-04-08  David S. Miller  <davem@redhat.com>
587
588         PR target/6082
589         * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
590
591         Make init_priority work on Sparc when using GNU ld.
592         * config/sparc/linux.h, config/sparc/linux64.h,
593         config/sparc/netbsd-elf.h, config/sparc/freebsd.h
594         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
595         * config/sparc/sol2-gld.h: New file to do the same.
596         * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
597         sparc/sol2-gld.h to tm_file.
598
599         PR optimization/4328
600         * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
601         * doc/md.texi: Document it.
602         * config/sparc/sparc.md (movdi_insn_sp64_novis,
603         movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
604         movdf_insn_v9only_vis, movdf_insn_sp64_novis,
605         movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
606         * config/sparc/sparc.c (mem_min_alignment): Fix comment.
607
608 2002-04-08  Andreas Jaeger  <aj@suse.de>
609
610         * stmt.c (expand_asm_operands): Revert last patch from Richard
611         Henderson.
612
613 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
614
615         * doc/contrib.texi (Contributors): Add John David Anglin and Loren
616         J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
617
618 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
619
620         * doc/contrib.texi (Contributors): Add David O'Brien.
621
622 2002-04-08  Alan Modra  <amodra@bigpond.net.au>
623
624         * configure.in (auto-build.h): Use target_alias and build_alias
625         when running configure.
626         (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
627         (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
628         * configure: Regenerate.
629
630 2002-04-07  David S. Miller  <davem@redhat.com>
631
632         * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
633
634 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
635
636         PR 5933
637         * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
638         generating 32-bit pic code.
639
640 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
641
642         * cppinit.c (cpp_create_reader): Initialize
643         discard_comments_in_macro_exp.
644         (COMMAND_LINE_OPTIONS): Add "-CC" option.
645         (cpp_handle_option): Handle "-CC" option.
646         * cpplex.c (save_comment): If saving a C++ comment in
647         a directive, convert it to a C comment.
648         (_cpp_lex_direct): Pass second comment start character to
649         save_comment to indicate comment type.
650         * cpplib.c (_cpp_handle_directive): If processing
651         a "#define" directive and discard_comments_in_macro_exp
652         is false,  re-enable saving of comments.
653         (lex_macro_node): If discard_comments_in_macro_exp is false,
654         discard any comments before the macro identifier.
655         * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
656         member.
657         * cppmacro.c (cpp_get_token): If expanding a macro while
658         processing a directive, discard any comments we might encounter.
659         (parse_params): If discard_comments_in_macro_exp is false,
660         ignore comments in the macro parameter list.
661         * gcc.c (cpp_unique_options): Add "-CC" option.
662         (option_map): Map "--comments-in-macros" to "-CC".
663         * doc/cppopts.texi: Document "-CC" option.
664         * f/lang-specs.h: Add "-CC" option.
665         * testsuite/gcc.dg/cpp/maccom1.c: New test.
666         * testsuite/gcc.dg/cpp/maccom2.c: New test.
667         * testsuite/gcc.dg/cpp/maccom3.c: New test.
668         * testsuite/gcc.dg/cpp/maccom4.c: New test.
669         * testsuite/gcc.dg/cpp/maccom5.c: New test.
670         * testsuite/gcc.dg/cpp/maccom6.c: New test.
671
672 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
673
674         PR middle-end/6180
675         * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
676
677 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
678
679         PR c++/5571
680         * stor-layout.c (layout_decl): Reset the RTL for the decl.
681
682         PR opt/5120
683         * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
684         RTX_UNCHANGING_P for the functions arguments when a tail call
685         is made.
686
687 2002-04-06  Jason Merrill  <jason@redhat.com>
688
689         * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
690         (parse_options_and_default_flags): Set them appropriately.
691         * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
692
693 2002-04-06  Hans-Peter Nilsson  <hp@bitrange.com>
694
695         * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
696         here.
697
698         * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
699         semicolon.
700
701         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
702         types come in by-reference.  Fix typo in comment.
703
704 2002-04-05  David S. Miller  <davem@redhat.com>
705
706         * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
707         * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
708         sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
709         {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
710
711 2002-04-05  David S. Miller  <davem@redhat.com>
712
713         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
714         are not going to emit return instructions, emit at least a nop
715         for the sake of sane backtraces.
716
717 2002-04-05  Richard Henderson  <rth@redhat.com>
718
719         * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
720
721 2002-04-05  Jakub Jeilnek  <jakub@redhat.com>
722
723         * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
724
725 2002-04-05  Alexandre Oliva  <aoliva@redhat.com>
726
727         * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
728         ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
729         ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
730
731 2002-04-05  Andreas Schwab  <schwab@suse.de>
732
733         * c-convert.c: Include c-common.h.
734         * Makefile.in (c-convert.o): Updated.
735
736 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
737
738         * mklibgcc.in: Use separate libgcc.map for each multilib.
739         * Makefile.in (distclean): Don't remove libgcc.map here.
740
741 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
742
743         * Makefile.in (s-mlib): Handle --disable-multilib by separate
744         genmultilib invocation.
745
746 2002-04-04  Richard Sandiford  <rsandifo@redhat.com>
747
748         * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
749         to avoid clash with Irix header file sys/ucontext.h.  Rename gp_regs
750         to num_gprs for symmetry.
751         * config/mips/mips.c: Adjust accordingly.
752
753 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
754
755         * c-common.c (truthvalue_conversion): Rename, update.
756         * c-common.h (c_common_truthvalue_conversion): New.
757         * c-convert.c (convert): Update.
758         * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
759         * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
760         * c-typeck.c (build_binary_op, build_unary_op,
761         build_conditional_expr): Update.
762         * fold-const.c (constant_boolean_node, fold): Use langhook.
763         * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
764         * langhooks.h (struct lang_hooks): New hook.
765         * stmt.c (expand_decl_cleanup): Use langhook.
766         * tree.h (truthvalue_conversion): Remove.
767 objc:
768         * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
769
770 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
771
772         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
773         Add rules to make null object file.
774
775 2002-04-04  Jim Blandy  <jimb@redhat.com>
776
777         * cppmacro.c (cpp_macro_definition): Do not emit spaces after
778         macro formal parameter names.
779
780 2002-04-04  David S. Miller  <davem@redhat.com>
781
782         * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
783
784 2002-04-04  Richard Henderson  <rth@redhat.com>
785
786         PR middle-end/5099
787         * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
788         Support copies into and out of memory.  Don't accept allows_reg
789         and allows_mem as gospel.
790
791 2002-04-04  Richard Henderson  <rth@redhat.com>
792
793         PR opt/6165
794         * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
795         (write_dependence_p): Likewise.
796
797 2002-04-04  Richard Henderson  <rth@redhat.com>
798
799         * predict.c (estimate_bb_frequencies): Do frequency calculation
800         with a volatile temporary.
801
802 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
803
804         * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
805
806 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
807
808         PR c++/6119
809         * final.c (final_start_function): Don't bump profile_label_no here...
810         (final_end_function): ...but here.
811
812 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
813
814         * config/sparc/sparc.md (pic): New attribute.
815         (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
816         into stack slots.
817         (split after do_builtin_setjmp_setup): New.
818
819 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
820
821         PR fortran/6106
822         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
823         change.
824
825 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
826
827         * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
828         UNITS_PER_WORD for zero sized aggregates.
829
830 2002-04-03  David S. Miller  <davem@redhat.com>
831
832         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
833         one-character spec for this, just use %(link_gcc_c_sequence).
834
835 2002-04-03  David S. Miller  <davem@redhat.com>
836
837         * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
838         handling.
839
840 2002-04-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
841
842         * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
843         (DWARF_FRAME_RETURN_COLUMN): Move.
844         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
845         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
846         * pa.c (except.h, predict.h): Include.
847         (FRP): Delete.
848         (store_reg_modify, set_reg_plus_d): Revise prototypes.
849         (output_ascii): Add cast.
850         (store_reg_modify): Revise to add frame notes.
851         (set_reg_plus_d): Likewise.
852         (compute_frame_size): Include space for eh data registers in frame if
853         the current function calls eh_return.
854         (hppa_expand_prologue):  Ensure register %r2 is saved if the current
855         function calls eh_return.  Save eh data registers if the current
856         function calls eh_return.  Fix code to add frame notes.  Emit
857         blockage to prevent insns with frame notes being scheduled in the
858         delay slot of calls.
859         (hppa_expand_epilogue): Restore eh data registers and do final stack
860         adjustment if the current function calls eh_return.  Don't add frame
861         notes.
862         (output_call): Revise for change in length of call insn.  Don't do
863         return pointer adjustment for an unconditional jump in the delay slot
864         of a call when using frame notes.
865         * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
866         (EH_RETURN_HANDLER_RTX): Use saved value on stack.
867         (ARG_POINTER_CFA_OFFSET): Define.
868         * pa.md (return_external_pic): New pattern.
869         (prologue): Correct formatting.  Use return_external_pic if current
870         function calls eh_return.
871         (call_internal_symref, call_value_internal_symref,
872         sibcall_internal_symref, sibcall_value_internal_symref): Change default
873         lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
874         respectively.
875         (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
876
877         * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
878         list of targets to check using "nop" insn.
879         * configure: Rebuilt.
880
881 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
882
883         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
884
885 2002-04-03  David S. Miller  <davem@redhat.com>
886
887         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
888         library sequence passed to the linker.
889         (LINK_COMMAND_SPEC): Use it.
890         * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
891         a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
892         * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
893
894 2002-04-03  Jason Merrill  <jason@redhat.com>
895
896         * except.c (struct eh_status): Remove protect_list.
897         (begin_protect_partials, end_protect_partials): Remove.
898         (add_partial_entry): Remove.
899         * except.h: Remove prototypes.
900
901         * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
902         expand_decl_cleanup_eh.
903
904         PR c++/5636
905         * tree.h (CLEANUP_EH_ONLY): New macro.
906         * stmt.c (expand_decl_cleanup_eh): New fn.
907         (expand_cleanups): Check CLEANUP_EH_ONLY.
908         * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
909         Use expand_decl_cleanup_eh.
910         (expand_stmt): Adjust.
911         * c-common.h: Adjust prototype.
912
913 2002-04-04  Hans-Peter Nilsson  <hp@axis.com>
914
915         * config/cris/cris.c (cris_target_asm_function_prologue): Cast
916         uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
917         (cris_target_asm_function_epilogue): Ditto.
918         (cris_initial_frame_pointer_offset): Ditto.
919         (cris_simple_epilogue): Ditto.
920         (cris_expand_builtin_va_arg): Variable-size types come in
921         by-reference.
922
923 2002-04-03  David S. Miller  <davem@redhat.com>
924
925         * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
926         little-endian.
927         (set_fast_math): Correct 'fsr' type.
928
929 2002-04-03  Richard Henderson  <rth@redhat.com>
930
931         PR opt/3569
932         * langhooks.h (lang_hooks.decls.warn_unused_global): New.
933         * toplev.c (check_global_declarations): Use it.
934         * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
935         (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
936         (LANG_HOOKS_DECLS): Add it.
937         * langhooks.c (lhd_warn_unused_global_decl): New.
938         * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
939         * c-objc-common.c (c_warn_unused_global_decl): New.
940         * c-tree.h (c_warn_unused_global_decl): Declare.
941         * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
942
943 2002-04-03  Neil Booth  <neil@daikokuya.demon.co.uk>
944
945         * langhooks-def.h (lhd_set_decl_assembler_name,
946         LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
947         (LANG_HOOKS_INITIALIZER): Update.
948         * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
949         * langhooks.h (struct lang_hooks): New hook.
950         * tree.c (set_decl_assembler_name): Move to langhooks.c.
951         (lang_set_decl_assembler_name): Remove.
952         (init_obstacks): Don't set hook.
953         (decl_assembler_name): New function.
954         * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
955         (decl_assembler_name): New.
956         (lang_set_decl_assembler_name): Remove.
957
958 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
959
960         * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
961         works properly with .hidden symbols.
962         * configure: Rebuilt.
963         * config.in: Rebuilt.
964         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
965         DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
966         properly with .hidden symbols.
967
968 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
969
970         PR middle-end/6102
971         * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
972         USE argument.
973
974 2002-04-03  Richard Henderson  <rth@redhat.com>
975
976         PR opt/4120
977         * sched-rgn.c (sets_likely_spilled): New.
978         (sets_likely_spilled_1): New.
979         (add_branch_dependences): Use it.
980
981 2002-04-02  Richard Henderson  <rth@redhat.com>
982
983         PR opt/4311
984         * loop.h (LOOP_FIRST_PASS): New.
985         * loop.c (strength_reduce): Mind it when deciding to unroll.
986         * toplev.c (rest_of_compilation): Set it.
987
988 2002-04-02  David S. Miller  <davem@redhat.com>
989
990         * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
991         mems_ok_for_ldd_peep when the order of the loads being examined
992         is reversed.
993         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
994         existing comment to increase comprehension of this situation.
995
996 2002-04-02  Zack Weinberg  <zack@codesourcery.com>
997
998         * config/sh/sh.md: Don't use union real_extract.
999
1000 2002-04-02  Richard Henderson  <rth@redhat.com>
1001
1002         * libgcc2.c (__bb_exit_func): Revert 03-31 change.
1003
1004 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
1005
1006         * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
1007         i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
1008         i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
1009         i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
1010         i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
1011         i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
1012         i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
1013         i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
1014         i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
1015         i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
1016         i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
1017         i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
1018         i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
1019         i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
1020         Include as many configury headers via tm_file as possible.  This
1021         includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
1022         * config/openbsd-oldgas.h: New file.
1023         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
1024         config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
1025         config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
1026         config/i386/i386-coff.h, config/i386/i386-interix.h,
1027         config/i386/iscdbx.h, config/i386/linux-aout.h,
1028         config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
1029         config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
1030         config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
1031         config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
1032         config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
1033         config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
1034         config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
1035         config/i386/vxi386.h: Do not directly include configury headers.
1036         * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
1037         Directly include configury headers that are no longer automatically
1038         included by the above headers.
1039         * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
1040         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
1041         config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
1042         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
1043         config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
1044         config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
1045         config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
1046         (TARGET_VERSION): Define.
1047         * config/i386/beos-elf.h, config/i386/freebsd.h,
1048         config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
1049         config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
1050         config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
1051         config/i386/sco5.h, config/i386/sysv4.h
1052         (TARGET_VERSION): Do not need to protect.
1053         * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
1054         * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
1055         config/i386/freebsd-aout.h, config/i386/i386-aout.h,
1056         config/i386/i386-interix.h, config/i386/linux-aout.h,
1057         config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
1058         config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
1059         (YES_UNDERSCORES): Do not define - not needed.
1060         * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
1061         ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1062         USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
1063         * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
1064         (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
1065         USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
1066         * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
1067         * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
1068
1069 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
1070             Richard Henderson  <rth@redhat.com>
1071
1072         PR c/5484
1073         * function.c (assign_temp): Accept either type or decl argument.
1074         Detect variables whose size is too large to fit into an integer.
1075         * stmt.c (expand_decl): Pass the decl, not the type.
1076
1077 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
1078
1079         * protoize.c: Match include directory usage with cppdefault.c.
1080
1081 2002-04-03  Jeffrey A Law  (law@redhat.com)
1082             Hans-Peter Nilsson  <hp@bitrange.com>
1083
1084         * combine.c (simplify_comparison): Avoid narrowing a comparison
1085         with a paradoxical subreg when doing so would drop signficant bits.
1086
1087 2002-04-02  Steve Ellcey  <sje@cup.hp.com>
1088
1089         * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
1090         if POINTERS_EXTEND_UNSIGNED is defined.
1091
1092 2002-04-02  Richard Henderson  <rth@redhat.com>
1093
1094         PR opt/3967
1095         * local-alloc.c (contains_replace_regs): LO_SUM may contain
1096         replace regs.
1097
1098 2002-04-02  Richard Henderson  <rth@redhat.com>
1099
1100         * doc/standards.texi: Document required freestanding libc entry points.
1101
1102 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
1103
1104         * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
1105         associated splitter.  Remove MQ constraint.
1106         (ctrdi_internal4): Correct CCmode clobber.
1107
1108 2002-04-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1109
1110         * milli64.S ($$dyncall): New function.
1111         * t-linux (LIB1ASMFUNCS): Revise module list.
1112         (LIB1ASMSRC): Use pa/milli64.S.
1113
1114 2002-04-02  Richard Henderson  <rth@redhat.com>
1115
1116         * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
1117         rename solaris_sys_varargs_h.
1118
1119 Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1120
1121         * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
1122         the same mode as its component.
1123
1124 2002-04-02  Richard Henderson  <rth@redhat.com>
1125
1126         PR opt/190
1127         * final.c (this_is_asm_operands): Export.
1128         * output.h (this_is_asm_operands): Declare.
1129         * config/i386/i386.c (print_operand): Error odd asm operands.
1130
1131 2002-04-02  Richard Henderson  <rth@redhat.com>
1132
1133         PR opt/420
1134         * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
1135
1136 2002-04-01  Richard Henderson  <rth@redhat.com>
1137
1138         PR target/1538
1139         * fixinc/inclhack.def (solaris_sys_varargs_h): New.
1140         * fixinc/fixincl.x: Rebuild.
1141
1142 2002-04-01  Richard Henderson  <rth@redhat.com>
1143
1144         * config/ia64/unwind-ia64.c: Include ia64intrin.h.
1145         (atomic_alloc, atomic_free): New.
1146         (SIZE, MASK_FOR, PTR_IN): New.
1147         (emergency_reg_state, emergency_reg_state_free): New.
1148         (emergency_labeled_state, emergency_labeled_state_free): New.
1149         (reg_state_alloced, labeled_state_alloced): New.
1150         (alloc_reg_state, free_reg_state): New.
1151         (alloc_label_state, free_label_state, free_label_states): New.
1152         (push, pop, dup_state_stack, free_state_stack): Use them.
1153         (desc_label_state): Likewise.
1154         (uw_frame_state_for): Free label states and state stack.
1155         (uw_update_reg_address): Eliminate warnings.
1156
1157 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
1158
1159         * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
1160         ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
1161
1162 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1163
1164         * c-decl.c (grokdeclarator): Update.
1165         * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1166         * c-tree.h (c_mark_addressable): New.
1167         * c-typeck.c (default_function_array_conversion, build_unary_op,
1168         build_array_ref, convert_for_assignment): Update.
1169         (mark_addressable): Rename.
1170         * calls.c (try_to_integrate, expand_call): Use langhook.
1171         * expr.c (expand_expr): Use langhook.
1172         * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
1173         * langhooks.h (struct lang_hooks): New hook.
1174         * stmt.c (expand_asm_operands): Use langhook.
1175         * tree.h (mark_addressable): Remove.
1176 objc:
1177         * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
1178
1179 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
1180
1181         * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
1182         in previous change.
1183
1184 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
1185
1186         * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
1187         for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
1188
1189 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1190
1191         * c-common.c (unsigned_conversion_warning, convert_and_check,
1192         unsigned_type, signed_type, shorten_compare,
1193         c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
1194         (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
1195         * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
1196         New.
1197         * c-decl.c (grokdeclarator): Update.
1198         * c-format.c (check_format_types): Update.
1199         * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1200         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1201         * c-typeck.c (build_binary_op, convert_for_assignment): Update.
1202         * convert.c (convert_to_integer): Use new hooks.
1203         * expmed.c (make_tree): Use new hooks.
1204         * expr.c (store_expr): Use new hooks.
1205         * fold-const.c (operand_equal_for_comparison_p, build_range_check,
1206         all_ones_mask_p, unextend, fold): Use new hooks.
1207         * langhooks.h (struct lang_hooks_for_types): New hooks.
1208         * tree.h (signed_or_unsigned_type, signed_type,
1209         unsigned_type): Remove.
1210 objc:
1211         * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
1212         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
1213
1214 2002-03-31  Richard Henderson  <rth@redhat.com>
1215
1216         * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
1217         (desc_frgr_mem): Fix reference to f16-f31.
1218
1219 2002-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1220
1221         * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
1222         RTVEC_ELT): Const-ify.
1223         * varray.h (VARRAY_CHECK): Const-ify.
1224         * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
1225         ggc_mark_rtvec, ggc_mark): Const-ify.
1226
1227 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1228
1229         * diagnostic.c: Include langhooks-def.h.
1230         * Makefile.in (diagnostic.o): Update.
1231
1232 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
1233
1234         * c-common.c (c_unsafe_for_reeval): Rename.
1235         * c-common.h (c_unsafe_for_reeval): Rename.
1236         * c-decl.c (finish_incomplete_decl): Rename.
1237         (c_init_decl_processing): Don't set langhook.
1238         * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1239         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1240         * c-objc-common.c (c_objc_common_init): Don't set langhook.
1241         * c-tree.h (finish_incomplete_decl): Rename.
1242         * langhooks-def.h (lhd_unsafe_for_reeval): New.
1243         (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
1244         (LANG_HOOKS_INITIALIZER): Update.
1245         * langhooks.c (lhd_unsafe_For_reeval): New.
1246         * langhooks.h (struct langhooks): New hooks.
1247         * toplev.c (incomplete_decl_finalize_hook): Remove.
1248         (wrapup_global_declarations): Update.
1249         * tree.c (lang_unsafe_for_reeval): Remove.
1250         (unsafe_for_reeval): Update.
1251         * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
1252         Remove.
1253 objc:
1254         * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
1255         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
1256
1257 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
1258
1259         * diagnostic.c (print_error_function): Remove.
1260         (default_print_error_function): Rename.
1261         (report_error_function): Update.
1262         * diagnostic.h (print_error_function): Remove.
1263         (default_print_error_function): Remove.
1264         * langhooks-def.h (struct diagnostic_context): Predeclare.
1265         (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
1266         (LANG_HOOKS_INITIALIZER): Update.
1267         * langhooks.h (struct diagnostic context): Predeclare.
1268         (struct lang_hooks): New hook.
1269
1270 2002-03-31  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1271
1272         * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
1273         (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
1274         !flag_pic.
1275         (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
1276         * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
1277         of PIC_OFFSET_TABLE_REGNUM thruout.
1278         * config/rs6000/rs6000.md: Likewise.
1279         * config/rs6000/darwin.h: Likewise.
1280
1281 Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1282
1283         * emit-rtl.c (adjust_address_1, offset_address): Cast value to
1284         unsigned HOST_WIDE_INT, not unsigned int.
1285
1286 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
1287
1288         PR middle-end/6096, middle-end/6098, middle-end/6099
1289         * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
1290         CODE_LABELs.
1291         (fill_slots_from_thread): Likewise.
1292
1293 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
1294
1295         * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
1296         floating fields in float regs.
1297         (function_arg_record_value_2): Likewise.
1298
1299 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
1300
1301         * config/mmix/mmix.md (define_constants): Remove misleading
1302         FIXME.  Add MMIX_fp_rO_OFFSET.
1303         ("nonlocal_goto_receiver"): Don't have stack-frame address of
1304         saved rO as part of the pattern.  Remove FIXME.
1305         ("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
1306         here, at output-time.
1307
1308 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
1309
1310         PR middle-end/6100
1311         * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
1312         REG_BR_PRED.
1313         (output_v9branch): Likewise.
1314
1315 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
1316
1317         * gcc.c: Revert previous patch for now.
1318         * config/i386/djgpp.h: Likewise.
1319
1320 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
1321
1322         * config/mmix/crti.asm (_init): Register _fini with atexit.
1323         * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
1324
1325 2002-03-31  Richard Henderson  <rth@redhat.com>
1326
1327         PR target/3997
1328         * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
1329         (ASM_OUTPUT_DEF_FROM_DECLS): New.
1330
1331 2002-03-31  Richard Henderson  <rth@redhat.com>
1332
1333         * libgcc2.c (__bb_exit_func): Make static.
1334
1335         * config/alpha/alpha.md (trap): New.
1336
1337 2002-03-31  Richard Henderson  <rth@redhat.com>
1338
1339         * builtins.c (expand_builtin_va_arg): Give warnings not errors for
1340         promoted argument types; build trap.
1341         (expand_builtin_trap): New.
1342         (expand_builtin): Use it.
1343         * stmt.c (expand_nl_goto_receivers): Likewise.
1344         * expr.h (expand_builtin_trap): Declare.
1345         * libfuncs.h (LTI_abort, abort_libfunc): New.
1346         * optabs.c (init_optabs): Init abort_libfunc.
1347
1348 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
1349
1350         * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
1351         (LINK_COMMAND_SPEC): ... from here.
1352         (init_gcc_specs): Duplicate it here too, omitting
1353         shared_name in the second copy.
1354         (init_spec): Test for duplicate
1355         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
1356
1357 2002-03-30  David S. Miller  <davem@redhat.com>
1358
1359         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1360         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
1361
1362 2002-03-30  Roger Sayle <roger@eyesopen.com>
1363             Richard Henderson  <rth@redhat.com>
1364
1365         * regmove.c (combine_stack_adjustments_for_block): Avoid
1366         emitting a stack adjustment of zero bytes.  Let delete_insn
1367         update bb->head.
1368
1369 2002-03-30  Richard Henderson  <rth@redhat.com>
1370
1371         * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
1372         (sparc_emitting_epilogue): New.
1373         (leaf_label, output_return, sparc_return_peephole_ok): Remove.
1374         * config/sparc/sparc-protos.h: Update.
1375         * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
1376         (TARGET_SWITCHES): Update.
1377         * config/sparc/sparc.md (return): Remove.
1378         (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
1379         * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
1380         config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
1381         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1382         config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
1383         config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
1384         config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
1385         Remove MASK_EPILOGUE.
1386         * doc/invoke.texi: Update.
1387
1388 2002-03-30  Daniel Berlin  <dan@dberlin.org>
1389
1390         * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
1391         CPP will start the file for us.
1392
1393 2002-03-30  Richard Henderson  <rth@redhat.com>
1394
1395         PR target/5446
1396         * config/ia64/ia64.c (group_barrier_needed_p): Special case
1397         prologue_allocate_stack.
1398         (ia64_single_set): Use insn codes for recognition of special
1399         cases, not rtl matching.
1400         * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
1401
1402 Sat Mar 30 23:48:41 CET 2002  Jan Hubicka  <jh@suse.cz>
1403
1404         * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
1405
1406 2002-03-30  Richard Henderson  <rth@redhat.com>
1407
1408         PR target/6032
1409         * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
1410         or -fomit-frame-pointer with profiling.
1411         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1412         (FUNCTION_PROFILER): Do nothing.
1413         (PROFILE_HOOK): New.
1414         * config/sparc/sparc.c (sparc_override_options): Don't check
1415         code models for profiling.
1416         (sparc_function_profiler): Remove.
1417         (sparc_profile_hook): New.
1418         * config/sparc/sparc-protos.h: Update.
1419
1420 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
1421
1422         PR optimization/6086
1423         * combine.c (combine_simplify_rtx): If simplify_rtx failed because
1424         of SUBREG of volatile MEM or because the MEM was mode dependent,
1425         return CLOBBER instead of unmodified SUBREG.
1426
1427 Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
1428
1429         * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
1430         when not optimizing.
1431
1432         * toplev.c (rest_of_compilation): Cann mark_constant_function
1433         only when optimizing.
1434
1435         * flow.c (calculate_global_regs_live): Ensure that all AUX fields
1436         are NULL.
1437
1438         * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
1439         (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
1440         (try_optimize_cfg): clear all AUX fields.
1441
1442         * i386.c (aligned_operand): Be prepared for SUBREGed registers.
1443         (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
1444         (ix86_address_cost): Be prepared for SUBREGed registers.
1445         (legitimate_address_p): Accept SUBREGed registers.
1446
1447 2002-03-29  Richard Henderson  <rth@redhat.com>
1448
1449         PR target/5672
1450         * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
1451
1452 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1453
1454         * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
1455         for aggregate and TFmode types.
1456
1457 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
1458
1459         * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
1460
1461 2002-03-29  Richard Henderson  <rth@redhat.com>
1462
1463         PR target/5886
1464         * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
1465         * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
1466
1467 2002-03-29  Richard Henderson  <rth@redhat.com>
1468
1469         PR target/6041
1470         * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
1471         (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
1472         * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
1473         * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
1474         conditional.
1475         * docs/invoke.texi: Update -mno-fancy-math-387 docs.
1476
1477 2002-03-29  Dale Johannesen <dalej@apple.com>
1478
1479         * loop.c (combine_movables): Do allow combination of pseudos.
1480
1481 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
1482
1483         * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
1484         * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
1485         No functional change except ...
1486         * config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
1487         * doc/install.texi (*-*-freebsd*): Document port configuration.
1488
1489 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
1490
1491         * Makefile.in (convert.o, calls.o, expmed.o): Update.
1492         * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
1493         Use new hooks.
1494         * builtin-types.def (BT_PTRMODE): Update.
1495         * c-common.c (type_for_size): Rename c_common_type_for_size.
1496         (type_for_mode): Similarly.
1497         (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
1498         Use new hook.
1499         * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
1500         * c-decl.c (finish_enum, build_enumerator): Use new hooks.
1501         * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
1502         Redefine.
1503         * c-typeck.c (common_type, comptypes, default_conversion):
1504         Use new hooks.
1505         * calls.c: Include langhooks.h.
1506         (emit_library_call_value_1): Use new hooks.  Avoid redundant
1507         calls.
1508         * convert.c: Include langhooks.h
1509         (convert_to_pointer, convert_to_integer): Use new hooks.
1510         * except.c (init_eh): Similarly.
1511         * expmed.c: Include langhooks.h.
1512         (expand_mult_add): Use new hooks.
1513         * expr.c (store_expr, store_constructor, expand_expr, do_jump,
1514         try_casesi): Similarly.
1515         * fold-const.c (optimize_bit_field_compare, make_range,
1516         decode_field_reference, fold_truthop, fold): Similarly.
1517         * function.c (assign_stack_local_1, assign_stack_temp_for_type,
1518         put_var_into_stack): Similarly.
1519         * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
1520         LANG_HOOKS_TYPE_FOR_SIZE): New.
1521         (LANG_HOOKS_TYPES_INITIALIZER): Update.
1522         * langhooks.h (lang_hooks_for_types): New hooks.
1523         * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
1524         * tree.c (get_unwidened, get_narrower): Similarly.
1525         * tree.h (type_for_mode, type_for_size): Remove.
1526         * varasm.c (force_const_mem): Use new hooks.
1527         * utils2.c (nonbinary_modular_operation): Update.
1528 objc:
1529         * objc-act.c (handle_impent): Update.
1530         * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
1531         Redefine.
1532
1533 2002-03-29  Steve Ellcey  <sje@cup.hp.com>
1534
1535         * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
1536         * config/ia64/ia64.c (basereg_operand): New.
1537         * config/ia64/ia64-protos.h (basereg_operand): Declare.
1538         * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
1539
1540 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
1541
1542         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
1543         unwind information when frame_pointer_needed.
1544         (mmix_assemble_integer): Tweak wording in comment.
1545
1546 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
1547
1548         * Makefile.in (except.o): Update.
1549         * except.c: Include langhooks.h.
1550         (init_eh): Use langhook.
1551         * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
1552         LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
1553         (LANG_HOOKS_INITIALIZER): Update.
1554         * langhooks.h (lang_hooks_for_types): New.
1555         (struct lang_hooks): Add it.
1556         * tree.c (make_lang_type_fn, make_lang_type): Remove.
1557         * tree.h (make_lang_type_fn, make_lang_type): Remove.
1558 config:
1559         * alpha/alpha.c: Include langhooks.h.
1560         (alpha_build_va_list): Use langhook.
1561         * d30v/d30v.c: Include langhooks.h.
1562         (d30v_build_va_list): Use langhook.
1563         * i386/i386.c: Include langhooks.h.
1564         (ix86_build_va_list): Use langhook.
1565         * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
1566         * s390/s390.c: Include langhooks.h.
1567         (s390_build_va_list): Use langhook.
1568         * stormy16/stormy16.c: Include langhooks.h.
1569         (stormy16_build_va_list): Use langhook.
1570
1571 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
1572
1573         PR c++/5964
1574         * config/sparc/sparc.md (empty_delay_slot, branch_type): New
1575         attributes.
1576         (length): Compute variable length for branches/calls/jumps here.
1577         (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
1578         normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
1579         define branch_type attribute.
1580         (divsi3_sp32): Maximum length is 6 not 7.
1581         (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
1582         call_address_untyped_struct_value_sp32,
1583         call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
1584         * config/sparc/sparc.c (empty_delay_slot): New function.
1585         * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
1586         * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
1587
1588 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
1589
1590         * combine.c (set_nonzero_bits_and_sign_copies): Don't call
1591         nonzero_bits if not needed.
1592         (nonzero_bits) [XOR]: Likewise.
1593         (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
1594         reg_last_set_mode and mode are both MODE_INT, but not equal.
1595         (record_value_for_reg): Compute reg_last_set_nonzero_bits
1596         in nonzero_bits_mode for MODE_INT modes.
1597
1598 2002-03-28  Richard Henderson  <rth@redhat.com>
1599
1600         PR target/5715
1601         * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
1602         to GAS.  Correct drift between alternatives.
1603
1604 2002-03-28  Richard Henderson  <rth@redhat.com>
1605
1606         PR target/6087
1607         * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
1608
1609 2002-03-28  Alexandre Oliva  <aoliva@redhat.com>
1610
1611         * config/i386/freebsd.h (LINK_SPEC): Don't pass default
1612         emulation to the linker.
1613
1614 2002-03-28  Loren J. Rittle  <ljrittle@acm.org>
1615
1616         * config/alpha/freebsd.h (LINK_SPEC): Likewise.
1617         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1618
1619 Thu Mar 28 16:35:31 2002  Jeffrey A Law  (law@redhat.com)
1620
1621         * combine.c (simplify_and_const_int): Make sure to apply mask
1622         when force_to_mode returns a constant integer.  PR3311.
1623
1624 2002-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1625
1626         * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
1627
1628 2002-03-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1629
1630         * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
1631         and Objective-C Dialect Options.
1632
1633 2002-03-28  Richard Henderson  <rth@redhat.com>
1634
1635         * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
1636         comparison should be done vs !=0 not >0 return code.  Tidy cases.
1637
1638 2002-03-28  Richard Henderson  <rth@redhat.com>
1639
1640         * c-decl.c (finish_function): New arg can_defer_p.  Pass it
1641         on to c_expand_body.
1642         * c-tree.h (finish_function): Update decl.
1643         * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
1644
1645 Thu Mar 28 19:13:36 CET 2002  Jan Hubicka  <jh@suse.cz>
1646
1647         * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
1648
1649 Thu Mar 28 13:21:53 CET 2002  Jan Hubicka  <jh@suse.cz>
1650
1651         * rtlanal.c: Include flags.h
1652         (may_trap_p): Do not mark FP operations if trapping
1653         if !flag_trapping_math
1654         * Makefile.in (rtlanal.o): Add dependency on flag.h
1655         * ifcvt.c (noce_operand_ok): Avoid the lameness.
1656
1657 2002-03-27  Zack Weinberg  <zack@codesourcery.com>
1658
1659         * mips.md: Use dconst1, not 1.0, as first argument of
1660         REAL_VALUE_LDEXP.  Don't use union real_extract.
1661
1662 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
1663
1664         * configure.in (gcc_cv_as): Use $target_alias in directory searchs
1665         rather than $target.  Heed program_prefix and
1666         program_transform_name.  Search for gas in cross-compiler case too.
1667         "test -x" rather than "test -f".
1668         (gcc_cv_ld): Likewise.
1669         (gcc_cv_nm): Heed program_prefix and program_transform_name.
1670         (gcc_cv_objdump): Likewise.
1671         * configure: Regenerate.
1672
1673 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1674
1675         * Makefile.in (attribs.o): Update.
1676         * attribs.c: Include langhooks.h.
1677         (decl_attributes): Use langhook.
1678         * c-decl.c (insert_default_attributes): Rename.
1679         * c-tree.h (c_insert_default_attributes): New.
1680         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
1681         (LANG_HOOKS_INITIALIZER): Update.
1682         * langhooks.h (struct lang_hooks): New hook.
1683         * tree.h (insert_default_attributes): Remove.
1684 objc:
1685         * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
1686
1687 2002-03-27  Andreas Schwab  <schwab@suse.de>
1688
1689         * config/i386/i386.c (classify_argument): Also check for
1690         QUAL_UNION_TYPE.
1691
1692 2002-03-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1693
1694         * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
1695         any more.
1696
1697 Wed Mar 27 23:19:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1698
1699         * i960.md (ret): Set PC.
1700         (nonlocal_goto): Fix expander.
1701         * builtins.c (epxand_builin_longjmp): Check that we've emitted
1702         some jump or call.
1703
1704 Wed Mar 27 23:11:35 CET 2002  Jan Hubicka  <jh@suse.cz>
1705
1706         * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
1707         of libcall regions.
1708
1709 Wed Mar 27 22:54:14 CET 2002  Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1710
1711         * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
1712         assigning to BLOCK_FOR_INSN directly.
1713
1714 Wed Mar 27 22:33:05 CET 2002  Jan Hubicka  <jh@suse.cz>
1715
1716         * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
1717
1718 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1719
1720         * c-common.c (c_expand_expr): Fix prototype.
1721         * c-common.h (c_expand_expr): Always declare, update.
1722         * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1723         * c-objc-common.c (c_objc_common_init): No global hook.
1724         * expr.c (expand_expr): Use langhook.
1725         * expr.h (enum expand_modifier): Conditionally declare.
1726         * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
1727         (LANG_HOOKS_INITIALIZER): Update.
1728         * langhooks.c (lhd_expand_expr): New.
1729         * langhooks.h (struct lang_hooks): New hook.
1730         * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
1731         (lang_independent_init): Don't default hook.
1732 objc:
1733         * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
1734
1735 2002-03-27  Richard Henderson  <rth@redhat.com>
1736
1737         PR target/6054
1738         * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
1739         TARGET_CONST_GP.  Simplify conditions.
1740
1741 2002-03-27  Richard Henderson  <rth@redhat.com>
1742
1743         * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1744         config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
1745         config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
1746
1747 2002-03-27  Danny Smith  <dannysmith@users.sourceforge.net>
1748
1749         * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
1750         TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
1751         (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
1752         Remove unnecessary masks.
1753         (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
1754         (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
1755         -mwindows, -mdll switches and their negations.
1756
1757 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1758
1759         * gcc-common.c (lang_mark_false_label_stack): Remove.
1760         * ggc.h (lang_mark_false_label_stack): Similarly.
1761
1762 2002-03-26  Vladimir Makarov  <vmakarov@redhat.com>
1763
1764         * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
1765
1766         * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
1767         or __rtems_ is defined.
1768
1769 2002-03-26  Richard Henderson  <rth@redhat.com>
1770
1771         * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
1772         if a non-trivial load was emitted.
1773         (alpha_emit_set_const_1): Remove obsolete extension.  Fix thinko
1774         in high+extra+low case.
1775
1776 2002-03-26  Richard Henderson  <rth@redhat.com>
1777
1778         * config.gcc (sparc*-solaris): Use float_format=sparc.
1779
1780 2002-03-26  Richard Henderson  <rth@redhat.com>
1781
1782         * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1783         * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
1784         * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
1785         * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
1786         (WINT_TYPE_SIZE): Fix at 32.
1787
1788 2002-03-26  Richard Henderson  <rth@redhat.com>
1789
1790         * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
1791         until after eh landing pad generation.
1792         * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
1793         * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
1794
1795 2002-03-26  Richard Henderson  <rth@redhat.com>
1796
1797         * expr.h (ADD_PARM_SIZE): One more convert for INC.
1798
1799 2002-03-26  Phil Edwards  <pme@gcc.gnu.org>
1800
1801         * gcc.c (cpp_options):  Preserve relative ordering of -pedantic
1802         and warning switches.
1803         (cc1_options):  Likewise.
1804
1805 2002-03-26  Hans Boehm <Hans_Boehm@hp.com>
1806
1807         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
1808         Restore more of the signal context.  Set no_reg_stack_frame.
1809         * config/ia64/unwind-ia64.c (unw_state_record):
1810         Add no_reg_stack_frame, comments.
1811         (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
1812         (uw_update_context): Adjust bsp when unwinding from leaf,
1813         but not signal frame.
1814
1815 2002-03-26  David Edelsohn  <edelsohn@gnu.org>
1816
1817         * config/rs6000/aix51.h (WCHAR_TYPE): Define.
1818
1819 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
1820
1821         * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
1822
1823 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
1824
1825         PR target/5621
1826         * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
1827         "Add a pool_range attribute", which was lost during the ARM/Thumb
1828         merge.
1829
1830 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
1831
1832         * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
1833         a register into the MAC16 accumulator.
1834
1835 2002-03-26  Andrew Cagney  <ac131313@redhat.com>
1836
1837         * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
1838         (Warning Options): Document -Wswitch-enum.
1839         * toplev.c (W_options): Add -Wswitch-enum.  Update comment on
1840         -Wswitch.
1841         (warn_switch_enum): Define variables.
1842         * flags.h (warn_switch_enum): Declare variables.
1843         * stmt.c (expand_end_case_type): When warn_switch_enum /
1844         -Wswitch-enum, perform switch checks.
1845         Fix PR c/5044.
1846
1847 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
1848
1849         * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
1850         (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
1851         (reload_muladdsi_compare0_scratch): Delete.
1852
1853 2002-03-26  Loren J. Rittle  <ljrittle@acm.org>
1854
1855         * doc/install.texi (*-*-freebsd*): Update.
1856
1857 2002-03-26  Richard Henderson  <rth@redhat.com>
1858
1859         * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
1860         (SUB_PARM_SIZE): Cast DEC to ssizetype.
1861
1862         * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
1863         types from the normal argument frame.
1864
1865         * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
1866         variable sized objects by reference.
1867         (sparc_va_arg): Receive them by reference too.
1868
1869 2002-03-26  Hartmut Penner  <hpenner@de.ibm.com>
1870
1871         * config/s390/s390.c (s390_emit_epilogue): Change epilogue
1872         code to not restoring global registers.
1873
1874 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1875
1876         * Makefile.in (ggc-common.o): Update.
1877         * c-decl.c (lang_mark_tree): Rename c_mark_tree.
1878         * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1879         * c-tree.h (c_mark_tree): New.
1880         * ggc-common.c: Include langhooks.h.
1881         (gcc_mark_trees): Use new langhook.
1882         * ggc-callbacks.c: Delete file.
1883         * ggc.h (lang_mark_tree): Remove.
1884         * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
1885         (LANG_HOOKS_INITIALIZER): Update.
1886         * langhooks.h (struct lang_hooks): New hook.
1887 objc:
1888         * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
1889
1890 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
1891
1892         * doc/cpp.texi: Exclude entire Top node from printed manual.
1893         Move option index after directive index.  Insert page breaks
1894         before GFDL and concept index.  Index environment variables
1895         with command line options.
1896         * doc/cppenv.texi: Use @vtable for environment variable list.
1897         Add paragraph explaining semantics of empty elements in path
1898         variables.  Exclude a cross-reference to Fishkill from the
1899         manpage.  Remove an unnecessary cross-reference of the entry
1900         right above the referer.  Don't use @anchor in text that goes
1901         into manpage.
1902         * doc/cppopts.texi: Cross-reference the environment variables
1903         section, not the specific environment variable, for consistency.
1904
1905 2002-03-25  Richard Henderson  <rth@redhat.com>
1906
1907         * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
1908         anywhere in the block.  Don't refer to insns that have been
1909         removed from the chain.  Iterate backward through the new insns.
1910         Don't refer to edges that have been removed.
1911
1912 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
1913
1914         * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
1915         test for overflow of constant.
1916
1917 2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
1918
1919         PR target/2623
1920         * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
1921         (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
1922         these patterns on arm_archv4.
1923
1924 2002-03-25  Danny Smith  <dannysmith@sourceforge.users.net>
1925
1926         * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
1927         int".
1928
1929 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
1930
1931         * toplev.c: Don't include setjmp.h.  Kill float_handler_set,
1932         float_handled, float_handler, float_signal, set_float_handler,
1933         and do_float_handler.  Set handler for SIGFPE to crash_signal.
1934         * toplev.h: Don't prototype do_float_handler.
1935
1936         * c-lex.c: Fold parse_float into lex_number.  Make warning
1937         about portability of hex float constants more informative, and
1938         don't issue it on top of a syntax error.
1939         * fold-const.c: Fold const_binop_1 and fold_convert_1 into
1940         their callers.
1941         * real.h: Define REAL_VALUE_ABS here...
1942         * simplify-rtx.c: ... not here.  Fold check_fold_consts,
1943         simplify_unary_real, simplify_binary_real, and
1944         simplify_binary_is2orm1 into their callers.
1945         * tree.c: Fold build_real_from_int_cst_1 into caller.
1946
1947         * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
1948
1949         * tsystem.h: Include float.h here...
1950         * libgcc2.c: ... not here.
1951
1952 2002-03-25  Nick Clifton  <nickc@cambridge.redhat.com>
1953
1954         Fixes for: PR bootstrap/3591, target/5676
1955         * config/mcore/mcore.h (CC1_SPEC): Define only if not already
1956         defined.  Do not disable exceptions or rtti.
1957         * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
1958         mcore.h.  Disable exceptions and rtti, since they are not
1959         supported by EPOC.
1960
1961 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1962
1963         * c-decl.c (maybe_build_cleanup): Remove.
1964         * expr.c (expand_expr): Use langhook.
1965         * langhooks-def.h (lhd_return_null_tree,
1966         LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
1967         (LANGHOOKS_INITIALIZER): Update.
1968         * langhooks.c (lhd_return_null_tree): New.
1969         * langhooks.h (struct lang_hooks): New hook.
1970         * tree-inline.c (initialize_inlined_parameters): Use langhook.
1971         * tree.h (maybe_build_cleanup): Remove.
1972
1973 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
1974
1975         * regrename.c (build_def_use): Move recog_memoized
1976         before extract_insn.
1977
1978 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
1979
1980         PR target/6043
1981         * expr.c (emit_group_store): Handle storing into CONCAT.
1982
1983 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
1984
1985         * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
1986         corresponding MATCH_DUP.
1987
1988 2002-03-24  Richard Henderson  <rth@redhat.com>
1989
1990         * unroll.c (unroll_loop): Zero label_map.
1991
1992         * gcse.c: Include except.h.
1993         * Makefile.in (gcse.o): Update.
1994
1995 2002-03-24  Richard Henderson  <rth@redhat.com>
1996
1997         * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
1998         Do resolve_unique_section before shared data clause.
1999
2000 2002-03-24  Richard Henderson  <rth@redhat.com>
2001
2002         * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
2003
2004 2002-03-24  Richard Henderson  <rth@redhat.com>
2005
2006         * recog.c (peephole2_optimize): Split blocks when EH insns are
2007         generated in the middle of a block.  Do global life update if
2008         zapped EH edges.
2009
2010 2002-03-24  Richard Henderson  <rth@redhat.com>
2011
2012         * mips.c (mips_function_value): Only promote_mode for non-libcalls.
2013
2014 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
2015
2016         preprocessor/3951
2017         * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
2018         * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
2019         (init_dependency_output): Don't make no_output decision here.
2020
2021 2002-03-24  Andrew Cagney  <ac131313@redhat.com>
2022
2023         * stmt.c (check_for_full_enumeration_handling): Remove tests of
2024         warn_switch.  Update description.
2025         (expand_end_case_type): Call check_for_full_enumeration_handling
2026         when warn_switch.
2027
2028 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2029
2030         * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
2031         (m68hc11_split_move): Call it to see if the source and destination
2032         operands use the same direction auto inc/dec mode, otherwise make the
2033         source an offsetable memory operand and generate an add.
2034
2035 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2036
2037         * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
2038         register for operand 2.
2039         ("*subsi3_zero_extendqi"): Likewise.
2040         ("*iorhi3_gen"): Do the operation on the upper bits and then lower
2041         bits so that it is compatible with a pop.
2042         ("*andhi3_gen"): Likewise.
2043         ("xorhi3"): Likewise.
2044
2045 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
2046
2047         * cppinit.c (cpp_handle_option): Set warn_endif_labels if
2048         -pedantic here...
2049         (cpp_post_options): ... not here.
2050
2051 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
2052             Aldy Hernandez  <aldyh@redhat.com>
2053
2054         Removal of separate preprocessor cpp0.
2055
2056         * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
2057         cpp0, install-common): Update.
2058         * c-common.c (flag_preprocess_only): New.
2059         (c_common_init): Preprocess for -E.
2060         * c-common.h (flag_preprocess_only): New.
2061         * c-decl.c (c_decode_option): Handle -E and -std=c++98.
2062         * c-objc-common.c (c_init_decl_processing): Exit quickly
2063         for NULL return from c_common_init.
2064         * cpplib.h (cpp_preprocess_file): New.
2065         * cppmain.c (main, general_init, pfile, progname): Remove.
2066         (do_preprocessing): Rename cpp_preprocess_file, don't call
2067         cpp_finish.  Don't close stdout here.
2068         (setup_callbacks): Update prototype.
2069         * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
2070         Update.
2071         * tradcpp.c (main): Ignore -quiet.
2072 objc:
2073         * lang-specs.h (default_compilers): Preprocess with cc1obj.
2074
2075 2002-03-24  Richard Henderson  <rth@redhat.com>
2076
2077         PR optimization/5742
2078         * machmode.def: Add inner mode field to complex modes.
2079         * config/mips/mips.c (mips_function_value): Always define.  Add
2080         new argument to handle libcalls.
2081         * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
2082         (FUNCTION_VALUE): Likewise.
2083         * config/mips/abi64.h (FUNCTION_VALUE): Remove.
2084         * config/mips/mips-protos.h: Update.
2085
2086 2002-03-23  Richard Henderson  <rth@redhat.com>
2087
2088         * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
2089         * config/sparc/sparc-protos.h: Update.
2090         * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
2091
2092 2002-03-23  Richard Henderson  <rth@redhat.com>
2093
2094         * config/sparc/gmon-sol2.c (internal_mcount): Assume either
2095         _start or _init begins the text segment.
2096
2097 2002-03-23  David Edelsohn  <edelsohn@gnu.org>
2098
2099         * config/rs6000/rs6000.h (RETURN_IN_MEMORY):  Cast to HOST_WIDE_INT
2100         not HOST_WIDEST_INT.
2101         (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
2102
2103 2002-03-23  Richard Earnshaw  <rearnsha@arm.com>
2104
2105         PR java/5489
2106         * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
2107         operand argument to output_return_instruction.
2108         * arm.c (arm_print_operand, case 'd'): If the operand is
2109         const_true_rtx then just return.
2110         (arm_print_operand, case 'D'): If the operand is const_true_rtx
2111         then abort.
2112
2113 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
2114
2115         * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
2116         (Warning Options): Document -Wswitch-default.
2117         * toplev.c (W_options): Add -Wswitch-default.  Update comment on
2118         -Wswitch.
2119         (warn_switch_default): Define variable.
2120         (warn_switch): Update comment.
2121         * flags.h (warn_switch_default): Declare variable.
2122         (warn_switch): Update comment.
2123         * stmt.c (expand_end_case): Check for and, when
2124         warn_switch_no_default, warn of a missing default case.
2125
2126 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
2127
2128         * real.h (N): Special case 128 bit doubles.
2129
2130         * combine.c (simplify_comparison): When widening modes, ignore
2131         sign extension on CONST_INTs.
2132
2133 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
2134
2135         * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
2136         passed to adjust_address.  Fix comment formatting.
2137
2138
2139 2002-03-22  Zack Weinberg  <zack@codesourcery.com>
2140
2141         * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
2142         Always make REAL_VALUE_TYPE a struct containing an array of
2143         HOST_WIDE_INT, not a double.  Tidy up the code deciding how
2144         big it is.  Don't declare or use union real_extract.
2145
2146         * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
2147         decode_rtx_const, output_constant_pool), config/a29k/a29k.c
2148         (print_operand), config/arm/arm.c (output_move_double),
2149         config/arm/arm.md (consttable_4, consttable_8),
2150         config/romp/romp.c (output_fpops), config/s390/s390.h
2151         (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
2152         (xtensa_output_literal): Don't use union real_extract.
2153
2154         * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
2155         (sfmode_constant_to_ulong), config/ns32k/merlin.h
2156         (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
2157         config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
2158         (PRINT_OPERAND): Don't use local version of union
2159         real_extract.
2160
2161         * config/convex/convex.c (check_float_value), config/vax/vax.c
2162         (vax_float_literal), config/m88k/m88k.md (divdf3),
2163         config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
2164         config/pdp11/pdp11.c (output_move_quad): Don't do host
2165         arithmetic on target floating point quantities.
2166
2167         * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
2168         (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
2169
2170         * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
2171         Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
2172
2173         * real.c (earith): Test INFINITY rather than REAL_INFINITY;
2174         NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
2175         INFINITY.
2176         * print-rtl.c (print_rtx): Disable code which needs
2177         floating-point emulator.
2178         * libgcc2.c: Include float.h and use DBL_MANT_DIG,
2179         FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
2180         depending on HOST_FLOAT_FORMAT to be defined properly.
2181
2182         * config/1750a/1750a.c (get_double, float_label): Delete.
2183         (print_operand): Delete huge commented-out chunk.  Use
2184         REAL_VALUE_TO_DECIMAL.
2185         * config/1750a/1750a-protos.h: Delete prototypes of deleted
2186         functions.
2187         * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
2188         IEEE_FLOAT_FORMAT.
2189         * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
2190         Use REAL_VALUE_TO_DECIMAL as ELF version does.
2191         * config/m88k/m88k.c (real_power_of_2_operand,
2192         legitimize_operand): Take the REAL_VALUE_TYPE and/or union
2193         real_extract out of the union; run the input through
2194         REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
2195         from that into the union.
2196         * config/pdp11/pdp11.c (output_move_double): Rearrange
2197         parentheses to make automatic indenter happy.
2198
2199         * doc/tm.texi (Cross-compilation): Rename node to "Floating
2200         Point" and rewrite to describe current situation.  Also adjust
2201         documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
2202         match code.
2203         * doc/rtl.texi: Adjust cross reference.
2204
2205 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
2206
2207         * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
2208         (xtensa_valid_move, xtensa_preferred_reload_class): Define.
2209         * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
2210         (xtensa_valid_move, xtensa_preferred_reload_class): Define to
2211         prevent use of sp as a reload register.
2212         (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
2213         non_acc_reg_operand.
2214         * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
2215         (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
2216         * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
2217         movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
2218
2219 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
2220
2221         * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
2222         * cpplex.c (unterminated): Delete.
2223         (parse_string): No string literal may extend over multiple
2224         lines.  Suppress the error when preprocessing assembly.
2225         * cppmain.c (scan_translation_unit): Strings are single-line.
2226
2227         * doc/cpp.texi: Update to match.
2228
2229 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
2230
2231         PR optimization/5854
2232         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
2233         Shut up warnings.
2234         (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
2235         (EXTRA_CONSTRAINT): Use S for non-push memory operand.
2236         * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
2237         const0 if scratch register was not allocated.
2238         (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
2239         m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
2240         with GEN_INT (...).
2241         (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
2242         * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
2243         with GEN_INT (...) everywhere.  Remove constraints in define_split
2244         patterns.
2245         (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
2246         require scratch register for setting 0 into regs/non-pushable memory.
2247
2248 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
2249
2250         * config/mips/mips.h (MASK_RETURN_ADDR): Define.
2251         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2252
2253 2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
2254
2255         * cpplib.h (struct cpp_options):  New member, warn_endif_labels.
2256         * cppinit.c (cpp_create_reader):  On by default.
2257         (cpp_handle_option):  Handle -W[no-]endif-labels.
2258         (cpp_post_options):  Also enable if -pedantic.
2259         * cpplib.c (do_else):  Use it.
2260         (do_endif):  Likewise.
2261         * doc/cppopts.texi:  Document new option.
2262         * doc/invoke.texi:  Document new option.
2263
2264 2002-03-22  Lars Brinkhoff  <lars@nocrew.org>
2265
2266         * config/i386/i386.c, config/i386/i386.md: Change all occurences
2267         of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
2268
2269 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
2270
2271         * flow.c (calculate_global_regs_live): Clear aux fields of
2272         ENTRY and EXIT.
2273
2274 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
2275
2276         * config/v850/v850.c (v850_reorg): Only call alter_subreg on
2277         REG or MEM subregs, pass rtx * instead of rtx to it.
2278         * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
2279         rtx * instead of rtx to alter_subreg.
2280         * config/m32r/m32r.c (gen_split_move_double): Likewise.
2281         * config/pj/pj.c (pj_output_rval): Likewise.
2282
2283 2002-03-22  Richard Henderson  <rth@redhat.com>
2284
2285         PR target/3177
2286         * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
2287         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
2288         * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
2289         (ia64_expand_prologue): Look at int_regs, not words, for number
2290         of incomming int regs.
2291
2292 2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
2293
2294         * expr.c (expand_expr): A RESULT_DECL is part of a call.
2295
2296 Fri Mar 22 16:30:42 CET 2002  Jan Hubicka  <jh@suse.cz>
2297
2298         * toplev.c (flag_loop_optimize, flag_crossjumping):
2299         New static variables.
2300         (rest_of_compilation): Conditionalize crossjumping and
2301         loop optimizer.
2302         (parse_options_and_default_flags): Default loop_optimize and
2303         crossjumping.
2304         (lang_independent_options): Add -fcrossjumping and -floop-optimize
2305         * invoke.texi (crossjumping, loop-optimize): Document.
2306
2307 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
2308
2309         * real.c (eiisneg): Move outside #ifdef NANS.
2310
2311 Fri Mar 22 12:08:36 CET 2002  Jan Hubicka  <jh@suse.cz>
2312
2313         * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
2314         frequencies match; avoid match on different loop depths.
2315         (try_crossjump_to_bb): Kill tests that no longer brings time
2316         savings.
2317         * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
2318         updating code.
2319         (split_edge): Likewise.
2320
2321         * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
2322         variable.
2323
2324         * Makefile.in (cfgrtl): Add insn-config.h depenendency.
2325         * cfgrtl.c: Include insn-config.h
2326         (split_block) Dirtify block in presence of conditional execution
2327
2328 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
2329
2330         * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
2331         * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
2332         (function_arg): Constify CUMULATIVE_ARGS.
2333         (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
2334         * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
2335         (UNITS_PER_DOUBLE): New macro.
2336         (SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
2337         (CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
2338         last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
2339         fp_regs and stack_words.
2340         (EABI_FLOAT_VARARGS_P): New macro.
2341         * config/mips/mips.c (struct mips_arg_info): New.
2342         (mips_arg_info): New function.
2343         (function_arg_advance): Use it.  Add adjustment instructions here
2344         rather than in function_arg.
2345         (function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
2346         for VOIDmode at the beginning of the function.
2347         (function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
2348         (function_arg_pass_by_reference): Likewise.
2349         (mips_setup_incoming_varags): New, largely based on old abi64.h code.
2350         (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
2351         (mips_va_start): Likewise.  Use the new stack_words field of
2352         CUMULATIVE_ARGS to set up overflow area.  Reformat.
2353         (mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
2354         doubles and other types, aligning the overflow pointer for non-doubles
2355         too.  Remove some code duplication.  Replace hard-coded constants.
2356
2357 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
2358
2359         * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
2360         (CLASS_UNITS): Undefine.
2361         (CLASS_MAX_NREGS): Use FP_INC.
2362         * config/mips/mips.c (compute_frame_size): Likewise.
2363         (override_options): Use FP_INC and UNITS_PER_FPVALUE.
2364
2365 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
2366
2367         * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
2368         prototype, and handle lexing numbers and identifiers.
2369         (parse_identifier): Update to new form of parse_slow.
2370         (parse_number): Fast path only, use parse_slow otherwise.
2371         (_cpp_lex_direct): Update calls to parse_number.
2372
2373 2002-03-21  DJ Delorie  <dj@redhat.com>
2374
2375         * bb-reorder.c (make_reorder_chain_1): Protect against
2376         when redundant edges are omitted.
2377         * predict.c (dump_prediction): Likewise.
2378
2379 2002-03-21  Richard Henderson  <rth@redhat.com>
2380
2381         PR target/5996
2382         * fixinc/inclhack.def (solaris_stdio_tag): New.
2383         * fixinc/fixincl.x: Regenerate.
2384
2385 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
2386
2387         PR c/5597
2388         * c-typeck.c (process_init_element): Flag non-static
2389         initialization of a flexible array member as illegal.
2390
2391 2002-03-22  Alan Modra  <amodra@bigpond.net.au>
2392
2393         * config/rs6000/t-linux64: New.
2394         * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
2395         t-ppccomm.  Use t-rs6000 and t-linux64.
2396         (powerpc64-*-gnu* <tmake_file>): Likewise.
2397         * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
2398         * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
2399         * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2400
2401 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
2402
2403         * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
2404         flag_really_no_inline instead of optimize == 0.
2405
2406         * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2407
2408         * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2409
2410         * flags.h (flag_really_no_inline): New.
2411
2412         * c-common.c (c_common_post_options): Initialize
2413         flag_really_no_inline.
2414
2415         * toplev.c (flag_really_no_inline): New.
2416
2417 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
2418
2419         * config/avr/avr.md (length): Fix length computation for
2420         conditional branches.
2421
2422 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2423
2424         * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
2425         sdbout.o, profile.o): Update.
2426         * c-common.c (c_common_nodes_and_builtins): Use pushdecl
2427         langhook.
2428         * c-common.h (gettags): Move here from tree.h.
2429         * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
2430         insert_block, getdecls, kept_level_p, global_bindings_p): New.
2431         * dbxout.c (dbxout_init): Use getdecls langhook.
2432         * expr.c (expand_expr): Use insert_block langhook.
2433         * fold-const.c: Include langhooks.h.
2434         (fold_range_test, fold_binary_op_with_conditional_arg,
2435         fold): Use global_bindings_p langhook.
2436         * integrate.c (expand_inline_function): Use insert_block langhook.
2437         * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
2438         LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
2439         LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
2440         LANG_HOOKS_GETDECLS): New.
2441         (LANG_HOOKS_INITIALIZER): Update.
2442         * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
2443         langhook.
2444         * langhooks.h (struct lang_hooks_for_decls): New.
2445         (struct lang_hooks): Update.
2446         * profile.c: Include langhooks.h.
2447         (output_func_start_profiler): Use new langhooks.
2448         * sdbout.c: Include langhooks.h.
2449         (sdbout_init, sdbout_finish): Use getdecls langhook.
2450         * stmt.c: Include langhooks.h.
2451         (expand_fixup, fixup_gotos): Use new langhooks.
2452         * stor-layout.c: Include langhooks.h.
2453         (variable_size): Use global_bindings_p langhook.
2454         * toplev.c (compile_file): Use getdecls langhook.
2455         * tree-inline.c (remap_block): Use insert_block langhook.
2456         * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
2457         insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
2458
2459 2002-03-21  Richard Henderson  <rth@redhat.com>
2460
2461         * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
2462         constants in .data when -fpic.
2463
2464 2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2465
2466         * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
2467         where appropriate.
2468
2469 2002-03-21  Tom Tromey  <tromey@redhat.com>
2470
2471         * config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
2472
2473 Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2474
2475         * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
2476
2477         * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
2478
2479 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
2480             Richard Henderson  <rth@redhat.com>
2481
2482         PR c/5354
2483         * c-common.c (c_expand_expr): Preserve result of a statement
2484         expression if needed.
2485
2486 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
2487
2488         PR bootstrap/4195
2489         * genrecog.c (maybe_both_true_mode): Remove.
2490         (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
2491         * machmode.def (Pmode): Likewise.
2492
2493 Thu Mar 21 01:55:06 EST 2002  John Wehle  (john@feith.com)
2494
2495         * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
2496         (nonlocal_mentioned_p_1): New function.
2497         (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
2498         (nonlocal_set_p, nonlocal_set_p_1): Likewise.
2499         (mark_constant_function): Recognize pure functions.
2500         * rtl.h (global_reg_mentioned_p): New prototype.
2501         * rtlanal.c (global_reg_mentioned_p,
2502         global_reg_mentioned_p_1): New function.
2503
2504 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2505
2506         * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
2507         UNIX assert.h.
2508         * fixinc/fixincl.x: Regenerate.
2509
2510 2002-03-20  Jason Merrill  <jason@redhat.com>
2511
2512         * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
2513
2514 2002-03-20  Michael Meissner  <meissner@redhat.com>
2515
2516         * doc/invoke.texi (Optimize Options): Document that -O2 sets
2517         -fstrict-aliasing.
2518
2519 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
2520
2521         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
2522         ".literal_position" directive before the constant pool.
2523
2524 2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2525
2526         * doc/contrib.texi (Contributors): Update Geoffrey Keating.
2527         Add Craig Rodrigues.
2528         Add Brad Lucier to testers.
2529
2530 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
2531
2532         PR target/4792
2533         * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
2534         to if_then_else.
2535         (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
2536         * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
2537         instead of insn_extract.
2538
2539 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
2540
2541         PR bootstrap/4192
2542         * config/fr30/fr30.md (jump): Remove clobber of fixed register.
2543
2544         * genemit.c (output_added_clobbers_hard_reg_p): Only output return
2545         stmt if some case has been output.
2546
2547 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
2548
2549         PR c/5972
2550         * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
2551         movsfcc_1, movdfcc_1): Add %O2.
2552         * config/i386/i386.c (print_operand): Handle %ON.
2553         Print . before float condition codes in Sun as cmov syntax.
2554         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
2555         * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
2556         no longer true.
2557
2558 2002-03-20  Philip Blundell  <pb@nexus.co.uk>
2559
2560         * config/arm/arm.c (arm_output_epilogue): Don't generate separate
2561         return instruction if PC was popped.
2562
2563 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
2564
2565         * config/xtensa/xtensa.md: Remove unused type attributes.
2566         (adddi_carry, subddi_carry): Change type attribute to "multi".
2567
2568 2002-03-19  Dale Johannesen  <dalej@apple.com>
2569
2570         PR optimization/5999, middle-end/5731
2571         * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
2572         multiplications by reciprocals.
2573
2574 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2575
2576         * Makefile.in: Update.
2577         * c-common.c: Include langhooks.h.
2578         (inline_forbidden_p): Use new hook.
2579         * diagnostic.c: Include langhooks.h.
2580         (format_with_decl, announce_function,
2581         default_print_error_function): Use new hook.
2582         * dwarf2out.c (dwarf2_name): Use new hook.
2583         * function.c: Include langhooks.h.
2584         (init_function_start): Use new hook.
2585         * langhooks-def.h (lhd_decl_printable_name): New.
2586         (LANGHOOKS_DECL_PRINTABLE_NAME): New.
2587         (LANGHOOKS_INITIALIZER): Update.
2588         * langhooks.c (lhd_decl_printable_name): New.
2589         * langhooks.h (struct lang_hooks): New hook.
2590         * toplev.c (decl_name, decl_printable_name): Remove.
2591         (open_dump_file): Use new hook.
2592         (process_options): Remove old hook.
2593         * tree.h (decl_printable_name): Remove.
2594 objc:
2595         * objc-act.c (objc_init): Remove old hook.
2596         (objc_printable_name): Export.
2597         * objc-act.h (objc_printable_name): New.
2598         * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
2599
2600 2002-03-19  Jim Blandy  <jimb@redhat.com>
2601
2602         * c-lex.c (cb_file_change): Pass the #inclusion's line number to
2603         the start_source_file debug hook, not the current line number.
2604
2605 2002-03-19  Richard Henderson  <rth@redhat.com>
2606
2607         * flow.c (EH_USES): Provide default.
2608         (calculate_global_regs_live): Use it for EH edges and noreturn calls.
2609         * doc/tm.texi (EH_USES): New.
2610
2611         * config/ia64/ia64.c (ia64_eh_uses): New.
2612         * config/ia64/ia64-protos.h: Update.
2613         * config/ia64/ia64.h (EH_USES): New.
2614
2615 2002-03-19  Richard Henderson  <rth@redhat.com>
2616
2617         * varasm.c (output_constant_def): Fix stupid typo.
2618
2619 2002-03-19  Richard Henderson  <rth@redhat.com>
2620
2621         PR 5879
2622         * except.c (current_function_has_exception_handlers): New.
2623         * except.h: Declare it.
2624         * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
2625         Combine tests that disable all sibcalls for the function.
2626
2627 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
2628
2629         * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
2630         for INTEGER_CST.
2631
2632 2002-03-19  Richard Henderson  <rth@redhat.com>
2633
2634         PR 5977, 5991
2635         * config/ia64/ia64.c: Revert 2002-03-01 patch.
2636         * config/ia64/ia64.h (INIT_EXPANDERS): New.
2637
2638 2002-03-19  Jim Blandy  <jimb@redhat.com>
2639
2640         * cppmacro.c (cpp_macro_definition): Emit a space after the macro
2641         name, even if the replacement list contains no tokens, as required
2642         by Dwarf.
2643
2644 2002-03-19  Jason Merrill  <jason@redhat.com>
2645
2646         * varasm.c (globalize_decl): Get the name from the RTL, not
2647         DECL_ASSEMBLER_NAME.
2648
2649         * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
2650
2651 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
2652
2653         * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
2654         subdi_carry): Define.
2655
2656 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
2657
2658         * config/rs6000/rs6000.c (rs6000_override_options): Only warn
2659         about -fpic/-fPIC if extra_warnings set.
2660
2661 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
2662
2663         * expr.c (expand_expr): Sign-extend CONST_INT generated from
2664         TREE_STRING_POINTER.
2665         * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
2666
2667 Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2668
2669         * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
2670         in favor of SP if FRAME_POINTER_REQUIRED is false.
2671
2672 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
2673
2674         * emit-rtl.c (gen_int_mode): New function.
2675         * rtl.h: Prototype for it.
2676         * combine.c (make_extraction, simplify_comparison), expmed.c
2677         (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
2678         (convert_modes, store_field), optabs.c (expand_fix),
2679         simplify-rtx.c (neg_const_int, simplify_unary_real),
2680
2681         * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
2682         Use it instead of GEN_INT (trunc_int_for_mode (...)).
2683
2684 2002-03-19  Jakub Jelinek  <jakub@redhat.com>
2685
2686         PR c/5656
2687         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2688         convert_parm_for_inlining.
2689         * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
2690         Define.
2691         * langhooks-def.h: Likewise.
2692         * objc/objc-lang.c: Likewise.
2693         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
2694         function.
2695         * tree-inline.c (initialize_inlined_parameters):
2696         Call convert_parm_for_inlining lang hook if needed.
2697         * c-typeck.c (c_convert_parm_for_inlining): New function.
2698         * c-tree.h (c_convert_parm_for_inlining): Add prototype.
2699
2700 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
2701
2702         * calls.c (precompute_arguments): Do not assume that temporaries
2703         can be destroyed after expanding the argument.
2704         (expand_call): Likewise.
2705
2706 2002-03-15  Eric Christopher  <echristo@redhat.com>
2707
2708         * config/mips/mips.md (movdf_internal2): Add two new move constraints.
2709         Fix register preference on last change.
2710         * config/mips/mips.c (mips_return_in_memory): New function.
2711         * config/mips/mips.h (RETURN_IN_MEMORY): Use.
2712         * config/mips/mips-protos.h: Declare.
2713         * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
2714         * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
2715
2716 2002-03-18  Alexandre Oliva  <aoliva@redhat.com>
2717
2718         * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
2719         a register too.
2720         (anddi3, iorsi3): Likewise.
2721
2722         * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
2723         use %gprel for symbols that are going to be placed in linkonce
2724         sections.
2725
2726         * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
2727         RETURN_ADDRESS_POINTER_REGNUM to $ra.
2728         (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
2729         not needed.  Disregard leaf_function_p().
2730         (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
2731         mips16 frame pointer.
2732         * config/mips/mips.md (store ra): Only to small SP offsets.
2733         2001-08-22  Graham Stott  <grahams@redhat.com>
2734         * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
2735         return a REG rtx for the return address register.
2736
2737 2002-03-18  Bob Wilson  <bob.wilson@acm.org>
2738
2739         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
2740         constant-pool addresses as "mode-dependent".
2741         (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
2742
2743 2002-03-18  Jakub Jelinek  <jakub@redhat.com>
2744
2745         PR target/5740
2746         * expr.c (emit_group_load): Use extract_bit_field if
2747         needed for CONCAT arguments.
2748
2749 2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
2750
2751         PR target/4863
2752         * arm.md (tablejump): Make this a define_expand.  For PIC add the
2753         offset to the base of the table.
2754         (thumb_tablejump): Matcher for Thumb tablejump insn.
2755         * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
2756         as the difference of two labels.
2757         * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2758         * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
2759         tables in the code.
2760         * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
2761         * arm.c (get_jump_table_size): If the table is not in the text
2762         section, return zero.
2763
2764 2002-03-18  Bernd Schmidt  <bernds@redhat.com>
2765
2766         * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
2767         of gen_rtx_SUBREG.
2768         (arm_reload_out_hi): Use gen_lowpart instead of
2769         gen_rtx_SUBREG to access QImode components.
2770         * config/arm/arm.md: Disable zero_extend split for QImode
2771         subregs in BIG_ENDIAN mode.
2772         (storehi_bigend): Match use of least significant byte.
2773         (storeinthi): Remove extraneous SUBREG.
2774         Add missing construction of operands[2].
2775         (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
2776         (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
2777         Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
2778
2779 2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
2780
2781         * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
2782         any_operand.
2783
2784 2002-03-17  Richard Henderson  <rth@redhat.com>
2785
2786         * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
2787         explicitly.
2788
2789 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
2790
2791         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
2792         (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
2793
2794 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2795
2796         * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
2797
2798         * predict.c (estimate_bb_frequencies): Delete unused variables.
2799
2800 2002-03-17  Richard Henderson  <rth@redhat.com>
2801
2802         * config/ia64/ia64.c (ia64_attribute_table): Move before
2803         targetm definition.  Make static.
2804
2805 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2806
2807         * c-common.h (yyparse, c_common_parse_file): New.
2808         * c-lang.c: Include c-common.h.
2809         (LANG_HOOKS_PARSE_FILE): Redefine.
2810         * c-lex.c: Include c-common.h.
2811         (yyparse): Rename c_common_parse_file.  Call yyparse.
2812         * c-parse.in (yyparse): Remove macro.
2813         * c-tree.h (yyparse_1): Remove.
2814         * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
2815         (LANG_HOOKS_INITIALIZER): Update.
2816         * langhooks.h (struct lang_hoooks): New hook parse_file.
2817         * toplev.c (compile_file): Use parse_file hook.
2818         * tree.h (yyparse): Remove.
2819         * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
2820
2821 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
2822
2823         * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
2824         float_truncate, not fix.
2825         ("*truncdfsf2_real"): Ditto.
2826         ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
2827
2828         * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
2829
2830 2002-03-16  Alexandre Oliva  <aoliva@redhat.com>
2831
2832         * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
2833         (s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
2834         where appropriate.  Make the second reference to
2835         leaf_function_p a function call, as intended.  Reindented.
2836
2837         * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
2838         * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
2839
2840         * config/mips/mips.md (addsi3, adddi3): Use scratch register to
2841         add register to non-constant into sp.
2842
2843         * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
2844         * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
2845         (mips16_gp_pseudo_rtx): Lose.
2846         (INIT_EXPANDERS): Deleted.
2847         * config/mips/mips.c (mips_init_machine_status): New.
2848         (mips_free_machine_status): New.
2849         (mips_mark_machine_status): New.
2850         (override_options): Set them.
2851         (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
2852         (struct machine_function): ... new.  Replaced all references.
2853         (mips_add_gc_roots): Don't mark them.
2854         (embedded_pic_fnaddr_reg): New, extracted from...
2855         (embedded_pic_offset): ... here.
2856         * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
2857         (movsi): Likewise.
2858
2859 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2860
2861         * cppinit.c: Revert -MD removal.
2862
2863 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2864
2865         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
2866         soft registers by default for 68HC12.
2867         (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
2868         when compiling with -fomit-frame-pointer.
2869         (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
2870         (expand_epilogue): Likewise.
2871         (m68hc11_gen_rotate): Use exg when rotating by 8.
2872
2873 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2874
2875         * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
2876         * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
2877         (splits): Remove unused add splits.
2878         ("*addhi3_68hc12"): Tune constraints.
2879         ("addhi_sp"): Try to use X instead of Y in all cases and if the
2880         constant fits in 8-bits and D is dead use abx/aby instructions.
2881         ("*addhi3"): Remove extern declaration of ix_reg.
2882         ("*subsi3"): Optimize and provide new split.
2883         ("subhi3"): Cleanup.
2884         ("*subhi3_sp"): Avoid saving X if we know it is dead.
2885         (arith splits): For 68hc12 save the address register on the stack
2886         and do the arithmetic operation with a pop.
2887
2888 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2889
2890         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
2891         allocating QImode in address registers.
2892         ("*movqi_m68hc11"): Likewise.
2893
2894 Sat Mar 16 12:57:28 CET 2002  Jan HUbicka  <jh@suse.cz>
2895
2896         * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
2897
2898 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2899
2900         * cppinit.c (print_help): Display -MD and -MMD.
2901         Don't display usage string.  Update assertion syntax and
2902         typo.
2903         (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
2904         (cpp_handle_option): Update.
2905
2906 2002-03-15  Chris Demetriou  <cgd@broadcom.com>
2907
2908         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
2909         MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
2910         and define it so that regardless of target CPU size,
2911         __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
2912         of "int" rather than "long."
2913
2914 2002-03-15  Richard Henderson  <rth@redhat.com>
2915
2916         * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
2917         size as a tree.
2918
2919 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2920
2921         * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
2922         ("tstqi" split): Avoid using memory for tstqi on address register.
2923         (splits): Remove constraints.
2924         ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
2925         ("cmpdf", "cmpsf"): Remove since not used.
2926         ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
2927         (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
2928
2929 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2930
2931         * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
2932         ("neghi2"): Tighten constraints.
2933         ("one_cmplsi2"): Optimize and simplify split.
2934         * config/m68hc11/larith.asm (__negsi2): Likewise for library.
2935
2936 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2937
2938         * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
2939         and split of AND operation to clear the upper bits.
2940         ("*logicalsi3_zextqi"): Likewise.
2941         ("*logicallhi3_zexthi_ashift8"): Likewise.
2942         ("*logicalsi3_silshr16"): Likewise.
2943         ("logicalsi3_silshl16"): Likewise.
2944         ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
2945
2946 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2947
2948         * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
2949         (m68hc11_indirect_p): New function.
2950         (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
2951         (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
2952         TARGET_M6812.
2953         (asm_print_register): Likewise.
2954         * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
2955         (m68hc11_indirect_p): Declare.
2956         * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
2957         (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
2958         (TARGET_SWITCHES): New option -mrelax.
2959         * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
2960         destination.
2961         ("iorsi3", "xorsi3"): Likewise.
2962         ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
2963         ("*andhi3_mem"): New to handle destination in memory with bclr
2964         and a scratch register.
2965         ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
2966         ("*andhi3_const"): New when operand2 is constant.
2967         ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
2968         ("*andhi3_gen"): Cleanup of the old "andhi3".
2969         ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
2970         ("xorqi3"): Update constraints.
2971
2972 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2973
2974         * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
2975         for reg_equiv_memory_loc when the operand is a register that does
2976         not get a hard register (stack location).
2977         (tst_operand): After reload, accept all memory operand.
2978         (symbolic_memory_operand): Fix detection of symbolic references.
2979         * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
2980         accept symbols and any constant.
2981
2982 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2983
2984         * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
2985         note on the insn that sets the soft frame register.
2986         (must_parenthesize): ix and iy are also reserved names.
2987         (print_operand_address): One more place where parenthesis are required
2988         to avoid confusion with register names.
2989         (m68hc11_gen_movhi): Allow push of stack pointer.
2990         (m68hc11_check_z_replacement): Fix handling of parallel with a
2991         clobber.
2992         (m68hc11_z_replacement): Must update the REG_INC notes to tell what
2993         the replacement register is.
2994         * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
2995         and D8_REGS classes.
2996         (MODES_TIEABLE_P): All modes are tieable except QImode.
2997
2998 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2999
3000         * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
3001         (___subdi3): Likewise.
3002         (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
3003         (__map_data_section): Optimize 68hc11 case.
3004
3005 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3006
3007         * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
3008         than a shift to avoid adding a register with itself.
3009         (m68hc11_memory_move_cost): Take into account NO_REGS.
3010         (m68hc11_register_move_cost): Update and use memory move cost
3011         for soft registers.
3012         (m68hc11_address_cost): Make cost of valid offset not 0 so that
3013         it gives more opportunities to cse to optimize.
3014         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
3015         * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
3016
3017 2002-03-15  Mark Mitchell  <mark@codesourcery.com>
3018
3019         * c-common.c (statement_code_p): Handle CLEANUP_STMT.
3020         * c-common.def (CLEANUP_STMT): New tree node.
3021         * c-common.h (CLEANUP_DECL): New macro.
3022         (CLEANUP_EXPR): Likewise.
3023         * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
3024         * expr.c (expand_expr): Tidy.
3025         * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
3026         * tree-inline.c (initialize_inlined_parameters): Clean up
3027         new local variables.
3028
3029 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
3030
3031         PR bootstrap/4128
3032         * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
3033         before movrXX only, use reg_overlap_mentioned_p.
3034         Only special case NE if just one insn can be generated.
3035
3036 2002-03-15  Jason Merrill  <jason@redhat.com>
3037
3038         * varasm.c (assemble_variable): Call resolve_unique_section before
3039         checking DECL_SECTION_NAME.  Use zeros for a decl with DECL_INITIAL
3040         of error_mark_node.
3041
3042 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
3043
3044         PR target/5170
3045         * arm.md (split pattern for thumb shiftable immediates): Add comment
3046         explaining non-obvious test.
3047
3048 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
3049
3050         PR target/5712
3051         * arm.md (movaddr, movaddr_insn): Delete.
3052
3053 2002-03-15  Jason Merrill  <jason@redhat.com>
3054
3055         * toplev.c (wrapup_global_declarations): Clarify variable handling.
3056         -fkeep-static-consts doesn't apply to comdats.
3057
3058 2002-03-14  Richard Henderson  <rth@redhat.com>
3059
3060         * c-decl.c: Include c-pragma.h.
3061         (start_decl, start_function): Invoke maybe_apply_pragma_weak.
3062         (finish_function): Tidy.
3063         * c-pragma.c: Include c-common.h.
3064         (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
3065         (handle_pragma_weak): Use them.
3066         (init_pragma): Register pending_weaks.
3067         * c-pragma.h (maybe_apply_pragma_weak): Declare.
3068         * print-tree.c (print_node): Print DECL_WEAK.
3069         * varasm.c (mark_weak_decls): Remove.
3070         (remove_from_pending_weak_list): Remove.
3071         (add_weak): Remove.
3072         (asm_emit_uninitialised): Call globalize_decl for weak commons.
3073         (weak_decls): Make a tree_list.
3074         (declare_weak): Cons weak_decls directly.
3075         (globalize_decl): Remove weak_decls elements directly.
3076         (weak_finish): Simplify weak_decls walk.  Don't weaken unused
3077         symbols.  Don't pretend to handle aliases.
3078         (init_varasm_once): Update weak_decls registry.
3079         * Makefile.in: Update dependencies.
3080
3081 2002-03-14  Richard Henderson  <rth@redhat.com>
3082
3083         PR target/5312
3084         * config/ia64/ia64.c: Include tm_p.h last.
3085         (gen_nop_type): Remove duplicate definition.
3086         (cycle_end_fill_slots): Set sched_data for second L slot.
3087         (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
3088         (nop_cycles_until): Fix typos.
3089
3090 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
3091
3092         PR optimization/5891
3093         * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
3094
3095 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
3096
3097         * config/ia64/unwind-ia64.c: Handle copy_state and label_state
3098           descriptors correctly.
3099
3100 2002-03-14  Michael Meissner  <meissner@redhat.com>
3101
3102         * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
3103         100, allowing MAX_UNROLLED_INSNS to be overridden.
3104
3105         * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
3106         --param.
3107
3108         * unroll.c (params.h): Include.
3109         (MAX_UNROLLED_INSNS): Delete, now in params.h.
3110
3111         * doc/invoke.texi (--param max-unroll-insns): Document.
3112
3113         * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
3114
3115 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
3116
3117         * arm.md: Fix warnings about constraints in peepholes and splits.
3118
3119 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
3120
3121         * cpphash.h (struct lexer_state): Remove line_extension member.
3122         * cpplib.c (dequote_string, do_linemarker): New functions.
3123         (linemarker_dir): New data object.
3124         (DIRECTIVE_TABLE): No longer need to interpret #line in
3125         preprocessed source.  Delete obsolete comment about return
3126         values of handlers.
3127         (end_directive, directive_diagnostics, _cpp_handle_directive):
3128         Don't muck with line_extension.
3129         (directive_diagnostics): No need to issue warnings for
3130         linemarkers here.
3131         (_cpp_handle_directive): Issue warnings for linemarkers here,
3132         when appropriate.  Dispatch linemarkers to do_linemarker, not
3133         do_line.
3134         (do_line): Code to handle linemarkers split out to do_linemarker.
3135         Convert escape sequences in filename argument, both places.
3136
3137         * cppmacro.c (quote_string): Rename cpp_quote_string and
3138         export.  All callers changed.
3139         * cpplib.h (cpp_quote_string): Prototype.
3140         * cppmain.c (print_line): Call cpp_quote_string on to_file
3141         before printing it.
3142
3143         * doc/cpp.texi: Document that escapes are now interpreted in
3144         #line and in linemarkers, and that non-printing characters are
3145         converted to octal escapes when linemarkers are generated.
3146
3147 Thu Mar 14 19:04:29 CET 2002  Jan Hubicka  <jh@suse.cz>
3148
3149         * emit-rtl.c (try_split): Use delete_insns.
3150         * recog.c (split_all_insns): Fix terminating condition.
3151
3152 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
3153             Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
3154
3155         PR target/5828
3156         * arm.c (arm_output_epilogue): Fix floating-point register save
3157         adjustment when using a frame pointer.
3158
3159 2002-03-14  Richard Sandiford  <rsandifo@redhat.com>
3160
3161         * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
3162         * config/mips/mips.c (compute_frame_size): Retrofit them here.
3163         (save_restore_insns, mips_expand_epilogue): And here.
3164         (build_mips16_call_stub): And here.
3165         (mips_function_value): Use the new macros to decide whether a single
3166         or complex float can be returned in floating-point registers.  Return
3167         a parallel rtx in the complex case.
3168
3169 Thu Mar 14 11:03:12 CET 2002  Jan Hubicka  <jh@suse.cz>
3170
3171         * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
3172         call after liveness analysis.
3173
3174         * recog.c (split_insn): Use delete_insn_and_edges.
3175
3176         * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
3177         instructions to have branch prediction notes.
3178         * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
3179
3180 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
3181
3182         * configure.in: Don't pass -Wno-long-long to a ADA compiler
3183         that doesn't support it.
3184         * configure: Regenerate.
3185
3186 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
3187
3188         PR target/5626
3189         * config/sparc/sparc.md (normal_branch, inverted_branch,
3190         normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3191         inverted_fp_branch): Adjust calls to output_cbranch.
3192         Set length attribute.
3193         (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
3194         output_v9branch.  Set length attribute.
3195         * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
3196         predicates.
3197         (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
3198         (output_cbranch): Likewise.  Handle far branches.
3199         (output_v9branch): Handle far branches.
3200         * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
3201         Adjust prototypes.
3202         * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
3203         noov_compare64_op predicates.
3204
3205 2002-03-13  Jason Merrill  <jason@redhat.com>
3206
3207         * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
3208         into the function and constify it.
3209         * gthr-dce.h, gthr-solaris.h: Likewise.
3210
3211 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
3212
3213         * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
3214         * config/rs6000/rs6000.c (rs6000_va_arg): Use
3215         std_expand_builtin_va_arg if not ABI_V4.
3216
3217 2002-03-13  Jason Merrill  <jason@redhat.com>
3218
3219         * varasm.c (globalize_decl): New fn.
3220         (assemble_start_function): Use it.
3221         (asm_emit_uninitialized): Use it.
3222         (assemble_alias): Use it.
3223         (assemble_variable): Use it.
3224
3225 2002-03-13  Hans-Peter Nilsson  <hp@axis.com>
3226
3227         * config/cris/cris.c (cris_target_asm_function_prologue): Revert
3228         2002-03-12 internal visibility change.
3229         (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
3230         visibility into SYMBOL_REF_FLAG.
3231
3232 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
3233
3234         * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
3235         VOIDmode operand.  Add compile-time optimization for constant results.
3236
3237 2002-03-12  Jason Merrill  <jason@redhat.com>
3238
3239         * c-typeck.c (convert_for_assignment): Don't allow conversions
3240         between pointers and references.  Only allow lvalues to convert to
3241         reference.
3242
3243 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
3244
3245         * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
3246         before prologue, to avoid scheduling problems.
3247
3248 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
3249
3250         * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
3251         (ELIMINABLE_REGS): Add sfp->sp.
3252         (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
3253
3254 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
3255
3256         PR optimization/5892
3257         * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
3258
3259 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
3260
3261         * loop.c (basic_induction_var): Don't call convert_modes if mode
3262         classes are different.
3263
3264 2002-03-12  Richard Henderson  <rth@redhat.com>
3265
3266         PR optimization/5901
3267         * function.c (reposition_prologue_and_epilogue_notes): Position
3268         the markers after/before the last/first insn not deleted.
3269
3270 2002-03-12  Richard Henderson  <rth@redhat.com>
3271
3272         PR optimization/5878
3273         * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
3274         config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
3275         (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
3276
3277         * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
3278         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
3279         PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
3280
3281         * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
3282         * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
3283         (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
3284         also.  Don't set it if not flag_pic.
3285         * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
3286         to be INVALID_REGNUM when not used.
3287
3288 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
3289
3290         * expmed.c (store_bit_field): Reset alias set for memory.
3291         (extract_bit_field): Same.
3292
3293 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3294
3295         * c-common.c (c_tree_code_type, c_tree_code_length,
3296         c_tree_code_name, add_c_tree_codes): Delete.
3297         * c-common.h (add_c_tree_codes): Delete.
3298         * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
3299         Define.
3300         * c-objc-common.c (c_objc_common_init): Don't call
3301         add_c_tree_codes, instead set lang_unsafe_for_reeval.
3302         * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
3303         objc_tree_code_name, add_objc_tree_codes): Delete.
3304         (objc_init): Don't call add_objc_tree_codes.
3305         * objc/objc-lang.c (tree_code_type, tree_code_length,
3306         tree_code_name): Define.
3307         * toplev.c (lang_independent_init): Don't set
3308         tree_code_length[IDENTIFIER_NODE].
3309         * tree.c (tree_code_type, tree_code_length, tree_code_name):
3310         Delete definitions, moved to language front-ends.
3311         * tree.def (IDENTIFIER_NODE): Hardwire the length.
3312         * tree.h (tree_code_type, tree_code_length, tree_code_name):
3313         Const-ify.
3314         (tree_code_length): Change type to unsigned char.
3315
3316 2002-03-12  Richard Henderson  <rth@redhat.com>
3317
3318         * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
3319         internal visibility change.
3320
3321 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
3322
3323         * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
3324         validize_mem() instead of change_address to avoid clobbering
3325         memory attributes.
3326
3327 2002-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3328
3329         * c-lex.h (position_after_whitespace): Remove.
3330
3331 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
3332
3333         * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
3334         (lex_string): Use unsigned char pointers.
3335
3336 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
3337
3338         * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
3339         is not a valid memory_operand.
3340
3341 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
3342
3343         * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
3344         * config/xtensa/lib1funcs.asm: Fix copyright to include
3345         special case for libgcc files.
3346         (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
3347         (__divsi3): Likewise.
3348         (__umodsi3): Likewise.
3349         (__modsi3): Likewise.
3350         * config/xtensa/lib2funcs.S: Fix copyright to include
3351         special case for libgcc files.
3352
3353 2002-03-12  Tom Rix  <trix@redhat.com>
3354
3355         * collect2.c (resolve_lib_name): Move outside of
3356         OBJECT_FORMAT_COFF ifdef.
3357         (ignore_library): Same.
3358
3359 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
3360
3361         * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
3362
3363 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
3364
3365         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
3366         to function_section before writing out the constant pool.
3367
3368 2002-03-12  David Edelsohn  <edelsohn@gnu.org>
3369
3370         * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
3371         zero_constant.
3372         * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
3373
3374 2002-03-12  Alan Modra  <amodra@bigpond.net.au>
3375
3376         * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
3377         (adddi3): Likewise.
3378         (movdf): Likewise.
3379         (movdi): Likewise.
3380         (cmpsi splitter): Likewise.
3381         (modsi3): Fail if <= 0.
3382         * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
3383         redundant test when HOST_BITS_PER_WIDE_INT != 32.
3384         (reg_or_sub_cint64_operand): Likewise.
3385         (num_insns_constant_wide): Optimize sign extension.
3386         (rs6000_legitimize_address): Likewise.
3387
3388 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
3389
3390         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3391         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3392
3393 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
3394
3395         * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
3396         address calculation.
3397
3398 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
3399
3400         * config/s390/s390.md (reload_insi, reload_indi): Change mode of
3401         scratch register to DImode / TImode.
3402         config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
3403         register used does not overlap the target.
3404
3405 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3406
3407         * Makefile.in (debug.o): Depend on debug.h.
3408         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
3409         * debug.c (do_nothing_debug_hooks): Likewise.
3410         * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
3411         sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
3412         dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
3413         * dwarf2out.c (dwarf2_debug_hooks): Likewise.
3414         * dwarfout.c (dwarf_debug_hooks): Likewise.
3415         * integrate.c (output_inline_function): Likewise.
3416         * objc/objc-act.c (synth_module_prologue): Likewise.
3417         * sdbout.c (sdb_debug_hooks): Likewise.
3418         * toplev.c (debug_hooks): Likewise.
3419         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3420
3421 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3422
3423         * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
3424         dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
3425         m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
3426         ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
3427         v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
3428         * defaults.h (POINTER_SIZE): Define.
3429         * doc/tm.texi (POINTER_SIZE): Document default.
3430
3431 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3432
3433         * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
3434
3435 2002-03-11  Richard Henderson  <rth@redhat.com>
3436
3437         * toplev.c (rest_of_compilation): Call purge_all_dead_edges
3438         if rebuild_label_notes_after_reload.
3439
3440 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
3441
3442         * config/cris/cris.c (cris_target_asm_function_prologue):  Do not
3443         emit pic register load if "internal" visibility.
3444         (cris_print_operand): Avoid traditional-warning for 0xffffffff.
3445         (cris_expand_builtin_va_arg): Do all computations on trees.
3446
3447 2002-03-11  Richard Henderson  <rth@redhat.com>
3448
3449         * rtlanal.c: Include recog.h.
3450         (keep_with_call_p): Fix thinko.
3451         * Makefile.in (rtlanal.o): Update dependencies.
3452
3453 2002-03-11  Chris Meyer  <cmeyer@gatan.com>
3454
3455         * genflags.c (gen_insn): Use IS_VSPACE.
3456         * genoutput.c (output_insn_data): Likewise.
3457         (process_template): Likewise.
3458
3459 2002-03-11  Richard Henderson  <rth@redhat.com>
3460
3461         * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3462
3463 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3464
3465         * Makefile.in: Update.
3466         * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
3467         Update documentation.
3468         * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
3469         * doc/cpp.texi: Inc