OSDN Git Service

0d43bccda300d9d497b9361cbe5211cc4c28babe
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2
3         * fixinc/fixinc.interix: Remove dead code (most of it).
4         * fixinc/fixinc.dgux: Remove.
5
6         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
7         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
8
9 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10
11         * pa.c (pa_init_builtins): Fix warning.
12
13 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
14
15         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
16         (ASM_OUTPUT_XDATA_SHORT): Remove.
17         (ASM_OUTPUT_XDATA_INT): Remove.
18         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
19         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
20         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
21         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
22
23 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
24
25         PR c++/7050
26         * expr.c (store_expr): Don't attempt to store void-typed trees,
27         just evaluate them for side effects.
28
29 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
30
31         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
32         * cppinit.c (push_include): Move with changes to cppfiles.c.
33         (cpp_read_main_file): Mark named operators here...
34         (cpp_finish_options): ...not here.  Update.
35         (_cpp_maybe_push_include_file): Update.
36         * cpplib.h (cpp_push_include, cpp_rename_file): New.
37
38 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
39
40         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
41         _gcc_COMPUTE_GAS_VERSION.
42         * configure.in: Use them.
43         * configure: Regenerate.
44
45 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
46
47         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
48         to detect carry.
49         (subdi3): Reorder emitted instructions.
50
51 2003-03-12  Andreas Jaeger  <aj@suse.de>
52
53         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
54         NETBSD_OS_CPP_BUILTINS_LP64.
55
56 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
57
58         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
59         Rearrange.  Reorganize.
60         * configure.in: Rearrange.
61         * configure: Regenerate.
62
63 2003-03-12  Andreas Jaeger  <aj@suse.de>
64
65         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
66         LP64 targets.
67
68         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
69         _LP64.
70
71         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
72         _LP64 macros here.
73         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
74
75         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
76         NETBSD_OS_CPP_BUILTINS_LP64.
77         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
78         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
79
80         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
81
82 Wed Mar 12 19:04:39 CET 2003  Jan Hubicka  <jh@suse.cz>
83
84         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
85
86 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
87
88         Fix PR target/9797 and PR c/9853.
89         * stmt.c (expand_decl_init): Call push_temp_slots () and
90         pop_temp_slots ().
91
92 Wed Mar 12 16:30:25 2003  J"orn Rennecke <joern.rennecke@superh.com>
93
94         * sh.c: Include basic-block.h.
95         (sh_output_mi_thunk, emit_load_ptr): New functions.
96         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
97
98 2003-03-12  Nick Clifton  <nickc@redhat.com>
99
100         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
101         (CALL_USED_REGISTERS): Likewise.
102         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
103         describing how this value is calculated.
104
105 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
106
107         * configure.in (rlim_t): Define to long if no valid definition
108         found in sys/resource.h.
109         * config.in, configure: Regenerate.
110
111 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
112
113         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
114         TARGET_OS_CPP_BUILTINS.
115         * config/mcore/mcore-pe.h: Similarly.
116         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
117         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
118
119 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
120
121         PR c/9928
122         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
123         only if it is a VAR_DECL.
124
125 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
126
127         PR optimization/9888
128         * config/i386/i386.md (jcc_1): Fix range.
129         (jcc_2): Likewise.
130         (jump): LIkewise.
131         (doloop_end_internal): Likewise.
132
133 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
134  
135         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
136         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
137         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
138         DLL_IMPORT_EXPORT_PREFIX and "i."
139         (i386_pe_dllexport_name_p): Here.
140         (i386_pe_dllimport_name_p): Here.
141         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
142         not 9 chars when getting identifier name.
143         (i386_pe_mark_dllimport): Here.
144         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
145         not 9 chars when getting identifier name. Correct comment.
146         (i386_pe_strip_name_encoding): Here. Add comments for different
147         cases.
148         (gen_fastcall_suffix): Break down xmalloc() argument to
149         components.
150         (gen_stdcall_suffix): Likewise.
151         Update copyright year.
152
153 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
154
155         PR optimization/9888
156         * config/i386/i386.md (movsi_1): Remove special alternatives
157         for %eax register.
158         (movsi_1_nointernunit): Likewise.
159         (movhi_1): Likewise.
160         * config/i386/i386.c (memory_address_length): Do not use
161         short displacement when there is no base.
162         (ix86_attr_length_address_default): Handle LEA instructions.
163
164 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
165
166         * c-cppbuiltin.c (builtin_define_std): Make non-static.
167
168 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
169
170         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
171         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
172         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
173         * config/freebsd.h (CPP_PREDEFINES): Remove.
174         (TARGET_OS_CPP_BUILTINS): New.
175         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
176         instead of TARGET_OS_CPP_BUILTINS.
177         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
178
179 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
180
181         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
182
183 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
184
185         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
186         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
187
188         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
189
190 Tue Mar 11 21:19:03 2003  Alexandre Oliva  <aoliva@redhat.com>
191
192         * toplev.c (independent_decode_option): Return success for --help,
193         --target-help and --version.
194
195 Tue Mar 11 20:20:14 2003  Alexandre Oliva  <aoliva@redhat.com>
196
197         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
198         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
199         specified.
200         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
201         DRIVER_SELF_SPECS.
202         (LINK_SPEC): Let endian options affect the linker emulation name.
203
204 Tue Mar 11 22:35:39 2003  J"orn Rennecke <joern.rennecke@superh.com>
205
206         * sh.md (reload_inqi): Fix mode for source in second set.
207
208 Tue Mar 11 22:48:03 CET 2003  Jan Hubicka  <jh@suse.cz>
209
210         * cselib.c (cselib_invalidate_mem_1): Move too ...
211         (cselib_invalidate_mem): ... here; use new list
212         (dummy_val, first_containing_mem): New static variables.
213         (clear_table): Initialize first_containing_mem.
214         (discard_useless_values):  Compact the containing_mem list.
215         (add_mem_for_addr): Add to the list.
216         * cselib.h (cselib_val): Add next_containing_mem.
217
218 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
219
220         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
221         instructions for e500.
222
223 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
224
225         * Makefile.in: Update.
226         * c-cppbuiltin.c: Include tm_p.h.
227
228 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
229
230         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
231
232         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
233         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
234         (_Unwind_SetGR): Same.
235         (_Unwind_GetGRPtr): New.
236         (_Unwind_SetGRPtr): New.
237         (uw_update_context_1): Use accesor functions instead of accessing
238         context->reg[] directly.
239         (uw_install_context_1): Same.
240         (execute_cfa_program): Same.
241         (__frame_state_for): Same.
242
243         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
244         the synthetic register offset.
245
246         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
247
248 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
249
250         * config/cris/cris.md: Remove lingering EGCS reference.
251         ("*extopqihi_side_biap"): For HI operation, match
252         cris_additive_operand_extend_operator, not
253         cris_operand_extend_operator.  Adjust condition.
254         ("*extopqihi_side", "*extopqihi"): Ditto.
255         ("*extopqisi_side_biap"): Correct operand numbers in condition.
256         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
257         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
258         ("*extophisi_swap"): Ditto.
259         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
260         PLUS, not cris_operand_extend_operator.  Adjust condition and
261         output template.
262         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
263         * config/cris/cris.h (PREDICATE_CODES): Add
264         cris_additive_operand_extend_operator.
265         * config/cris/cris.c (cris_additive_operand_extend_operator):
266         New predicate.
267
268 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
269
270         * df.c (read_modify_subreg_p): Change from static to global.
271         * df.h (read_modify_subreg_p): Add prototype.
272         * sched-deps.c (sched_analyze_1): Generate true dependency for
273         strict_low_part, certain subregs and zero/sign_extract. 
274
275 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
276
277         * Makefile.in: Update.
278         * c-common.c: Don't include real.h or except.h.
279         (REGISTER_PREFIX): Remove.
280         (builtin_define_std, builtin_define_with_value,
281         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
282         builtin_define_type_max, builtin_define_type_precision,
283         builtin_define_float_constants): Move to c-cppbuiltin.c.
284         (c_stddef_cpp_builtins): New.
285         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
286         * c-cppbuiltin.c: New, extracted from c-common.c.
287         (define__GNUC__): New.
288         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
289         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
290         (cpp_unique_options): Don't support no-gcc.
291         (do_spec_1): Remove support of version specs.
292         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
293         * doc/passes.texi: Update.
294         * doc/tm.texi: Update.
295
296 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
297
298         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
299
300 2003-03-10  Andrew Pinski  <apinski@apple.com>
301
302         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
303         is on should not get here.
304         (machopic_indirect_data_reference): If dynamic-no-pic is on just
305         generate high/low parts of the address.
306         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
307         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
308         symbol and labels with a new reg.  Dynamic-no-pic does not have a
309         pic_offset_table_rtx.
310         (machopic_select_section): Change references of flag_pic to
311         MACHOPIC_INDIRECT. 
312         (machopic_asm_out_destructor): Likewise.
313         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
314         reference of flag_pic to MACHOPIC_INDIRECT.
315         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
316         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
317         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
318         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
319         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
320         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
321         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
322         (TARGET_DYNAMIC_NO_PIC): Define.
323         (SUBTARGET_SWITCHES): Define, have sub-target switches for
324         dynamic-no-pic. 
325         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
326         rs6000_override_options to here. Dynamic-no-pic overrides
327         pic.
328         (CC1_SPEC): Change from not static then pic to not static and not
329         dynamic-no-pic then pic.
330         * config/rs6000/rs6000.c (rs6000_override_options): Move the
331         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
332         (rs6000_legitimize_reload_address): Add case for loading floating in
333         dynamic-no-pic.
334         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
335         of flag_pic to MACHOPIC_INDIRECT.
336         (secondary_reload_class): Conditional change the reference of
337         flag_pic to MACHOPIC_INDIRECT.
338         (rs6000_output_mi_thunk): Change reference of flag_pic to
339         MACHOPIC_INDIRECT.
340         (output_profile_hook): Likewise.
341         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
342         * config/rs6000/rs6000.md (movdf_low): Add the case for
343         MACHO_DYNAMIC_NO_PIC_P.
344         (call): Change references for flag_pic in TARGET_MACHO to
345         MACHOPIC_INDIRECT.
346         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
347         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
348         * doc/invoke.texi (-mdynamic-no-pic): Document.
349
350 2003-03-10  Devang Patel  <dpatel@apple.com>
351         
352         PR c++/9394
353         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
354         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
355         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
356         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
357         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
358         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
359         
360 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
361
362         PR optimization/7189
363         * toplev.c (rest_of_compilation):  Move
364         check_function_return_warnings up to just after
365         delete_unreachable_blocks.
366
367 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
368
369         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
370         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
371         Declare.
372         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
373         for reg rename optimization to avoid using Z and Y registers.
374
375 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
376
377         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
378         when adding to X and Y since leax/leay are fast.
379         ("*addhi3"): Accept 'I' constraint when adding to address register.
380         ("rotlhi3"): Operand 1 must be a register_operand.
381         (peephole2): New peephole to optimize some adds.
382         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
383         to represent -2 .. 2 small integer range.
384
385 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
386
387         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
388         each 16-bit rotation.
389
390 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
391
392         * c-opts.c (add_prefixed_path): Don't use concat.  When
393         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
394         cpp_GCC_INCLUDE_DIR_len characters.
395
396 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
397
398         * testsuite/gcc.dg/altivec-9.c: New file.
399
400         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
401         (rs6000_emit_prologue): Use rs6000_frame_related instead.
402
403 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
404
405         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
406         vectors.
407         (__ev_convert_u64): Remove macro.  Define as inline.
408         (__ev_convert_s64): Same.
409
410 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
411
412         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
413         (rs6000_stack_t): Add spe_64bit_regs_used.
414
415         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
416         spe_64bit_regs_used, and use it to determine the size of the
417         frame.
418         (spe_func_has_64bit_regs_p): New.
419         (spe_synthesize_frame_save): New.
420         (rs6000_frame_related): Handle SPE synthetic registers.
421         (rs6000_emit_prologue): Only save in 64-bits if the function used
422         any registers in 64-bit mode.
423         (rs6000_emit_epilogue): Same, but for restore.
424
425 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
426
427         * arm.h (enum floating_point_type): Delete.  Replace with...
428         (enum fputype): ... new.
429         (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
430         * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
431         * arm.md (attr fpu): Reworked for new underlying enum values.
432         * arm.c (arm_fpu_arch): Now enum fputype.
433         (arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
434         (arm_override_options, arm_output_epilogue, arm_expand_prologue):
435         Update uses of arm_fpu_arch and arm_fpu_tune.
436
437 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
438
439         * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
440         (try_crossjump_to_edge): Replace refereces to one jump table by
441         references to identical jump table.
442         * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
443         (replace_label): Moved to rtlanal.c.
444         (struct rtx_pair): Moved to rtl.h.
445         * rtl.h (struct rtx_pair): Moved from loop.c.
446         (replace_label): New extern function.
447         (subrtx_p): New extern function.
448         (tablejump_p): New extern function.
449         * rtlanal.c (replace_label): Moved from loop.c.
450         (subrtx_p_1): New static function.
451         (subrtx_p): New function.
452         (tablejump_p): New function.
453
454 Mon Mar 10 15:30:36 CET 2003  Jan Hubicka  <jh@suse.cz>
455
456         * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
457
458         * cfgcleanup.c (merge_blocks): Return where to iterate next.
459         (try_optimize_cfg): Use return value of merge_blocks
460
461 2003-03-10  Michael Matz  <matz@suse.de>
462
463         * cfg.c (unchecked_make_edge): New.
464         (cached_make_edge): Use it.
465         * basic-block.h (unchecked_make_edge): Declare.
466         * cfglayout.c (cfg_layout_duplicate_bb): Use it.
467
468 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
469
470         * fpa.md: New file.  Move all patterns relating to FPA co-processor
471         to here...
472         * arm.md: ... from here.
473         (cirrus.md, fpa.md): Include at end of description.
474         (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
475         (pic_load_addr_based): Remove register constraint from expander.
476         (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
477         (sordered, sungt, sunle, sunge, sunlt): Likewise.
478         (eh_epilogue, tablejump): Likewise.
479
480 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
481             Mostafa Hagog
482
483         * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
484         condition.
485
486 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
487
488         * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
489         * config/ip2k/ip2k.h: Similarly.
490         * config/m32r/m32r.h: Similarly.
491         * config/m68hc11/m68hc11.h: Similarly.
492         * config/mn10200/mn10200.h: Similarly.
493         * config/mn10300/mn10300.h: Similarly.
494         * config/pdp11/pdp11.h: Similarly.
495         * config/v850/v850.h: Similarly.
496         * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
497         * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
498         * config/mips/iris3.h: Remove #if 0 block.
499
500 2003-03-09  Roger Sayle  <roger@eyesopen.com>
501             Joern Rennecke <joern.rennecke@superh.com>
502
503         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
504         pending argument upon return from handle_braces here.
505         (do_spec_2): Instead handle it upon return from do_spec_1 here.
506
507 2003-03-09  Roger Sayle  <roger@eyesopen.com>
508             Joern Rennecke <joern.rennecke@superh.com>
509
510         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
511         pending argument upon return from handle_braces here.
512         (do_spec_2): Instead handle it upon return from do_spec_1 here.
513
514 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
515
516         * varasm.c (make_decl_one_only): Use declare_weak().
517
518 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
519
520         PR middle-end/9986
521         * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
522         after the common builtins.
523         * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
524         * pa.c (TARGET_INIT_BUILTINS): Define.
525         (pa_init_builtins): New function.
526
527         * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
528         space has been allocated for the outgoing arguments, set the arg
529         pointer for a call emitted after virtuals have been instantiated
530         using the stack pointer offset, otherwise abort.
531
532 2003-03-09  DJ Delorie  <dj@redhat.com>
533
534         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
535
536 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
537
538         * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
539         (arm_fix_truncdfsi2): Add missing fix in floating point mode before
540         conversion to integer.
541         * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
542
543 2003-03-09  Roger Sayle  <roger@eyesopen.com>
544
545         * builtins.def: Fix typo and improve grammar.
546         * loop-unroll.c (decide_peel_completely): Tidy log message.
547
548 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
549
550         * config/h8300/h8300.md (*tstsi_upper_bit): New.
551         (*iorsi3_e2f): Likewise.
552
553 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
554
555         * config/h8300/h8300.c (h8300_and_costs): Return the number of
556         assembly instructions needed.
557         (h8300_shift_costs): Likewise.
558
559 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
560
561         * config/cris/aout.h (ENDFILE_SPEC): Undef.
562
563         * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
564         moves from here ...
565         * expr.c (emit_move_insn_1): ... to here.
566
567         * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
568         (TARGET_OS_CPP_BUILTINS): New macro.
569         * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
570         (TARGET_OS_CPP_BUILTINS): New macro.
571         (CPP_PREDEFINES): Don't define.  Move old definitions and...
572         (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
573         (TARGET_CPU_CPP_BUILTINS): New macro.
574         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
575         definitions and the optional __PIC__, __pic__ and
576         __NO_UNDERSCORES__ definitions to...
577         (TARGET_OS_CPP_BUILTINS): New macro.
578
579         * flags.h (flag_leading_underscore): Declare.
580
581         * c-opts.c (c_common_post_options): On fopen failure, return
582         false, not NULL.
583
584 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
585
586         * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
587         config.h.
588         * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
589         * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
590
591 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
592
593         * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
594         CPP_PREDEFINES.
595         * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
596         CPP_PREDEFINES.
597
598 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
599
600         * c-common.h (c_common_init, c_common_post_options): Update.
601         * c-objc-common.c (c_objc_common_init): Update for new prototype.
602         * c-opts.c (saved_lineno): New.
603         (c_common_post_options, c_common_init): Update prototypes,
604         move call to cpp_read_main_file from latter to former.
605         * c-tree.h (c_ojbc_common_init): Update.
606         * langhooks-def.h (lhd_post_options): New.
607         (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
608         * langhooks.c (lhd_post_options): New.
609         * langhooks.h (struct lang_hooks): Update post_options and init hooks.
610         * toplev.c (no_backend): New.
611         (process_options): Call post_options hook and set main_input_filename
612         and input_filename here.
613         (lang_dependent_init, do_compile): post_options hook moved to
614         process_options.
615         * objc/objc-act.c (objc_init): Update prototype.
616         * objc/objc-act.h (objc_init): Update prototype.
617
618 2003-03-08  Roger Sayle  <roger@eyesopen.com>
619
620         * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
621         a complex or vector type, using a load in the original mode.
622
623 Sat Mar  8 19:22:30 CET 2003  Jan Hubicka  <jh@suse.cz>
624
625         * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
626         * gt-cgraph.h: New GC file.
627         * cgraph.c (known_fns): New static variable.
628         (cgraph_node): Add the decl into varray.
629
630 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
631
632         * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
633
634 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
635
636         * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
637         (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
638         (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
639         (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
640         All callers changed.
641         * arm.md, arm.h, arm-protos.h: Updated.
642
643         * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
644         (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
645         * arm.c (arm_regno_class, f_register_operand): Updated.
646
647 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
648
649         * config/cris/cris.h: Remove EGCS references.
650         (CPP_SPEC): Remove "-$".
651         (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
652
653 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
654
655         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
656         preference to CPP_PREDEFINES.
657
658 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
659
660         * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
661
662 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
663
664         * config/h8300/h8300.md (*extzv_16_8): New.
665
666 Sat Mar  8 14:13:35 CET 2003  Jan Hubicka  <jh@suse.cz>
667
668         * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
669         * cgraph.h: (cgraph_local_info): Add can_inline_once
670         (cgraph_global_info): Add inline_once.
671         (cgraph_node): Add previous.
672         (cgraph_remove_node): New.
673         * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
674         function.
675         (cgraph_optimize): Call it.
676         (cgraph_finalize_function):  Set inlinable flags.
677         (cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
678         (cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
679         (cgraph_expand_function): Likewise.
680         * cgraph.c
681         (cgraph_node): Put nodes into doubly linked chain.
682         (cgraph_remove_node): New function.
683         * flags.h (flag_inline_functions_called_once): Declare.
684         * tree-inline.c: Include cgraph.h
685         (inlinable_functions_p): Add extra argument to bypass limits.
686         (expand_call_inline):  Obey cgraph flag.
687         * tree-inline.h (tree_inlinable_function_p): Update prototype.
688
689 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
690
691         * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
692         irreducible loops.
693
694         * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
695         loops info correctly.
696
697 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
698
699         PR middle-end/7796
700         * unroll.c (calculate_giv_inc): Handle constants being
701         loaded with LSHIFTRT.
702
703 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
704
705         * config/rs6000/rs6000.c (processor_target_table): Do not disable
706         GP optional instructions on Power3, Power4, 620, and 630.
707
708 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
709
710         * calls.c: Fix comment formatting.
711         * cfgloopanal.c: Likewise.
712         * cfgloopmanip.c: Likewise.
713         * combine.c: Likewise.
714         * dwarf2out.c: Likewise.
715         * ggc-common.c: Likewise.
716         * langhooks.c: Likewise.
717         * loop-unroll.c: Likewise.
718         * loop.c: Likewise.
719         * ra-build.c: Likewise.
720         * sbitmap.c: Likewise.
721         * toplev.c: Likewise.
722
723 2003-03-07  James E Wilson  <wilson@tuliptree.org>
724
725         * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
726
727 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
728
729         * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
730         support -no-integrated-cpp.
731
732         * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
733         than langhooks.name.
734
735 2003-03-07  Michael Matz  <matz@suse.de>
736
737         * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
738         (DF_FOR_REGALLOC): New.
739         * df.c (df_ref_record): Set DF_REF_STRIPPED.
740         (read_modify_subreg_p): Simplify.
741         (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
742         Use DF_FOR_REGALLOC.
743         * ra.h (struct web): New member subreg_stripped.
744         (invalid_mode_change_regs): Declare.
745         * ra.c (invalid_mode_change_regs): New.
746         (init_ra): Initialize it.
747         * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
748         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
749         (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
750         * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
751         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
752
753 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
754
755         * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
756         (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
757         (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
758         machine description file from ...
759         * cirrus.md: ... here.
760
761 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
762
763         * config/h8300/h8300.md (a peephole2): Don't use
764         reg_overlap_mentioned_p.
765
766 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
767
768         * c-pch.c: Include langhooks.h.
769         (IDENT_LENGTH): New.
770         (get_ident): New.
771         (pch_ident): Delete.
772         (pch_init): Use get_ident, IDENT_LENGTH.
773         (c_common_valid_pch): Likewise.  Also, use actual language
774         in warning message.
775         * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
776
777         * objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
778         c-parse.in.
779         * objc/Make-lang.in (objc/objc-act.o): Add dependency on
780         gt-objc-objc-act.h.
781         (gt-objc-objc-act.h): New rule.
782         * objc/lang-specs.h: Support PCH.
783         * objc/objc-act.c: Include gt-objc-objc-act.h.
784         (objc_add_static_instance): Move num_static_inst out, mark for PCH.
785         (build_selector_reference_decl): Move idx out, mark for PCH.
786         (build_class_reference_decl): Likewise.
787         (build_objc_string_decl): Move *_idx out, mark for PCH.
788         (build_tmp_function_decl): Move xxx out, mark for PCH.
789
790 2003-03-06  Dale Johannesen  <dalej@apple.com>
791
792         * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
793         global functions for inlining on Darwin.
794
795 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
796
797         * haifa-sched.c (schedule_block): Don't call reorder when sorting
798         is prohibited.
799
800 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
801
802         * Makefile.in (c-ppoutput.o): Update.
803         * c-common.h (init_pp_output): New.
804         (preprocess_file): Update.
805         * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
806         Register builtins.
807         * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
808         Make call to cpp_read_main_file common to whether preprocessing
809         or not.  Don't register builtins.
810         * c-ppoutput.c: Include c-pragma.h.
811         (setup_callbacks): Rename init_pp_output.
812         (preprocess_file): No longer setup callbacks or call
813         cpp_read_main_file.
814         * cpphash.h (_cpp_init_mbchar): New.
815         * cppinit.c (init_library): Call _cpp_init_mbchar.
816         * cpplex.c (_cpp_init_mbchar): New.
817
818 2003-03-06  Roger Sayle  <roger@eyesopen.com>
819
820         * emit-rtl.c (gen_lowpart): When requesting the low-part of a
821         MEM, try loading the MEM into a register and taking the low-part
822         of that, to help CSE see the use of the MEM in its true mode.
823
824 2002-03-05  Tom Tromey  <tromey@redhat.com>
825
826         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
827         Define.
828
829 2002-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
830
831         * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
832         operand 2.
833         ("*ineqbranchsi"): Likewise.
834
835 2002-03-05  Andrew Haley  <aph@cambridge.redhat.com>
836
837         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
838         mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
839         register store followed by a stack increment.
840
841 2002-03-05  Chris Moller  <cmoller@redhat.com>
842
843         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
844         to inhibit saving CARRY_REGS.
845
846         * config/stormy16/stormy16.c (xs_hi_general_operand):
847         added predicate to detect and error-out on out-of-range
848         const_ints for movhi.
849         * config/stormy16/stormy16.md (movhi): use
850         xs_hi_general_operand.
851
852         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
853         added a check for local vbl size overflow.
854         * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
855         added predicate to detect and error-out on out-of-range
856         const_ints for addhi and subhi.
857         * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
858         subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
859
860         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
861         add a term to accept PRE_MODIFY addresses.
862         * config/stormy16/stormy16.c (xstormy16_expand_move):
863         add code to expand PRE_MODIFY addresses to an add followed
864         by a move.
865
866 2003-03-06  Jason Merrill  <jason@redhat.com>
867
868         * tree-inline.c (inlinable_function_p): Revert earlier change
869         pending investigation.
870
871 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
872
873         * config/h8300/h8300.md (a new peephole2): New.
874
875 Thu Mar  6 14:20:15 CET 2003  Jan Hubicka  <jh@suse.cz>
876
877         * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
878
879 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
880
881         * dwarf2out.c (size_of_die): Compute size of external reference to
882         die correctly.
883
884 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
885
886         * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
887         ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
888         expanders.
889
890 2003-03-05  Roger Sayle  <roger@eyesopen.com>
891
892         * expr.h (lang_expand_expr): Delete obsolete prototype.
893
894 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
895
896         * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
897
898 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
899
900         * config/h8300/h8300.md (a peephole2): Generalize to
901         accept a memory operand.
902
903 Wed Mar  5 19:34:18 2003  Olivier Hainque <hainque@act-europe.fr>
904
905         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
906         * config/alpha/alpha.c (print_operand, case '+'): New.
907         * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
908         (call_value_osf_1_noreturn): Likewise.
909
910 Wed Mar  5 18:55:02 2003  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
911
912         * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
913         (expand_end_bindings): Likewise.
914
915 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
916
917         * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
918         (epilogue): Don't generate return_external_pic when emitting PA 2.0
919         code.
920
921 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
922
923         * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
924
925         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
926
927         * hooks.c (hook_rtx_rtx_null): New.
928
929         * hooks.h (hook_rtx_rtx_null): Protoize.
930
931         * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
932         (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
933
934         * target.h (struct gcc_target): Add dwarf_register_span.
935
936         * dwarf2out.c (multiple_reg_loc_descriptor): New.
937         (one_reg_loc_descriptor): New.
938         (reg_loc_descriptor): Add support for values that span more than
939         one register.
940
941 Wed Mar  5 23:16:57 CET 2003  Jan Hubicka  <jh@suse.cz>
942
943         * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
944         * alias.c:  Include cgraph.h
945         (mark_constant_function): Use cgraph_rtl_info.
946         * calls.c:  Include cgraph.h
947         (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
948         calls.
949         (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
950         * cgraph.c (cgraph_rtl_info): New function.
951         * cgraph.h (cgraph_rtl_info): Declare
952         (cgraph_rtl_info): Likewise.
953         * function.h (struct function): Add recursive_call_emit.
954         * toplev.c: Include cgraph.h.
955         (rest_of_compilation): Set preferred_incoming_stack_boundary.
956
957 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
958
959         * config/h8300/h8300.c (output_simode_bld): Clear the
960         destination first if possible.
961         * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
962         alternative.
963         (extzv_1_r_inv_h8300hs): Likewise.
964
965 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
966
967         * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
968         * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
969         * cfgloop.c (flow_loop_free): Made global.
970         (establish_preds): New static function.
971         (flow_loop_tree_node_add): Handle subloops of added loop correctly.
972         (get_loop_exit_edges): New.
973         (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
974         * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
975         * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
976         loops.
977         * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
978         removability of an edge.
979         (fix_irreducible_loops): New static function.
980         (find_path, remove_path): Add ability to remove enclosing loops.
981         (unloop): New.
982         (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
983         flags.
984         * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
985         * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
986         not neccessary.
987         (decide_peel_completely, peel_loops_completely): Allow complete peeling
988         of non-duplicable once rolling loops.
989         * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
990
991 Wed Mar  5 21:40:57 2003  J"orn Rennecke <joern.rennecke@superh.com>
992
993         * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
994         for align_jumps is 4.
995
996         (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
997         use GENERAL_REGS.
998
999 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
1000
1001         * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
1002         according to va_arg type.
1003         (EXPAND_BUILTIN_VA_ARG): Remove.
1004         * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
1005         * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
1006
1007 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
1008
1009         * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
1010         else clauses.
1011
1012 2003-03-05  Michael Matz  <matz@suse.de>
1013
1014         * i386/i386.c (ix86_save_reg): Also test
1015         current_function_uses_const_pool.
1016
1017 2003-03-05  Michael Matz  <matz@suse.de>
1018
1019         * unwind.h: Add the GPL exception.
1020         * Makefile.in (USER_H): Add unwind.h.
1021
1022 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1023
1024         PR c/9799
1025         * c-typeck.c (push_init_level): Add sanity check.
1026
1027 Wed Mar  5 02:04:04 CET 2003  Jan Hubicka  <jh@suse.cz>
1028
1029         * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
1030         RTL inlining is done.
1031
1032         * cgraphunit.c (cgraph_mark_local_functions): New local function.
1033         (cgraph_optimize): Mark local functions.
1034         * i386-protos.h (init_cumulative_args): Update prototype.
1035         * i386.c (init_cumulative_args): Use register passing convention for
1036         local functions.
1037
1038         * cgraph.c (cgraph_global_info_ready): New global variable
1039         (cgraph_local_info, cgraph_global_info): New functions.
1040         * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
1041         structures.
1042         (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
1043         Declare.
1044         * cgraphunit.c (cgraph_finalize_function): Set inline_many.
1045         (cgraph_mark_functions_to_output): Use inline_many.
1046         (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
1047         (cgraph_expand_functions): Expand inline functions last.
1048         (cgraph_optimize): Do not emit uneeded functions.
1049
1050 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
1051
1052         * expr.c (convert_modes): Check for legal hard register.
1053
1054 2003-03-04  Tom Tromey  <tromey@redhat.com>
1055
1056         * doc/sourcebuild.texi (Front End Directory): Document tags.
1057         * configure: Rebuilt.
1058         * configure.in (target_list): Added tags.
1059         * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
1060         TAGS files by reference.
1061         * objc/Make-lang.in (objc.tags): New target.
1062
1063 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1064
1065         * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
1066         gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
1067         gcov_write_string, gcov_read_unsigned, gcov_read_counter,
1068         gcov_read_string, gcov_write_length): Modified to enable reading/
1069         writing of whole .da file just once.
1070         (da_file_open, da_file_close, da_file_eof, da_file_error,
1071         da_file_position, da_file_seek, da_file_write, da_file_read): New
1072         functions.
1073         (actual_da_file, actual_da_file_position, actual_da_file_length,
1074         actual_da_file_buffer, actual_da_file_buffer_size): New static
1075         functions.
1076         * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
1077         just once.
1078
1079
1080 2003-03-04  Andreas Schwab  <schwab@suse.de>
1081
1082         * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
1083         offset without frame pointer.
1084
1085 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
1086
1087         * expr.c (expand_expr): Call promote_mode to set unsignedp.
1088
1089 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
1090
1091         * configure.in: Don't always define TARGET_SYSTEM_ROOT.
1092         * configure: Regenerated.
1093         * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
1094
1095 2003-03-04  Andreas Jaeger  <aj@suse.de>
1096
1097         * configure.in: Check for <memcheck.h>.
1098         * configure: Regenerated.
1099
1100         * config.in: Define HAVE_MEMCHECK_H.
1101
1102         * ggc-common.c: Use <memcheck.h> if available instead of
1103         <valgrind.h>.
1104         * ggc-page.c: Likewise.
1105         * cppfiles.c: Likewise.
1106
1107 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
1108
1109         * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
1110
1111 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1112
1113         PR c/9262
1114         * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
1115         (c_finish_case): Rechain the next statements to the SWITCH_STMT.
1116
1117 Tue Mar  4 11:30:04 CET 2003  Jan Hubicka  <jh@suse.cz>
1118
1119         * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
1120         * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
1121         for -O3.
1122
1123 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1124
1125         * configure.in: Delete three unused variables.  Move a variable
1126         definition closer to its use.  Simplify use_collect2 logic.  Start to
1127         organize.  Simplify tests for in-tree gas and ld.
1128         * configure: Regenerate.
1129
1130 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
1131
1132         * Makefile.in: Update.
1133         * c-common.c (flag_no_line_commands, flag_no_output,
1134         flag_dump_macros, flag_dump_includes): New.
1135         * c-common.h (flag_no_line_commands, flag_no_output,
1136         flag_dump_macros, flag_dump_includes, preprocess_file): New.
1137         (init_c_lex): Update prototype.
1138         * c-lex.c (init_c_lex): Update prototype; move some code to
1139         c_common_init.
1140         * c-opts.c (preprocess_file): Subsume into c_common_init.
1141         (c_common_decode_option): Update flags.
1142         (c_common_init): Move code from preprocess_file and init_c_lex.
1143         (sanitize_cpp_opts): Update.
1144         * c-ppoutput.c: New, cppmain.c almost verbatim.
1145         * cpphash.h (struct printer): Remove.
1146         (struct cpp_reader): Remove print.
1147         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
1148         cpp_preprocess_file): Remove.
1149         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
1150         and dump_includes.
1151         * cppmain.c: Remove.
1152         * doc/passes.texi: Update.
1153
1154 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1155
1156         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
1157         (assign_stack_local_1): Perform overall stack alignment only when
1158         STACK_ALIGNMENT_NEEDED is non-zero.
1159         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
1160
1161         * pa.c (compute_frame_size): Rename fsize to size.  Account for
1162         alignment to a word boundary before general register save block.  Only
1163         account for double-word alignment before floating point register save
1164         block if one or more are saved.  Don't allocate space for %r3 when
1165         frame pointer is needed.
1166         (hppa_expand_prologue): Include alignment to word boundary in local
1167         frame size.
1168         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
1169         (STACK_ALIGNMENT_NEEDED): Define.
1170
1171 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
1172
1173         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
1174         global register variables.
1175
1176 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
1177
1178         * reload.c (reload_adjust_reg_for_mode): New function.
1179         (subst_reloads): Call it.
1180         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
1181         * reload.h (reload_adjust_reg_for_mode): Declare.
1182         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
1183         Call it.
1184
1185 2003-03-03  James E Wilson  <wilson@tuliptree.org>
1186
1187         * optabs.c (add_equal_note): Delete SUBREG_REG use.
1188         Fixes PR c/7872.
1189
1190 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1191
1192         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
1193         (*ixorsi3_lshiftrt_16): New.
1194         (*iorsi3_ashift_16): Remove.
1195
1196 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1197
1198         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
1199         pattern.
1200
1201 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
1202
1203         * doc/install.texi (Specific): Update entry for powerpc-darwin.
1204
1205 2003-03-03  Richard Henderson  <rth@redhat.com>
1206
1207         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
1208
1209 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
1210
1211         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
1212         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
1213         (rs6000_variable_issue): Do not return negative value.
1214         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
1215         scheduling pass.
1216
1217 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1218
1219         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
1220         prune_unused_types calls.
1221
1222 2003-03-03  Jason Merrill  <jason@redhat.com>
1223
1224         * tree-inline.c (find_builtin_longjmp_call): Save and restore
1225         lineno and input_filename.
1226         (find_alloca_call): Likewise.
1227         (inlinable_function_p): Run the langhook earlier.
1228
1229         * calls.c (compute_argument_addresses): Give the new MEMs a
1230         minimum alignment of PARM_BOUNDARY.
1231
1232 Mon Mar  3 20:45:25 2003  J"orn Rennecke <joern.rennecke@superh.com>
1233
1234         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
1235         subtarget_asm_isa_spec.
1236         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
1237         (ASM_SPEC): Define as SH_ASM_SPEC.
1238         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
1239         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
1240         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
1241         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
1242
1243         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
1244         and align_jumps if not set.
1245         Force align_jumps to be at least 2.
1246         When relaxing, force align_functions to be at least the maximum of
1247         align_loops, align_jumps and 4.
1248         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
1249         (sh_loop_align): Honour align_loops_log.
1250
1251         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
1252         to check for indirect_jump_scratch.
1253         (indirect_jump_scratch): Add second set.
1254         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
1255         when looking for indirect_jump_scratch.
1256         Extract scratch register taking new structure of indirect_jump_scratch
1257         into account.
1258         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
1259
1260 Mon Mar  3 19:07:21 CET 2003  Jan Hubicka  <jh@suse.cz>
1261
1262         * calls.c (rtx_for_function_call): Take the address as an argument
1263         (expand_call): Do not modify the expression.
1264
1265         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
1266         optimizing.
1267
1268 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1269
1270         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
1271         TARGET_H8300H and TARGET_H8300S.
1272
1273 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1274
1275         * config/h8300/h8300.md (a peephole2): New.
1276
1277 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1278
1279         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
1280         operands[0] and operands[1] are different.
1281
1282 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
1283
1284         * reload1.c (reload_cse_move2add): Remove variable success.
1285
1286 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1287
1288         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
1289         warnings.
1290
1291 2003-03-02  Richard Henderson  <rth@redhat.com>
1292
1293         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
1294         * config.in, configure: Rebuild.
1295         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
1296         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
1297         paired ldtoffx and ldxmov annotations.
1298         (load_symptr_internal1): Remove.
1299         (load_symptr_high, load_symptr_low): New.
1300
1301 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
1302
1303         * c-incpath.c (add_path): Fix sysp assignment.
1304
1305 2003-03-02  Kurt Garloff  <garloff@suse.de>
1306
1307         * params.def: Introduce parameter max-inline-insns-rtl for
1308         a separate limit for the RTL inliner.
1309         * params.h: Likewise.
1310         * integrate.c (function_cannot_inline_p): Use it.
1311         * toplev.c (decode_f_option): Set multiple parameters
1312         controlling inlining with -finline-limit.
1313         * params.def: Fix orthographic and typographic errors.
1314         * doc/invoke.texi: Document parameters controlling inlining
1315         and the way -finline-limit sets multiple of them.
1316
1317         * tree.h (struct tree_decl): Introduce inlined_function_flag,
1318         recording whether the function became eligible for inlining
1319         by a compiler flag rather than the declaration.
1320         Provide DID_INLINE_FUNC macro to access it.
1321         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
1322         * cp/decl.c (grokfndecl): Likewise.
1323         * toplev.c (rest_of_compilation): Likewise.
1324         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
1325         * print-tree.c (print_node): Report it.
1326         * params.def: Introduce new max-inline-insns-auto limit.
1327         * params.h: Likewise.
1328         * tree-inline.c (inlinable_function_p): Apply it to functions
1329         with DID_INLINE_FUNC set.
1330         * toplev.c (decode_f_option): Initialize it from -finline-limit
1331         value.
1332         * doc/invoke.texi: Document new parameter.
1333
1334 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
1335
1336         * fix-header.c (read_scan_file): Don't reference simplify_path.
1337
1338 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
1339
1340         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
1341         min/max instructions by default as may result in reload errors.
1342
1343 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
1344
1345         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
1346         avoid reload problems; define split for it.
1347
1348 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
1349
1350         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
1351         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
1352         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
1353         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
1354         rotatert and rotate.
1355         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
1356         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
1357         ("*rotrhi3_addr"): New split for shift insns on address register.
1358         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
1359         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
1360         (___rotrhi3): Likewise.
1361         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
1362
1363 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
1364
1365         * toplev.c (aux_base_name): Moved from toplev.h.
1366         (filename): Constify.
1367         (lang_dependent_init): Don't duplicate name.
1368         (process_options): Set aux_base_name here, not...
1369         (do_compile): ...here.  Change protoype.
1370         (toplev_main): Move some code from do_compile.
1371         * toplev.h: Remove aux_base_name.
1372
1373 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
1374
1375         * config/h8300/h8300-protos.h: Add a prototype for
1376         iorxor_operator.
1377         * config/h8300/h8300.c (print_operand): Handle 'c'.
1378         (iorxor_operator): New.
1379         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
1380         * config/h8300/h8300.md (*iorhi3_zext): Remove.
1381         (*iorsi3_zexthi): Likewise.
1382         (*iorsi3_zextsi): Likewise.
1383         (*xorhi3_zextqi): Likewise.
1384         (*xorsi3_zexthi): Likewise.
1385         (*xorsi3_zextsi): Likewise.
1386         (*ixorhi3_zext): New.
1387         (*ixorsi3_zext_qi): Likewise.
1388         (*ixorsi3_zext_hi): Likewise.
1389
1390 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
1391
1392         * c-incpath.c (remove_component_p, simplify_path): Move back to
1393         cppfiles.c.
1394         (remove_duplicates): Use cpp_simplify_path.
1395         * c-incpath.h (simplify_path): Remove.
1396         * c-lex.c: Don't include c-incpath.h.
1397         (init_c_lex): Remove simplify_path.
1398         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
1399         (find_or_create_entry, validate_pch): Revert.
1400
1401 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
1402
1403         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
1404           an external cpp during compilation.
1405         (option_map): Likewise.
1406         * objc/lang-specs.h (default_compilers): Similarly.
1407         * doc/invoke.texi: Document -no-integrated-cpp flag.
1408
1409 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
1410
1411         * config/h8300/h8300.md (zero_extendqisi2): Change to an
1412         expander.
1413         (*zero_extendqisi2_h8300): New.
1414         (*zero_extendqisi2_h8300hs): New.
1415         (two splitters): New.
1416
1417 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1418
1419         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
1420
1421 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
1422
1423         * config/h8300/h8300.md (a peephole2): Remove dead code.
1424
1425 2003-03-01  Roger Sayle  <roger@eyesopen.com>
1426
1427         PR c++/9367
1428         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
1429         (BT_FN_INT_CONST_STRING_VALIST_ARG,
1430         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
1431         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
1432         BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
1433         BT_FN_INT_STRING_CONST_STRING_VAR,
1434         BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
1435         BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
1436         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
1437         ATTR_NONNULL_3): Also include the nothrow attribute.
1438         (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
1439         vsnprintf, vscanf, vsscanf): Don't define attributes here.
1440         * builtins.def (putchar, puts): Make full C89 built-ins.
1441         (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
1442         vsscanf, vsnprintf, vsprintf): New built-ins.
1443         * c-common.c (c_common_nodes_and_builtins): Handle new macro
1444         DEF_FUNCTION_TYPE_VAR_3.
1445
1446         * doc/extend.texi: Document these new built-in functions.
1447
1448 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
1449
1450         * config/h8300/h8300.md (a peephole2): New.
1451
1452 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
1453
1454         * predict.c (estimate_bb_frequencies): Correctly set
1455         real_values_initialized after initialization.
1456
1457 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
1458
1459         * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
1460         cppinit.o, cppdefault.o, fix-header): Update.
1461         * c-incpath.c: New file.
1462         * c-incpath.h: New file.
1463         * c-lex.c: Include c-incpath.h.
1464         (init_c_lex): Register path simplifier.
1465         * c-opts.c: Include cppdefault.h and c-incpath.h.
1466         (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
1467         std_cxx_inc, quote_chain_split, add_prefixed_path): New.
1468         (COMMAND_LINE_OPTIONS): Add more options from cpplib.
1469         (missing_arg, c_common_decode_option): Handle them.
1470         (c_common_post_options): Register include chains.
1471         (print_help): Update.
1472         * cppdefault.h (struct default include): Update.
1473         Move some macros to ...
1474         * cppdefault.c: ... here.
1475         (cpp_include_defaults): Add extra field add_sysroot.
1476         * cppfiles.c (include_file, search_from, find_or_create_entry,
1477         cpp_included, find_include_file, remap_filename): Update for
1478         renaming of search_path to cpp_path, and of the chain headers.
1479         (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
1480         * cpphash.h (struct search_path): Move to cpplib.h.
1481         (struct cpp_buffer, struct cpp_reader): Update.
1482         (_cpp_simplify_pathname): Remove.
1483         * cppinit.c: Don't include prefix.h and cppdefault.h.
1484         (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
1485         remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
1486         init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
1487         no_pth, cpp_handle_options): Remove.
1488         (struct pending_option): Remove chain members.
1489         (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
1490         cpp_handle_option): Update.
1491         * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
1492         (struct cpp_options): Remove quote_include, bracket_include,
1493         include_prefix, include_prefix_len, verbose, ignore_srcdir,
1494         no_standard_includes, no_standard_cplusplus_includes.
1495         (struct cpp_callbacks): Add simplify_path.
1496         (cpp_handle_options): Remove.
1497         * fix-header.c: Include c-incpath.h.
1498         (read_scan_file): Update to use c-incpath functionality.
1499         * doc/passes.texi: Update.
1500
1501 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
1502
1503         * config/h8300/h8300.c (bit_operand): Accept MEM only if it
1504         satisfies EXTRA_CONSTRAINT 'U'.
1505
1506 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
1507
1508         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
1509         register.
1510         (*tst_extzv_memqi_1_n): Change to a splitter.
1511         (a peephole2): Update.
1512
1513 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
1514
1515         * predict.c (estimate_bb_frequencies): Initialize the sreal
1516         constants once per compilation.
1517
1518 2003-02-28  Richard Henderson  <rth@redhat.com>
1519
1520         * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
1521
1522 2003-02-28  scott snyder  <snyder@fnal.gov>
1523
1524         * flags.h: Add flag_eliminate_unused_debug_types.
1525         * toplev.c: Add flag_eliminate_unused_debug_types.
1526         (f_options): Add -feliminate-unused-debug-types.
1527         * dwarf2out.c (struct file_table): Add emitted member.
1528         (splice_child_die): Fix the parent pointer for the child being
1529         spliced.
1530         (lookup_filename): Maintain file_table.emitted array.  Don't
1531         output .file directive here.
1532         (maybe_emit_file): (new)
1533         (init_file_table): Set up file_table.emitted.
1534         (dwarf2out_source_line): Use maybe_emit_file.
1535         (dwarf2out_start_source_file): Use maybe_emit_file.
1536         (dwarf2out_init): Use maybe_emit_file.
1537         (prune_unused_types_walk_attribs): (new)
1538         (prune_unused_types_mark): (new)
1539         (prune_unused_types_walk): (new)
1540         (prune_unused_types_prune): (new)
1541         (prune_unused_types): (new)
1542         (dwarf2out_finish): Call prune_unused_types if
1543         flag_eliminate_unused_debug_types is set.
1544         * doc/invoke.texi (Option Summary): Add
1545         -feliminate-unused-debug-types.
1546         (Debugging Options): Likewise.
1547
1548 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
1549
1550         * doc/invoke.texi: Change .pch to .gch.
1551         * cppfiles.c (open_file_pch): Likewise.
1552         * gcc.c (default_compilers): Likewise.
1553
1554 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
1555
1556         * floatlib.c: Remove.
1557
1558 2003-02-28  Jason Merrill  <jason@redhat.com>
1559
1560         * stor-layout.c (variable_size): Leave a "minus 1" outside the
1561         SAVE_EXPR.
1562
1563 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
1564
1565         * config/rs6000/power4.md: Add compare bypass.
1566
1567 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
1568
1569         * config/netbsd.h: Update copyright years.
1570         (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
1571         -pthread is specified on the command line.
1572
1573 2003-02-28  Dale Johannesen <dalej@apple.com>
1574
1575         * loop.c (struct movable): Add insert_temp, shrink savemode.
1576         (scan_loop): Accept invariants that require copying; mark as
1577         insert_temp.
1578         (combine_movables): Don't combine insert_temp movables.
1579         (move_movables): Insert copies for insert_temp movables.
1580         Don't record the info based on regno for insert_temp's.
1581
1582 2003-02-28  Joel Sherrill <joel@OARcorp.com>
1583
1584         PR 9638/other
1585         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
1586         this constant defaults to 1.
1587
1588 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
1589
1590         * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
1591
1592 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
1593
1594         * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
1595         ARMv5e processor, not just for XScale.  Instructions are predicable.
1596         (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
1597
1598 2003-02-28  Nick Clifton  <nickc@redhat.com>
1599
1600         * config/arm/arm.c (note_invalid_constants): Change parameter type
1601         from bool to int.
1602
1603 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
1604
1605         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
1606         test of bit 7.
1607         (*tst_extzv_memqi_1_n): Likewise.
1608         (a peephole2): New.
1609
1610 2002-02-28  Richard Sandiford  <rsandifo@redhat.com>
1611
1612         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
1613         #ifndef __mips16.
1614
1615 Fri Feb 28 11:09:14 CET 2003  Jan Hubicka  <jh@suse.cz>
1616
1617         * combine.c (gen_lowpart_for_combine): Update handling of
1618         subregs_of_mode
1619         * flow.c (life_analysis, mark_used_regs): Likewise.
1620         * regclass.c (subregs_of_mode): Turn into single bitmap.
1621         (cannot_change-mode_set_regs, invalid_mode_change_p): Update
1622         dealing with subregs_of_mode
1623         * regs.h (subregs_of_mode): Update prototype.
1624
1625 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
1626
1627         * emit-rtl.c (set_reg_attrs_for_parm): New function.
1628         * rtl.h (set_reg_attrs_for_parm): New exported function.
1629         * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
1630         set_reg_attrs_from_mem.
1631
1632 2003-02-27  Roger Sayle  <roger@eyesopen.com>
1633             Zack Weinberg <zack@codesourcery.com>
1634
1635         * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
1636
1637 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
1638
1639         * reload1.c (sext_for_mode): Remove.
1640         (reload_cse_move2add): Use trunc_int_for_mode instead of
1641         sext_for_mode.
1642         (move2add_note_store): Likewise.
1643         Reset register information if we see a set in non-integer
1644         mode.
1645
1646 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
1647
1648         * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
1649         option.
1650         (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
1651         * config/rs6000/aix51.h: Same.
1652         * config/rs6000/aix52.h: Same.
1653         * config/rs6000/power4.md: Additional VMX bypasses.
1654
1655 2003-02-27   Geert Bosch <bosch@gnat.com>
1656
1657         * toplev.c (print_version): Add indentation for GGC heuristics and
1658         output after printing version information.
1659
1660 2003-02-27  James E Wilson  <wilson@tuliptree.org>
1661
1662         * combine.c (simplify_comparison): Require integral mode when
1663         permuting SUBREG with AND.
1664
1665 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
1666
1667         * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
1668
1669 2003-02-27  Nick Clifton  <nickc@redhat.com>
1670
1671         * config/arm/arm.md (extendsfdf2): Add pattern accidentally
1672         deleted when cirrus instructions were added.
1673
1674 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
1675
1676         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
1677         POSIX thread support by default.
1678
1679 2003-02-27  Roger Sayle  <roger@eyesopen.com>
1680
1681         * config/i386/cygwin.h: Don't include any other files directly.
1682         * config/i386/mingw32.h: Don't include cygwin.h directly.
1683         * config.gcc (cygwin, mingw32, uwin): Instead make these files
1684         explicit in the tm_files variable.
1685
1686 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
1687
1688         * config/rs6000/rs6000.md: Add TI constant splitter.
1689
1690 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
1691
1692         * builtins.c (purge_builtin_constant_p): Handle subreg of
1693         constant_p_rtx too.
1694
1695         * function.c (assign_stack_local_1): Truncate constant added to
1696         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
1697
1698 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
1699
1700         * config.gcc: Add power4 to PowerPC with_cpu list.
1701
1702 Wed Feb 26 19:46:25 CET 2003  Jan Hubicka  <jh@suse.cz>
1703
1704         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
1705
1706 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1707
1708         * gcov-dump.c (print_prefix): Fix signedness warning.
1709         * gcov-io.h (struct counter_section, struct counter_section_data): New.
1710         (struct function_info): n_arc_counts field removed, n_counter_sections,
1711         counter_sections fields added.
1712         (struct gcov_info): arc_counts, n_arc_counts fields removed,
1713         n_counter_sections, counter_sections fields added.
1714         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
1715         profile sections.
1716         * profile.h (MAX_COUNTER_SECTIONS): New.
1717         (struct section_info): New.
1718         (struct profile_info): count_instrumented_edges,
1719         count_edges_instrumented_now fields removed, n_sections, section_info
1720         fields added.
1721         (find_counters_section): Declare.
1722         * profile.c (struct function_list): count_edges field removed,
1723         n_counter_sections, counter_sections fields added.
1724         (set_purpose, label_for_tag, build_counter_section_fields,
1725         build_counter_section_value, build_counter_section_data_fields,
1726         build_counter_section_data_value, build_function_info_fields,
1727         build_function_info_value, build_gcov_info_fields,
1728         build_gcov_info_value): New static functions.
1729         (find_counters_section): New function.
1730         (instrument_edges, get_exec_counts, compute_branch_probabilities,
1731         branch_prob, create_profiler): Modified to support multiple profile
1732         sections.
1733
1734 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1735
1736         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
1737         is 8 * STACK_BOUNDARY.
1738         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
1739
1740 2003-02-26  Michael Matz  <matz@suse.de>
1741
1742         * ra-colorize.c (merge_moves): Fix list handling.
1743
1744 2003-02-26  Nick Clifton  <nickc@redhat.com>
1745
1746         * config/arm/arm.c (is_load_address): Rename to...
1747         (arm_memory_load_p) ... this and make it check for SUBREGs and
1748         constant loads that will be converted into loads from the
1749         minipool.
1750         (is_cirrus_insn): Rename to ...
1751         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
1752         of CIRRUS_NO with CIRRUS_NOT.
1753         (cirrus_reorg): Use renamed functions.
1754         (note_invalid_constants): Change from a void function to bool.
1755         Add an extra parameter, saying whether the fixups should be
1756         pushed.  Return true if fixups are needed.
1757         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
1758         of CIRRUS_NO with CIRRUS_NOT.
1759         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
1760         other floating point co-processors can also affect this.
1761         * config/arm/arm.md ("type" attribute): Add mav_farith and
1762         mav_dmult.  Replace references to "cirrus_type" attribute with
1763         "type".
1764         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
1765         ("cirrus_type" attribute): Delete - use "type" instead.
1766         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
1767         'normal'.
1768
1769 Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
1770
1771         * objc-act.c: Include cgraph.h
1772         (mark_referenced_methods): New function.
1773         (objc_init): Call it.
1774         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
1775
1776         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
1777         mode.
1778
1779         * optabs.c (expand_fix): Do not widen the input operand.
1780
1781         * expr.c (emit_group_store):  Fix crash when converting single
1782         register into complex register.
1783
1784         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
1785         * alias.c: Include timevar.h
1786         (init_alias_analysis):  Set timevar
1787         * jump.c: Include timevar.h
1788         (rebuild_jump_labels):  Set timevar
1789         * regcalss.c: Include timevar.h
1790         (reg_scan):  Set timevar
1791         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
1792
1793 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1794
1795         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
1796
1797         * Makefile.in (loop-unroll.o): New.
1798         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
1799         (unroll_and_peel_loops): Declare.
1800         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
1801         flag_old_unroll_loops.
1802         * loop.c (loop_invariant_p): Ditto.
1803         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
1804         flag_old_unroll_all_loops.
1805         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
1806         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
1807         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
1808         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
1809         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
1810         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
1811         PARAM_MAX_ONCE_PEELED_INSNS): New.
1812         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
1813         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
1814         instead of old one.
1815         (flag_peel_loops): New.
1816         (lang_independent_options): The new flags added.
1817         (rest_of_compilation): Call new unroller.
1818         (process_options): Setup flags for coexistence of old and new unroller.
1819         * doc/invoke.texi: Document new options.
1820         * doc/passes.texi: Document new unroller pass.
1821
1822 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
1823
1824         * fixinc/fixincl.x: Regenerate
1825
1826 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
1827
1828         * function.c (assign_parms): Set reg_attrs for parameters passed in
1829         registers.
1830
1831 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
1832
1833         PR target/9681
1834         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
1835
1836 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
1837
1838         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
1839         pseudo-op.
1840
1841 2003-02-25  Roger Sayle  <roger@eyesopen.com>
1842
1843         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
1844         * cse.c (invalidate_skipped_set):  Likewise.
1845         * integrate.c (subst_constants):  Likewise.
1846         * jump.c (reversed_comparison_code_parts):  Likewise.
1847         * loop.c (canonicalize_condition):  Likewise.
1848         * simplify-rtx.c (simplify_relational_operation):  Likewise.
1849
1850 2003-02-25  Roger Sayle  <roger@eyesopen.com>
1851
1852         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
1853         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
1854         the appropriate macro to define built-in function.
1855         (fmod,fmodf,fmodl): New built-in functions.
1856
1857         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
1858
1859 2003-02-25  Richard Henderson  <rth@redhat.com>
1860
1861         * config/i386/i386.c (function_arg): Pass variable sized
1862         structures correctly on the stack.
1863
1864 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
1865
1866         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
1867         does not reduce the cost of SET.
1868
1869 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1870
1871         PR target/9732
1872         * config/rs6000/rs6000.c (first_reg_to_save): Handle
1873         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
1874         (rs6000_emit_prologue): Likewise.
1875         (rs6000_emit_epilogue): Likewise.
1876         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
1877         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
1878
1879 2003-02-25  Richard Henderson  <rth@redhat.com>
1880
1881         * real.c (real_to_integer2): Force overflow result only for
1882         unsigned overflow.
1883
1884 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
1885
1886         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
1887
1888 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
1889             Richard Henderson  <rth@redhat.com>
1890
1891         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
1892         there is no similar load.
1893
1894 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
1895             Richard Henderson  <rth@redhat.com>
1896
1897         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
1898         sched-rgn.c.
1899         (add_forward_dependence): New function prototype.
1900
1901         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
1902         sched-init.h.
1903         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
1904         them to haifa-sched.c.
1905
1906         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
1907         haifa_classify_insn): Move them from sched-rgn.c.
1908
1909         * sched-deps.c (add_dependence): Return flag of creating a new
1910         entry.
1911         (add_forward_dependence): New function.
1912         (compute_forward_dependences): Use the function.
1913
1914         * sched-ebb.c (earliest_block_with_similiar_load): New function.
1915         (add_deps_for_risky_insns): New function.
1916         (schedule_ebb): Call the function.
1917
1918 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
1919
1920         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
1921         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
1922
1923         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
1924         opaque types fail.
1925
1926         * c-typeck.c (comptypes): Change call to vector_types_compatible
1927         to vector_opaque_p.
1928         (convert_for_assignment): Call vector_opaque_p instead of
1929         vector_types_compatible.
1930         (really_start_incremental_init): Disallow initialization of opaque
1931         types.
1932
1933         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
1934         Define TARGET_VECTOR_OPAQUE_P.
1935         (TARGET_INITIALIZER): Same.
1936
1937         * target.h (struct gcc_target): Remove vector_types_compatible.
1938         Add vector_opaque_p.
1939
1940         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
1941         Remove.
1942         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
1943         a vector type.  Change return type to bool.
1944         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
1945         (TARGET_VECTOR_OPAQUE_P): Define.
1946
1947         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
1948         target hook.
1949         Include target.h.
1950         (cp_parser_init_declarator): Fix typo in function comments.
1951
1952 Tue Feb 25 12:35:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1953
1954         * Makefile.in (lcm.o):  Add dependency on function.h
1955         * lcm.c (function.h): Include.
1956         * i386.c (machine_function, ix86_stack_locals,
1957         * ix86_save_varrargs_registers) : Move to
1958         ...
1959         * i386.h (machine_function, ix86_stack_locals,
1960         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
1961         (ix86_optimize_mode_switching): New.
1962         * i386.md (fix patterns): Set ix86_optimize_mode_switching
1963
1964 2003-02-25  Nick Clifton  <nickc@redhat.com>
1965
1966         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
1967         of fourth arg is 'fndecl' not 'indirect'.  Update comment
1968         describing the function's parameters.
1969
1970 Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1971
1972         * combine.c (simplify_shift_const):  Fix previous patch.
1973
1974 2003-02-24  Jeff Law  <law@redhat.com>
1975
1976         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
1977         alternative.
1978         (testsi_1, testhi_1, testqi_1): Likewise.
1979
1980 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1981
1982         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
1983         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
1984         * doc/extend.texi (Tru64 Pragmas): Reflect this.
1985
1986         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
1987         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
1988         * fixinc/fixincl.x: Regenerate.
1989         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
1990         testcase.
1991         Fixes PR c/5059, c/6126, other/9671.
1992
1993 2003-02-24  Roger Sayle  <roger@eyesopen.com>
1994
1995         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
1996         from handle_braces in "%{...}".
1997
1998 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
1999
2000         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
2001         (prepare_move_operands): Handle TLS operands.
2002         (tls_symbolic_operand): New.
2003         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
2004         (legitimize_pic_address): Do nothing for the TLS symbol.
2005         (sh_encode_section_info): Handle TLS case.
2006         (sh_strip_name_encoding): Drop TLS encoding.
2007         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
2008         * config/sh/sh.h (SH_TLS_ENCODING): Define.
2009         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
2010         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
2011         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
2012         * config/sh/sh.md: Define TLS UNSPEC constants.
2013         (type): Add tls_load.
2014         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
2015         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
2016         ("tls_initial_exec"): New insn.
2017         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
2018         ("load_gbr"): New insn.
2019
2020         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
2021         * configure: Regenerate.
2022
2023 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
2024
2025         PR 9297, PR 9722
2026         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
2027         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
2028         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
2029         (enum block_op_methods): Reorder for better store_expr optimization.
2030         * expr.c (store_expr): Test bit 1 of "want_value" for call param
2031         stores, test bit 0 for original want_value meaning.  Pass
2032         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
2033         recursive calls, and calls to expand_param.
2034         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
2035         expected, set target to 0 rather than to subtarget.  Formatting.
2036
2037 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
2038
2039         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
2040
2041 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2042
2043         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
2044         new default behavior.
2045         * ggc-common.c: Include sys/resource.h.
2046         (ggc_rlimit_bound): New function.
2047         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
2048         defaults to account for rlimits.
2049
2050 2003-02-22  Richard Henderson  <rth@redhat.com>
2051
2052         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
2053
2054 2003-02-22  Kelley Cook <kelley@dwhoops.info>
2055
2056         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
2057         (ix86_tune_string): Rename from ix86_cpu_string.
2058
2059 2003-02-22  Kelley Cook <kelleycook@comcast.net>
2060
2061         * config/i386/i386.c: Replace "mcpu" with "mtune".
2062         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
2063         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
2064         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
2065         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
2066
2067 2003-02-23  Andreas Schwab  <schwab@suse.de>
2068
2069         * config.gcc: Delete references to m68k/t-linux and
2070         m68k/t-linux-aout.
2071         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
2072
2073 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
2074
2075         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
2076         of track scheduling patch.
2077
2078 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
2079
2080         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
2081         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
2082
2083 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
2084
2085         * c-decl.c (c_expand_body_1): Fix.
2086
2087 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
2088
2089         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
2090
2091         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
2092         when not optimizing.
2093         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
2094         when not expensive.
2095         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
2096         optimizing;  Delete trivially dead insns early; fix optimize check.
2097
2098         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
2099         dependency on cgraph.h
2100         * c-decl.c: Include cgraph.h
2101         (finish_function): Update call of tree_inlinable_function_p.
2102         * c-objc-common.c: Include cgraph.h
2103         * cgraph.h: New file.
2104         * cgraphunit.c: New file.
2105         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
2106         (cgraph_nodes, cgraph_n_nodes): Globalize.
2107         (cgraph_finalize_function, cgraph_finalize_compilation_unit
2108         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
2109         Move into cgraphunit.c
2110         * tree-inline.c: Include cgraph.h
2111         * tree-inline.c: Include cgraph.h
2112
2113 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
2114
2115         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
2116         for copying a register.
2117
2118 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2119
2120         PR other/3782
2121         * toplev.c (process_options): If flag_detailed_statistics is set,
2122         then set time_report as well.
2123
2124         PR c/8828
2125         * jump.c (never_reached_warning): Don't fall through BARRRIER
2126         insns.  Update comments to reflect what the function really does.
2127
2128 2003-02-21  Roger Sayle  <roger@eyesopen.com>
2129
2130         * fold-const.c (omit_one_operand): No longer static.
2131         * tree.h (omit_one_operand): Prototype here.
2132         (div_and_round_double): Keep fold-const.c prototypes together.
2133         * builtins.c (builtin_mathfn_code): Handle binary built-in
2134         funtions, such as "pow" and "atan2".
2135         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
2136         Simplify optimizations using "type" the builtin's return type.
2137
2138 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
2139
2140         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
2141         Fix functionalization typo.
2142
2143         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
2144         in an asm.
2145
2146 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2147
2148         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
2149         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
2150         documentation.
2151         * ggc-common.c: Include params.h
2152         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
2153         init_ggc_heuristics): New functions.
2154         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
2155         init_ggc_heuristics): Prototype.
2156         * toplev.c (print_version):  Output GGC heuristics.
2157         (parse_options_and_default_flags): Call init_ggc_heuristics.
2158
2159 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
2160
2161         * i386.c (def_builtin):  Special case 64bit builtins.
2162         (MASK_SSE164, MASK_SSE264): New constants.
2163         (builtin_description): Add 64bit builtins.
2164         (ix86_init_mmx_sse_builtins): Likewise.
2165         * i386.h (enum ix86_builtins): Likewise.
2166         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
2167         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
2168         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
2169         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
2170         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
2171         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
2172         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
2173
2174 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2175
2176         * i386.c (builtin_description): Add __builtin_ia32_paddq and
2177         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
2178          and __builtin_ia32_psubq128.
2179         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
2180         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
2181         (mmx_adddi3, mmx_subdi3): New.
2182         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
2183         * xmmintrin.h (_mm_movepi64_pi64): New.
2184         (_mm_add_epi64, _mm_sub_epi64): fix.
2185         (_mm_mul_pu16): Rename to...
2186         (_mm_mul_su32): ... this one.
2187
2188         * builtins.c (expand_builtin_expect):  Do not predict
2189         flag_guess_branch_prob is not set.
2190         * c-semantics.c (expand_stmt): Likewise.
2191         * predict.c (predict_insn): Likewise.
2192         * stmt.c (expand_continue_loop): Likewise.
2193         * toplev.c (rest_of_compilation): Do not call
2194         note_prediction_to_br_prob and note_prediction_to_br_prob
2195         when not optimizing.
2196
2197 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2198
2199         * cfgrtl.c (commit_edge_insertions):  Call
2200         find_many_sub_basic_block only when some code has been emitted.
2201         (commit_edge_insertions_watch_calls): Bring into sync with
2202         commit_edge_insertions
2203
2204 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
2205
2206         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
2207
2208         * sh.md (binary_sf_op): Use extra constant operand instead of
2209         negating constant operand 4.
2210         * sh.c (sh_expand_binop_v2sf): Supply it.
2211
2212 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
2213
2214         * cpphash.h (struct lexer_state): Add directive_wants_padding.
2215         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
2216         for directives of type INCL.
2217         (glue_header_name, parse_include): Use get_token_no_padding.
2218         * cppmacro.c (replace_args): If directive_wants_padding,
2219         provide padding tokens.
2220
2221 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
2222
2223         * config/h8300/h8300.md (a peephole2): New.
2224
2225 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
2226
2227         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
2228         (commit_edge_insertions): Call find_many_sub_basic_blocks
2229
2230         * reg-stack.c (convert_regs): Cleax aux for blocks.
2231
2232 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
2233
2234         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
2235
2236 2003-02-21  Glen Nakamura  <glen@imodulo.com>
2237
2238         PR optimization/8613
2239         * builtins.c (expand_builtin): Emit postincrements before expanding
2240         builtin functions.
2241
2242 2003-02-21  Ben Elliston  <bje@redhat.com>
2243
2244         PR other/5634
2245         * doc/install.texi (Configuration): Explain using $HOME instead of
2246         the ~ metacharacter when referring to home directories.
2247
2248 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
2249
2250         * configure.in (TARGET_SYSTEM_ROOT): Set default to
2251         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
2252         '${exec_prefix}' (in addition to the expansion thereof) as
2253         relocatable.
2254         * configure: Rebuilt.
2255
2256 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
2257
2258         * config/h8300/h8300.md (addhi3_incdec): Change the name to
2259         *addhi3_incdec.
2260         (addsi3_incdec): Change the name to *addsi3_incdec.
2261
2262 2003-02-20  Roger Sayle  <roger@eyesopen.com>
2263
2264         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
2265
2266 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
2267
2268         PR fortran/9038
2269         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
2270         options to be ignored.
2271         (c_common_decode_option): Ignore them when preprocessing.
2272
2273 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
2274
2275         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
2276         global variables.
2277         (lang_independent_options):  Add -fsched2-use-superblocks
2278         -fsced2-use-traces.
2279         (rest_of_compilation): Deal with it.
2280         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
2281         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
2282         Declare.
2283         * rtl.h (reg_to_stack):  Update prototype.
2284         * reg-stack.c (reg_to_stack): Return when something has changed;
2285         update liveness when executing after superblock scheduling.
2286
2287         * combine.c (simplify_shift_const):  Simplify few special cases
2288         into constants.
2289
2290 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
2291
2292         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
2293         (add.,subf.,neg.): Change attribute to fast_compare.
2294         All DFA descriptions updated.
2295
2296 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
2297
2298         Change base class access representation.
2299         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
2300         TREE_VIA_PRIVATE): Remove.
2301         (BINFO_BASEACCESSES): New binfo elt.
2302         (BINFO_BASEACCESS): New accessor.
2303         (BINFO_ELTS): Increase.
2304         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
2305         (access_public_node, access_protected_node,
2306         access_private_node): New global nodes.
2307         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
2308         * dbxout.c (dbxout_type): Adjust.
2309         * dwarf2out.c (gen_inheritance_die): Add access parameter.
2310         (gen_member_die): Adjust.
2311         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
2312         (output_type): Adjust.
2313         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
2314
2315         Change base class access representation. Share virtual base
2316         binfos.
2317         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
2318         call.
2319         * cp/class.c (build_base_path): Likewise.
2320         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
2321         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
2322         (make_new_vtable): Adjust.
2323         (force_canonical_binfo_r): Delete.
2324         (force_canonical_binfo): Delete.
2325         (mark_primary_virtual_base): Delete.
2326         (dfs_unshared_virtual_bases): Delete.
2327         (mark_primary_bases): Adjust.
2328         (maybe_warn_about_overly_private_class): Adjust.
2329         (dfs_base_derived_from): Delete.
2330         (base_derived_from): Follow the inheritance chain.
2331         (struct find_final_overrider_data): Add vpath member.
2332         (dfs_find_final_overrider): Adjust.
2333         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
2334         (find_final_overrider): Adjust.
2335         (update_vtable_entry_for_fn): Adjust.
2336         (modify_all_vtables): Adjust.
2337         (walk_subobject_offsets): Adjust.
2338         (layout_nonempty_base_or_field): Adjust.
2339         (layout_empty_base): Remove last parameter. Adjust.
2340         (build_base_field): Adjust.
2341         (build_base_fields): Adjust.
2342         (propagate_binfo_offsets): Remove last parameter. Adjust.
2343         (dfs_set_offset_for_unshared_vbases): Delete.
2344         (layout_virtual_bases): Adjust.
2345         (finish_struct_1): Adjust.
2346         (init_class_processing): Don't init access nodes.
2347         (dfs_get_primary_binfo): Delete.
2348         (get_primary_binfo): Adjust.
2349         (dump_class_hierarchy_r): Remove most derived arg, add IGO
2350         parameter. Adjust.
2351         (dump_class_hierarchy): Adjust.
2352         (finish_vtbls): Adjust.
2353         (get_original_base): Delete.
2354         (build_vtt_inits): Adjust.
2355         (dfs_build_secondary_vptr_vtt_inits): Adjust.
2356         (dfs_ctor_vtable_bases_queue_p): Adjust.
2357         (build_ctor_vtbl_group): Adjust.
2358         (dfs_accumulate_vtbl_inits): Adjust.
2359         (build_vtbl_initializer): Adjust.
2360         (build_vbase_offset_vtbl_entries): Adjust.
2361         (add_vcall_offset_vtbl_entries_1): Adjust.
2362         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
2363         (access_*_node): Remove.
2364         (CANONICAL_BINFO): Delete.
2365         (BINFO_UNSHARED_MARKED): Remove.
2366         (BINFO_MARKED): Set LANG_FLAG_0 directly.
2367         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
2368         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
2369         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
2370         Delete.
2371         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
2372         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
2373         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
2374         Delete.
2375         (BINFO_DEPENDENT_BASE_P): New.
2376         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
2377         index.
2378         (markedp, unmarkedp): Adjust.
2379         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
2380         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
2381         find_vbase_instance, binfo_for_vbase): Delete.
2382         (copied_binfo, original_binfo): Declare.
2383         (finish_base_specifier): Add virtual_p arg.
2384         (unshare_base_binfos): Delete.
2385         (copy_base_binfos): Declare.
2386         (reverse_path): Delete.
2387         * cp/decl.c (xref_basetypes): Access and virtuality passed
2388         differently. Don't copy direct base binfos here. Call
2389         copy_base_binfos.
2390         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
2391         (initialize_vtbl_ptrs): Adjust.
2392         (expand_member_init): Adjust.
2393         * cp/parser.c (cp_parser_base_specifier): Adjust.
2394         * cp/pt.c (instantiate_class_template): Adjust.
2395         (get_template_base_recursive): Adjust.
2396         * cp/rtti.c (get_pseudo_ti_init): Adjust.
2397         (get_pseudo_ti_desc): Adjust.
2398         * cp/tree.c (unshare_base_binfos): Rename to ...
2399         (copy_base_binfos): ... here, reimplement.
2400         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
2401         (reverse_path): Remove.
2402         * cp/typeck.c (get_delta_difference): Adjust error messages.
2403         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
2404         * cp/search.c (lookup_base_r): Adjust.
2405         (dynamic_cast_base_recurse): Adjust.
2406         (canonical_binfo): Remove.
2407         (dfs_canonical_queue): Remove.
2408         (dfs_assert_unmarked_p): Remove.
2409         (assert_canonical_unmarked): Remove.
2410         (shared_marked_p, shared_unmarked_p): Remove.
2411         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
2412         (dfs_access_in_type): Adjust.
2413         (access_in_type): Adjust.
2414         (dfs_accessible_queue_p): Adjust.
2415         (dfs_accessible_p): Adjust.
2416         (is_subobject_of_p_1, is_subobject_of_p): Remove.
2417         (struct lookup_field_info): Remove from_dep_base_p field.
2418         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
2419         (lookup_field_r): Remove dependent base code.
2420         (lookup_member): Likewise.
2421         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
2422         (dfs_unmarked_real_bases_queue_p): Remove.
2423         (dfs_marked_real_bases_queue_p): Remove.
2424         (dfs_skip_vbases): Remove.
2425         (dfs_get_pure_virtuals): Adjust.
2426         (markedp, unmarkedp): Adjust.
2427         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
2428         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
2429         (dfs_unmark): Adjust.
2430         (dfs_get_vbase_types):Remove.
2431         (dfs_build_inheritance_graph_order): Remove.
2432         (get_vbase_types): Remove
2433         (dfs_find_vbase_instance): Remove.
2434         (find_vbase_instance): Remove.
2435         (dfs_debug_unmarkedp): Adjust.
2436         (dependent_base_p): Remove.
2437         (dfs_push_type_decls): Adjust.
2438         (dfs_push_decls): Adjust.
2439         (dfs_no_overlap_yet): Adjust.
2440         (copied_binfo): New function.
2441         (original_binfo): New function.
2442         (binfo_for_vbase): Remove.
2443
2444         Change base class access representation.
2445         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
2446         (add_interface_do): Likewise.
2447
2448 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
2449
2450         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
2451         * config/rs6000/power4.md (power4-store,power4-vecstore): New
2452         insn reservations.
2453         (power4-fpstore): Compact.
2454
2455 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
2456
2457         * config/h8300/h8300.md (*iorsi3_w): New.
2458
2459 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
2460
2461         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
2462         * rtl.c (reg_note_name): Likewise.
2463         * rtl.h (enum reg_note): Likewise.
2464         * doc/invoke.texi: Likewise.
2465         * doc/rtl.texi: Likewise.
2466
2467 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
2468
2469         * bb-reorder.c (find_traces_1_round): Fix comment typo.
2470
2471 2003-02-19  Roger Sayle  <roger@eyesopen.com>
2472
2473         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
2474         addition in the presence of signaling NaNs.
2475
2476 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
2477
2478         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
2479
2480 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
2481
2482         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
2483         ORing with 0xffff??00 with the highest bit of the ?? part set.
2484         (compute_logical_op_length): Update.
2485         (compute_logical_op_cc): Likewise.
2486
2487 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
2488
2489         * bb-reorder.c (find_traces_1_round): Fixed condition for small
2490         destination block with multiple predecessors.
2491         (connect_traces): Check whether the block is a start of trace.
2492
2493 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
2494
2495         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
2496         * function.c (assign_params): Likewise.
2497         * arm-protos.h (arm_init_cumulative_args): Update prototype.
2498         * arm.c (arm_init_cumulative_args): Update function.
2499         * arm.h (INIT_CUMULATIVE_ARGS): Update.
2500         * avr-protos.h (init_cumulative_args): Update prototype.
2501         * avr.c (init_cumulative_args): Update function.
2502         * avr.h (INIT_CUMULATIVE_ARGS): Update.
2503         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
2504         * d30v.c (d30v_init_cumulative_args): Update function.
2505         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
2506         * frv-protos.h (frv_init_cumulative_args): Update prototype.
2507         * frv.c (frv_init_cumulative_args): Update function.
2508         * frv.h (INIT_CUMULATIVE_ARGS): Update.
2509         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
2510         * pa.h (INIT_CUMULATIVE_ARGS): Update.
2511         * sparc-protos.h (init_cumulative_args): Update prototype.
2512         * sparc.c (init_cumulative_args): Update function.
2513         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
2514         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
2515
2516 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
2517
2518         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
2519         (*ashiftsi_sextqi_7): Likewise.
2520
2521 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2522
2523         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
2524         ISO C99 and C++.
2525
2526         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
2527         for C++ on IRIX 6.5.1[89].
2528         * fixinc/tests/base/internal/sgimacros.h: New file.
2529
2530         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
2531         * fixinc/tests/base/internal/wchar_core.h: New file.
2532
2533         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
2534         socklen_t definition.
2535         * fixinc/fixincl.x: Regenerate.
2536         * fixinc/tests/base/sys/socket.h: New file.
2537         Fixes PR libgcj/9652.
2538
2539 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
2540
2541         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
2542
2543 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
2544
2545         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
2546         align_jumps_max_skip and align_loops_max_skip.
2547
2548 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
2549
2550         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
2551         test size if named section.
2552
2553 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
2554
2555         * expr.c (expand_expr): Use gen_int_mode for the argument
2556         to gen_rtx_MULT.
2557
2558 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
2559
2560         * i386.md (cosxf2):  Fix conditional.
2561
2562 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
2563
2564         * config/h8300/h8300.md (extendqisi2): Change to an expander.
2565         (*extendqisi2_h8300): New.
2566         (*extendqisi2_h8300hs): Likewise.
2567
2568 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
2569
2570         * config/h8300/h8300-protos.h: Update the prototype for
2571         split_adds_subs.  Remove the prototypes for
2572         const_int_le_2_operand and const_int_le_6_operand.
2573         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
2574         (const_int_le_2_operand): Remove.
2575         (const_int_le_6_operand): Likewise.
2576         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
2577         for const_int_le_2_operand and const_int_le_6_operand.
2578         * config/h8300/h8300.md: Update all uses of split_adds_subs.
2579         (a peephole2): New.
2580
2581 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2582
2583         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
2584         (cgraph_expand_function): Rewrite.
2585
2586 2003-02-18  Matt Austern <austern@apple.com>
2587
2588         * toplev.c, langhooks.c, langhooks-def.h: Move
2589         write_global_declarations from toplev.c to langhooks.c.
2590
2591 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
2592
2593         * config/h8300/h8300.c (general_operand_src): Always check
2594         MODE.
2595         (general_operand_dst): Likewise.
2596
2597 2003-02-18  Roger Sayle  <roger@eyesopen.com>
2598
2599         * convert.c (convert_to_real): Also optimize (float)log(x) into
2600         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
2601
2602 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
2603
2604         * config/sh/sh.c (unspec_caller_rtx_p): New.
2605         (sh_cannot_copy_insn_p): New.
2606         (TARGET_CANNOT_COPY_INSN_P): New.
2607
2608 2003-02-18  Richard Henderson  <rth@redhat.com>
2609
2610         * c-common.c (handle_used_attribute): Accept static data too.
2611
2612 2003-02-18  Nick Clifton  <nickc@redhat.com>
2613             Aldy Hernandez  <aldyh@redhat.com>
2614
2615         * testsuite/gcc.dg/20030218-1.c: New.
2616
2617         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
2618
2619         * target-def.h (TARGET_INITIALIZER): Add
2620         TARGET_VECTOR_TYPES_COMPATIBLE.
2621         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
2622
2623         * target.h (struct gcc_target): Add field vector_types_compatible.
2624
2625         * c-typeck.c (comptypes): Take into account
2626         TARGET_VECTOR_TYPES_COMPATIBLE.
2627         (convert_for_assignment): Same.
2628
2629         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
2630         (rs6000_spe_vector_types_compatible): New.
2631         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
2632
2633 2003-02-19  Andreas Schwab  <schwab@suse.de>
2634
2635         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
2636         * toplev.c: Include langhooks-def.h.
2637
2638 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
2639
2640         * config/mips/mips.h (enum processor_type): Sort entries
2641         alphabetically.
2642         * config/mips/mips.md (define_attr cpu): Sync with processor_type
2643         enum values, including adding entries that were missing.
2644
2645 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
2646
2647         * sh.c (calc_live_regs): Also check GET_CODE when checking if
2648         initial value for PR_REG is still the PR_REG register.
2649
2650 2003-02-18  Jim Wilson  <wilson@redhat.com>
2651
2652         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
2653         instruction in output template.
2654         (bsp_value): Change output template from string to C code, add %,
2655         before actual instruction.
2656         (flushrs): Mark as not predicable.
2657
2658 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
2659
2660         * inclhack.def (netbsd_bogus_semicolon): New fix.
2661         * fixincl.x: Rebuilt.
2662         * tests/base/ctype.h: Update.
2663
2664 2003-02-18  Roger Sayle  <roger@eyesopen.com>
2665
2666         * fold-const.c (negate_expr_p): New function to determine whether
2667         an expression can be negated cheaply.
2668         (fold) [MINUS_EXPR]: Use it to determine whether to transform
2669         -A - B into -B - A for floating point types.
2670
2671 2003-02-18  Roger Sayle  <roger@eyesopen.com>
2672
2673         * sbitmap.c (sbitmap_resize): New function.
2674         * sbitmap.h (sbitmap_resize): Prototype here.
2675         * recog.c (split_all_insns): Use sbitmap_resize.
2676
2677 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
2678
2679         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
2680         insn length.
2681         (extendqisi2): Likewise.
2682         (*extendhisi2_h8300): Likewise.
2683
2684 2003-02-18  Matt Austern <austern@apple.com>
2685
2686         * langhooks.h, langhooks-def.h: introduce new langhook,
2687         final_write_globals, with write_global_declarations as default.
2688         * toplev.c: Move invocation of wrapup_global_declarations from
2689         compile_file to new function, write_global_declarations.  Change
2690         compile_file to use final_write_globals hook.  Change
2691         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
2692         conditional.
2693
2694 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2695
2696         * pa.md: Correct and enhance comment.
2697
2698 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
2699
2700         * gcc.c (validate_switches): Don't scan past closing '}'.
2701
2702 2003-02-18  Ben Elliston  <bje@redhat.com>
2703
2704         PR c++/1607
2705         * doc/extend.texi (Function Attributes): Document the effect of
2706         the C++ "this" parameter on the counting of arguments for the
2707         "format" and "format_arg" attributes.
2708
2709 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
2710
2711         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
2712         (__ev_stdw): Same.
2713         (__ev_stdh): Same.
2714
2715 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
2716
2717         * recog.c (split_all_insns):  Fix memory overflow.
2718
2719 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
2720
2721         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
2722         (cmphi): Likewise.
2723         (*cmphi_h8300): Likewise.
2724         (*cmphi_h8300hs): Likewise.
2725         (cmpsi): Likewise.
2726         (7 peephole2): Likewise.
2727
2728 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
2729
2730         * c-typeck.c (build_c_cast):  Fold constant variables into
2731         initial values.
2732
2733 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2734
2735         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
2736         (Binaries): Ditto for Sinix/Reliant Unix.
2737
2738 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
2739
2740         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
2741         not overlap the final result register.
2742
2743 2003-02-16 Arend Bayer <arend.bayer@web.de>
2744            Richard Henderson  <rth@redhat.com>
2745
2746         PR c/8068
2747         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
2748         rearrange mult arguments for less recursion.
2749         (extract_muldiv): New.  Prevent runaway recursion.
2750
2751 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
2752
2753         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
2754         MASK_ALIGN_DOUBLE.
2755
2756 2003-02-15  Roger Sayle  <roger@eyesopen.com>
2757
2758         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
2759         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
2760         (ext_80387_constants_table): Global table of 80387 special constants
2761         guarded by ext_80387_constants_init flag when not initialized.
2762         (init_ext_80387_constants): New function to initialize this table.
2763         (standard_80387_constant_p): Extend to recognize extra 80387
2764         constants, in XFmode, on processors where this is a win.
2765         (standard_80387_constant_opcode): New function to return the
2766         opcode associated with standard_80387_constant_p.
2767         (standard_80387_constant_rtx): New function to return the XFmode
2768         CONST_DOUBLE associated with standard_80387_constant_p.
2769         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
2770
2771         * config/i386/i386-protos.h (standard_80387_constant_opcode):
2772         Prototype here.
2773         (standard_80387_constant_rtx): Likewise.
2774
2775         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
2776         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
2777         *movtf_integer): Simplify using new standard_80387_constant_opcode.
2778
2779 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
2780
2781         * doc/invoke.texi (Optimize Options): Correct @option syntax.
2782
2783 2003-02-15  Richard Henderson  <rth@redhat.com>
2784
2785         * Makefile.in (cfglayout.o): Depend on TARGET_H.
2786         * cfglayout.c: Include target.h.
2787         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
2788         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
2789         * target.h (struct gcc_target): Add cannot_copy_insn_p.
2790
2791         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
2792         (TARGET_CANNOT_COPY_INSN_P): New.
2793         (override_options): Revert 2003-02-08 hack.
2794
2795 2003-02-15  Richard Henderson  <rth@redhat.com>
2796
2797         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
2798         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
2799
2800 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
2801
2802         * config/rs6000/rs6000.h (processor_type): Add PPC440.
2803         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
2804         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
2805         TARGET_SCHED_VARIABLE_ISSUE): Define.
2806         (rs6000_use_dfa_pipeline_interface): New function.
2807         (rs6000_multipass_dfa_lookahead): New Function.
2808         (rs6000_variable_issue): New function.
2809         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
2810         (rs6000_issue_rate): Add PPC440.
2811         * config/rs6000/rs6000.md (unspec list): Correct typo.
2812         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
2813         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
2814         cmp, delayed_cr, mfcr, mtcr.
2815         (automata_option): Set "ndfa".
2816         (extendMMNN2): Update attributes.
2817         (movcc_internal1): Discourage move to non-cr0.  Update
2818         attributes.
2819         (movMM_update): Update attributes.
2820         (cmpMM_internal): Update attributes.
2821         (sCC CR materialization): Update attributes.
2822         (branch patterns): Do not discourage non-cr0.
2823         (cr logical patterns): Prefer destructive register allocation.
2824         Update attributes.
2825         (movesi_from_cr): Update attribute.
2826         (mtcrf_operation): Update attribute.
2827         (mtcrfsi): Update attribute.
2828         * config/rs6000/40x.md: New file.
2829         * config/rs6000/603.md: New file.
2830         * config/rs6000/6xx.md: New file.
2831         * config/rs6000/7450.md: New file.
2832         * config/rs6000/7xx.md: New file.
2833         * config/rs6000/mpc.md: New file.
2834         * config/rs6000/power4.md: New file.
2835         * config/rs6000/rios1.md: New file.
2836         * config/rs6000/rios2.md: New file.
2837         * config/rs6000/rs64.md: New file.
2838         [Some DFA descriptions based on work by Michael Hayes]
2839
2840 2003-02-15  Richard Henderson  <rth@redhat.com>
2841
2842         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
2843         successors with multiple predecessors.
2844         (connect_traces): Try harder to copy traces of length 1.
2845
2846         * function.h (struct function): Add computed_goto_common_label,
2847         computed_goto_common_reg.
2848         * function.c (free_after_compilation): Zap them.
2849         * stmt.c (expand_computed_goto): Use them to produce one
2850         indirect branch per function.
2851
2852 2003-02-15  Richard Henderson  <rth@redhat.com>
2853
2854         * cfgcleanup.c: Include params.h.
2855         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
2856         too many outgoing edges from a block.
2857         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
2858         * params.def (max-crossjump-edges): New.
2859         * doc/invoke.texi: Document it.
2860
2861 2003-02-15  Richard Henderson  <rth@redhat.com>
2862
2863         * recog.c (split_all_insns): Include new blocks in life update;
2864         do a global life update.
2865
2866 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
2867
2868         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
2869         Update copyright.
2870         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
2871         -mno-cygwin case.
2872
2873 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2874
2875         PR optimization/7702
2876         * reload1.c (reload_cse_simplify_set): Honor
2877         CANNOT_CHANGE_MODE_CLASS.
2878
2879 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
2880
2881         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
2882         function.
2883         * config/mn10300/mn10300-protos.h: Declare it.
2884         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
2885         attribute cc of instructions that may use clr.
2886
2887 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
2888
2889         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
2890         (x - (x & y)) is found.
2891
2892 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2893
2894         * configure.in: Fix typo.
2895         * configure: Regenerate.
2896
2897 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
2898
2899         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
2900
2901 2003-02-13  Adam Nemet  <anemet@lnxw.com>
2902
2903         PR opt/2391
2904         * combine.c: Fix spelling in comment.
2905         (cached_nonzero_bits): New function.
2906         (cached_num_sign_bit_copies): New function.
2907         (nonzero_bits_with_known): New macro.
2908         (num_sign_bit_copies_with_known): New macro.
2909         (nonzero_bits1): Rename from nonzero_bits.  Add three new
2910         arguments.  Change calls from nonzero_bits to
2911         nonzero_bits_with_known.
2912         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
2913         three new arguments.  Change calls from num_sign_bit_copies to
2914         num_sign_bit_copies_with_known.
2915         (nonzero_bits): New macro.
2916         (num_sign_bit_copies): New macro.
2917         (update_table_tick): Don't traverse identical subexpression more
2918         than once.
2919         (get_last_value_validate): Likewise.
2920
2921 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
2922
2923         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
2924         * function.h (struct emit_status): Length of regno_pointer_align
2925         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
2926         not regno_pointer_align_length (i.e. length actually used, not
2927         length as allocated)
2928
2929         * config/i386/i386.c (struct stack_local_entry): New.
2930         (struct machine_function): Replace huge array with alist.
2931         (assign_386_stack_local): Change to match.
2932
2933 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
2934
2935         * inclhack.def (hpux_long_double): Tighten select and add bypass
2936         regexp.
2937         * fixincl.x: Rebuilt.
2938
2939 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
2940
2941         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
2942         edge and block ends with a jump insn it must be simple jump.
2943
2944 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
2945
2946         * Makefile.in (PREPROCESSOR_DEFINES): Add
2947         @TARGET_SYSTEM_ROOT_DEFINE@.
2948         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
2949         is specified or if building a cross compiler.
2950         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
2951         if the sysroot is under $exec_prefix.
2952         * configure: Regenerated.
2953         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
2954         defined.
2955         (struct default_include): Add add_sysroot field.
2956         (cpp_SYSROOT): Declare.
2957         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
2958         field.
2959         (cpp_SYSROOT): New variable.
2960         * cppinit.c (cpp_create_reader): Initialize
2961         CPP_OPTION (pfile, sysroot).
2962         (init_standard_includes): Handle add_sysroot.  Do not
2963         add unrelocated copies of relocated directories.
2964         (COMMAND_LINE_OPTIONS): Add -isysroot.
2965         (cpp_handle_option): Handle -isysroot.
2966         * cpplib.h (struct cpp_options): Add sysroot member.
2967         * gcc.c (The Specs Language): Update description of %I.
2968         (target_system_root_changed): New variable.
2969         (process_command): Conditionalize make_relative_prefix call
2970         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
2971         target_system_root_changed.
2972         (do_spec_1): Add -isysroot to %I.
2973         * doc/invoke.texi (Spec Files): Update description of %I.
2974         * doc/install.texi (--with-sysroot): Update comment about
2975         relocation.
2976
2977 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
2978
2979         * config/h8300/h8300.md (a peephole2): New.
2980
2981 2003-02-13  Robert Lipe <robertlipe@usa.net>
2982             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2983
2984         * doc/install.texi (Specific): Update three SCO-related URLs.
2985
2986 2003-02-13  Andreas Schwab  <schwab@suse.de>
2987
2988         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
2989         Parenthesize properly.
2990         (NPREDECESORS): Parenthesize properly.
2991
2992 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2993
2994         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
2995
2996 2003-02-12  Roger Sayle  <roger@eyesopen.com>
2997
2998         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
2999         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
3000
3001         * reg-stack.c (subst_stack_regs_pat): Add support for binary
3002         UNSPEC instructions (e.g. "fpatan").
3003
3004 2003-02-12  Mike Stump  <mrs@apple.com>
3005
3006         * varray.c (element_size): Remove.
3007         (uses_ggc): Remove.
3008         (element): Add.
3009         (varray_init): Use new interface.
3010         (varray_grow): Use new interface.
3011         (varray_clear): Use new interface.
3012
3013 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
3014
3015         * config/rs6000/spe.h: Add casts to the arguments of the following
3016         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
3017         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
3018         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
3019         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
3020         __ev_get_u16, __ev_get_s16.
3021
3022 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
3023
3024         * config/h8300/h8300.md (a peephole2): New.
3025
3026 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
3027
3028         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
3029         (OBJS): Add callgraph.o
3030         (callgraph.o): New.
3031         * c-decl.c (expand_body_1): Break out from ...
3032         (expand_body): This one;  change calling convention
3033         (finish_function): Move some of expand_body logic here.
3034         (c_expand_deferred_function): Update call of expand_body
3035         (c_expand_stmt): Use c_expand_body_1.
3036         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
3037         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
3038         * c-tree.h (c_expand_body): Declare.
3039         * callgraph.c: New file.
3040         * flags.h (flag_unit_at_a_time): Declare.
3041         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
3042         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
3043         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
3044         * langhooks.h (struct lang_hooks_for_callgraph): New.
3045         (struct lang_hooks): Add callgraph field.
3046         * toplev.c (flag_unit_at_a_time): New.
3047         (lang_independent_options): Add flag_unit_at_a_time.
3048         (process_options): Disable unit-at-a-time mode for frontends not
3049         supporting callgraph.
3050         * tree-inline.c (typedef struct inline_data): Add "decl"
3051         (expand_call_inline): Update callgraph.
3052         (optimize_inline_calls): Set id.decl.
3053         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
3054         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
3055         cgraph_calls_p): Declare.
3056         * invoke.texi (-funit-at-a-time): Document
3057
3058 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
3059
3060         * config/rs6000/spe.h: Fix misc formatting.
3061         (__ev_create_ufix32_fs): Cast ev argument.
3062         (__ev_create_sfix32_fs): Same.
3063         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
3064         (__ev_get_ufix32_fs_internal): Same.
3065
3066 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
3067
3068         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
3069         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
3070
3071 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
3072
3073         * cpplib.c (do_include_common): Move warnings for
3074         #include_next and #import out to callers.  Use early-return
3075         instead of nested ifs.  Don't do check_eol here.
3076         (parse_include): Do check_eol here with the rest of the
3077         parsing stuff.
3078         (do_include_next, do_import): Now handle warnings.
3079
3080 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3081
3082         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
3083
3084 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
3085
3086         * predict.c (estimate_probability):  Fix roundoff error.
3087
3088 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
3089
3090         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
3091         (two peephole2): New.
3092
3093 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
3094
3095         * config/h8300/h8300.md (several peephole2): Replace
3096         find_regno_note with peep2_reg_dead_p.
3097
3098 2003-02-11  Richard Henderson  <rth@redhat.com>
3099
3100         * gcse.c (lookup_set): Remove unused argument PAT.  Update
3101         both callers.
3102
3103 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
3104
3105         * diagnostic.c (real_abort): New.
3106         (diagnostic_report_diagnostic): Call real_abort on error.
3107         * diagnostic.h (diagnostic_abort_on_error): New.
3108         (struct diagnostic_context): Add abort_on_error field.
3109         * toplev.c (setup_core_dumping): New.
3110         (decode_d_option): Handle 'H' case.
3111         * doc/invoke.texi (Debugging Options): Document -dH.
3112
3113 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
3114
3115         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
3116         which refers to obsolete directories.
3117
3118 2003-02-11  Richard Henderson  <rth@redhat.com>
3119
3120         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
3121
3122 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
3123
3124         * i386.c (contains_128bit_aligned_vector_p): New function.
3125         (ix86_function_arg_boundary): Properly align vector modes.
3126
3127 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
3128
3129         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
3130         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
3131         as a SET pattern.
3132
3133 2003-02-11  Roger Sayle  <roger@eyesopen.com>
3134
3135         * builtins.c:  Fix failure caused by commiting wrong patch.
3136
3137 2003-02-11  Dale Johannesen  <dalej@apple.com>
3138         * ra-build.c (compare_and_free_webs):  Relax checking.
3139         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
3140         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
3141
3142 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3143
3144         PR optimization/9651
3145         * rtlanal.c (may_trap_p): Handle FIX.
3146
3147 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
3148
3149         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
3150         * doc/invoke.texi: Extra alias.
3151
3152 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
3153
3154         * config/rs6000/host-darwin.c: Fix comment.
3155
3156 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
3157
3158         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
3159         predicate for mod result.
3160
3161 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3162
3163         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
3164         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
3165         * fixincl.x: Rebuilt.
3166         * tests/base/stdlib.h: Update.
3167         * tests/base/ctype.h: New file.
3168
3169 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
3170
3171         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
3172
3173 2003-02-11  Richard Henderson  <rth@redhat.com>
3174
3175         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
3176         appropriated as globals.
3177         (ix86_expand_clrstr): Similarly.
3178         * config/i386/i386.md (cmpstrsi): Similarly.
3179
3180 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
3181
3182         * config/h8300/h8300.md (a peephole2): Add a case of 255.
3183
3184 2003-02-11  Roger Sayle  <roger@eyesopen.com>
3185
3186         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
3187         (pow_optab, atan2_optab): Define corresponding macros.
3188         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
3189         * genopinit.c (optabs): Implement pow_optab and atan2_optab
3190         using pow?f3 and atan2?f3 patterns.
3191         * builtins.c (expand_errno_check): New function to update errno
3192         if necessary, split out from expand_builtin_mathfn.
3193         (expand_builtin_mathfn): Use expand_errno_check.
3194         (expand_builtin_mathfn_2): New function to handle expanding binary
3195         math functions, reusing the code in expand_errno_check.
3196         (expand_builtin): Handle the pow and atan2 math built-ins,
3197         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
3198         expand_builtin_mathfn_2.
3199
3200         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
3201
3202 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
3203
3204         * combine.c (combine_simplify_rtx): Fix folding of
3205         nested float_truncates.
3206
3207 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
3208
3209         * config/h8300/h8300.md (a peephole2): Fix a typo.
3210
3211 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
3212
3213         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
3214         register number.
3215
3216 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
3217
3218         * config/h8300/h8300-protos.h: Add a prototype for
3219         gtuleu_operator.
3220         * config/h8300/h8300.c (gtuleu_operator): New.
3221         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
3222         * config/h8300/h8300.md (a peephole2): New.
3223
3224 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3225
3226         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
3227
3228 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
3229
3230         * predict.c (choose_function_section): Choose sections correctly.
3231
3232 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3233
3234         * reload1.c (first_label_num): New.
3235         (reload): Index offsets_known_at and offsets_at using difference of
3236         label number and first label number.  Don't use offset pointers.
3237         (set_label_offsets, set_initial_label_offsets): Likewise.
3238
3239 2003-02-10  Roger Sayle  <roger@eyesopen.com>
3240
3241         * mips-tfile.c (init_file): Add missing initializers in the
3242         "#ifdef __alpha" case.
3243         (file_offset, max_file_offset): Declare as unsigned long.
3244         (write_varray): Cast to "unsigned long" in comparisons against
3245         either file_offset or max_file_offset.
3246         (write_object): Likewise.
3247         (read_seek): Likewise.
3248         (copy_object): Likewise. Declare "ifd" as int to match its use
3249         in add_ext_symbol, and avoid signed/unsigned conditional warning.
3250
3251 2003-02-10  Nick Clifton  <nickc@redhat.com>
3252             Aldy Hernandez  <aldyh@redhat.com>
3253
3254         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
3255         override options which have been specified on the command line.
3256
3257 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
3258
3259         * config/h8300/h8300.md (abssf2): New.
3260         (*abssf2_h8300): Likewise.
3261         (*abssf2_h8300hs): Likewise.
3262
3263 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
3264
3265         * tree.c (build_tree_list):  Fix parameter names in comment.
3266
3267 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
3268
3269         * config/rs6000/ppc64-fp.c: New file.
3270         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
3271
3272 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
3273
3274         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3275         * bb-reorder.c (make_reorder_chain): Deleted.
3276         (make_reorder_chain_1): Deleted.
3277         (find_traces): New function.
3278         (rotate_loop): New function.
3279         (mark_bb_visited): New function.
3280         (find_traces_1_round): New function.
3281         (copy_bb): New function.
3282         (bb_to_key): New function.
3283         (better_edge_p): New function.
3284         (connect_traces): New function.
3285         (copy_bb_p): New function.
3286         (get_uncond_jump_length): New function.
3287         (reorder_basic_blocks): Use new functions (Software Trace Cache).
3288         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
3289         boundaries.
3290
3291 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
3292
3293         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
3294
3295 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
3296
3297         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3298         (DECL_LIVE_RANGE_RTL): Remove.
3299
3300 2003-02-10  Nick Clifton  <nickc@redhat.com>
3301
3302         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
3303         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
3304         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
3305         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
3306         config/arm/freebsd.h, config/arm/linux-elf.h,
3307         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
3308         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
3309         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
3310         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
3311         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
3312         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
3313         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
3314         and reformat as appropriate.
3315
3316 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
3317
3318         * config/h8300/clzsi2.c: Remove.
3319         * config/h8300/ctzsi2.c: Likewise.
3320         * config/h8300/paritysi2.c: Likewise.
3321         * config/h8300/popcountsi2.c: Likewise.
3322         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
3323         ctzsi2, paritysi2, and popcountsi2.
3324
3325 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
3326             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3327
3328         PR c/7741
3329         * c-decl.c (duplicate_decls): Discard the initializer of the
3330         new decl when the types are conflicting.
3331
3332 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
3333
3334         * Makefile.in (sreal.o): Added.
3335         (predict.o): Depends on sreal.h instead of real.h.
3336         * sreal.c: New file.
3337         * sreal.h: New file.
3338         * predict.c: Use sreal.c instead of real.c.
3339
3340 2003-02-10  Nick Clifton  <nickc@redhat.com>
3341
3342         * Contributed support for the Cirrus EP9312 "Maverick"
3343         floating point co-processor.  Written by Aldy Hernandez
3344         <aldyh@redhat.com>.
3345         (config/arm/arm.c): Add Cirrus support.
3346         (config/arm/arm.h): Likewise.
3347         (config/arm/aout.h): Likewise.
3348         (config/arm/arm.md): Likewise.
3349         (config/arm/arm-protos.h): Likewise.
3350         (config.gcc): Likewise.
3351         (doc/invoke.texi): Describe new -mcpu value and new
3352         -mcirrus-fix-invalid-insns switch,
3353         (cirrus.md): New file.
3354
3355 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
3356
3357         * combine.c (combine_simplify_rtx): Simplify using
3358         (float_truncate (float x)) is (float x)
3359         (float_extend (float_extend x)) is (float_extend x).
3360
3361 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
3362
3363         * calls.c (try_to_integrate): Tidy stack_usage_map access.
3364         (emit_library_call_value_1): Likewise.  Formatting.
3365         (store_one_arg): Likewise.
3366
3367 2003-02-09  Nick Clifton  <nickc@redhat.com>
3368             Aldy Hernandez  <aldyh@redhat.com>
3369
3370         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
3371         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
3372         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
3373         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
3374         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
3375         docs.  Add range test for immediate value.
3376
3377 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
3378
3379         Rename spe_evxor to xorv2si3.
3380         (xorv4hi3): New.
3381         (xorv1di3): New.
3382
3383 2003-02-10  Glen Nakamura  <glen@imodulo.com>
3384
3385         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
3386         tag.
3387
3388 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3389
3390         * i386.c (vector_move_operand): New predicate.
3391         (ix86_expand_vector_move): Be happy about 0.
3392         * i386.h (PREDICATE_CODES): Add sse-move_operand.
3393         * i386.md (mov*_internal): Add 'C' alternative.
3394
3395 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3396
3397         * i386.md (floathi*): Deal with SSE.
3398
3399 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
3400
3401         * simplify-rtx.c (simplify_unary_operation,
3402         simplify_binary_operation):  Deal with vector modes
3403         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
3404
3405 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
3406
3407         * toplev.c (rest_of_compilation): Recompute register usage after
3408         split_all_insns.
3409
3410 2003-02-09  Richard Henderson  <rth@redhat.com>
3411
3412         * libgcc-std.ver (__clztf2): New.
3413         (__ctztf2, __popcounttf2, __paritytf2): New.
3414         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
3415         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
3416         adjust code to match the different type sizes.
3417         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
3418         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
3419
3420         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
3421         TImode; select word_mode and twice that.
3422         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
3423         select the modes from float, double, and long double.
3424         (init_optabs): Remove duplicate initializations.
3425
3426 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
3427
3428         * doc/install.texi: Squeeze and streamline section on
3429         testing and regression checking.
3430
3431 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
3432
3433         * i386.md (ahi?v*3): Set third operand type to TImode.
3434         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
3435
3436         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
3437         integer mode.
3438
3439         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
3440         Change code so they are arithmetic expressions now.
3441         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
3442         simplify_ternary_operation): Deal with VEC_* expressions.
3443
3444         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
3445
3446 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
3447
3448         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
3449         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
3450         possibly got duplicated.
3451
3452 2003-02-08  Richard Henderson  <rth@redhat.com>
3453
3454         * config/alpha/alpha.c (override_options): Turn off explicit
3455         relocs until post-peep2 code duplication resolved.
3456
3457 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
3458
3459         * optabs.c (expand_unop): Widen clz properly when clz is done
3460         via libcall.
3461
3462 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
3463
3464         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
3465         * config/h8300/crti.asm: Likewise.
3466         * config/h8300/crtn.asm: Likewise.
3467         * config/h8300/ctzsi2.c: Likewise.
3468         * config/h8300/fixunssfsi.c: Likewise.
3469         * config/h8300/h8300-protos.h: Likewise.
3470         * config/h8300/h8300.c: Likewise.
3471         * config/h8300/h8300.h: Likewise.
3472         * config/h8300/h8300.md: Likewise.
3473         * config/h8300/paritysi2.c: Likewise.
3474         * config/h8300/popcountsi2.c: Likewise.
3475         * config/h8300/rtems.h: Likewise.
3476
3477 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3478
3479         * doc/invoke.texi: Documentation for my previous commit.
3480         * doc/passes.texi: Ditto.
3481
3482 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3483
3484         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
3485         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
3486         Declare.
3487         (DLTHE_FLAG_UPDATE_FREQ): New.
3488         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
3489         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
3490         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
3491         fix_bb_placement, fix_bb_placements, place_new_loop,
3492         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
3493         New static functions.
3494         (fix_loop_placement, can_duplicate_loop_p,
3495         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
3496         New functions.
3497
3498         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
3499         unswitch_loops): Declare.
3500         * loop-init.c: New file.
3501         * loop-unswitch.c: New file.
3502         * Makefile.in (loop-init.o, loop-unswitch.o): New.
3503         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
3504         * toplev.c (DFI_loop2): New dump.
3505         (flag_unswitch_loops): New.
3506         (lang_independent_options): Add it.
3507         (rest_of_compilation): Call new loop optimizer.
3508         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
3509
3510 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
3511
3512         * config/h8300/clzsi2.c: New.
3513         * config/h8300/ctzsi2.c: Likewise.
3514         * config/h8300/paritysi2.c: Likewise.
3515         * config/h8300/popcountsi2.c: Likewise.
3516         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
3517
3518 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
3519
3520         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
3521         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
3522         (ctzsi2): New pattern.
3523         (ffssi2): Use clz instead of unspec.
3524         (clzdi2): Rename from cntlzd2.
3525         (ctzdi2): New pattern.
3526         (ffsdi2): Use clz instead of unspec.
3527
3528 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
3529
3530         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
3531         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
3532         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
3533         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
3534
3535 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
3536
3537         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
3538
3539 2003-02-07  Richard Henderson  <rth@redhat.com>
3540
3541         PR 9226
3542         * gcse.c (local_cprop_find_used_regs): New.
3543         (local_cprop_pass): Use it.
3544
3545 2003-02-07  Fred Fish  <fnf@intrinsity.com>
3546
3547         * mips-tfile.c (parse_def): Parenthesize assignments to fix
3548         precedence bugs.
3549
3550 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
3551
3552         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
3553
3554 2003-02-07  Roger Sayle  <roger@eyesopen.com>
3555
3556         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
3557         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
3558         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
3559         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
3560         builtin functions (and their __builtin_* variants).
3561         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
3562         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
3563         when not optimizing.
3564
3565         * doc/extend.texi: Document new pow and atan2 builtins, and
3566         their float and long double variants.  Realphabetize builtins.
3567
3568 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
3569
3570         * i386.md (sse2_nandv2di3): Fix.
3571
3572 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
3573
3574         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
3575         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
3576         definition.
3577         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
3578         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
3579
3580 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
3581
3582         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
3583
3584 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
3585
3586         * cfg.c (dump_flow_info): Add back accidently deleted line.
3587
3588 2003-02-07  Andrey Petrov <petrov@netbsd.org>
3589
3590         * optabs.c (expand_float): Search wider integer modes first.
3591
3592 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
3593
3594         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
3595         based on preprocessor flag.
3596
3597 2003-02-07  Roger Sayle  <roger@eyesopen.com>
3598             Richard Henderson  <rth@redhat.com>
3599
3600         * gcse.c (implicit_sets): New.
3601         (compute_hash_table_work): Include them in hash table.
3602         (find_implicit_sets, fis_get_condition): New.
3603         (one_cprop_pass): Allocate and free implicit_sets; call
3604         find_implicit_sets before building hash table.
3605
3606 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
3607
3608         * config/t-netbsd (USER_H): Revert previous change.
3609
3610 2003-02-07  Gabor Greif  <ggreif@lucent.com>
3611
3612         * doc/c-tree.texi (Namespaces): Fix typo.
3613
3614 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3615
3616         * regrename.c (do_replace, find_oldest_value_reg,
3617         copyprop_hardreg_forward_1): Update register attributes.
3618
3619 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
3620
3621         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
3622         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
3623         variables starting with underscore.
3624         (struct unit_usage): New structure.
3625         (unit_usages, cycle_alt_unit_usages): New global variables.
3626         (check_unit_distribution_in_reserv): Remove it.
3627         (store_alt_unit_usage): New function.
3628         (check_regexp_units_distribution): Rewrite it.
3629
3630 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3631
3632         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
3633         target_cpu_default.
3634         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
3635         if not MASK_NO_SPACE_REGS.
3636         (output_call): Adjust return pointer, don't load new space register
3637         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
3638         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
3639         TARGET_NO_SPACE_REGS is true.
3640         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
3641         conditions.
3642         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
3643         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
3644         true.  Use bve when TARGET_64BIT is true.
3645
3646 2003-02-06  Richard Henderson  <rth@redhat.com>
3647
3648         * combine.c (nonzero_bits): Fix double break.
3649
3650 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
3651             Richard Henderson <rth@redhat.com>
3652
3653         PR c/9530
3654         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
3655         from functions that return a float to functions that don't.
3656
3657 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
3658
3659         * i386.c (x86_inter_unit_moves): New variable.
3660         (ix86_secondary_memory_needed): Fix 64bit case, honor
3661         TARGET_INTER_UNIT_MOVES
3662         * i386.h (x86_inter_unit_moves): Declare.
3663         (TARGET_INTER_UNIT_MOVES): New macro.
3664         * i386.md (movsi_1): Cleanup constraints; disable
3665         when not doing inter-unit moves.
3666         (movsi_1_nointernunit): New.
3667         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
3668         (movdi_1_rex64_nointerunit): New.
3669         (mivsf_1): disable when not doing inter-unit moves.
3670         (movsf_1_nointerunit): New.
3671
3672         * basic-block.h (inside_basic_block_p):  Declare.
3673         * cfgbuild.c (inside_basic_block_p): Make global.
3674         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
3675         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
3676         update CFG.
3677         (fix_basic_block_boundaries, add_missing_bbs): New.
3678         (rank): Use profile.
3679         (scheudle_ebbs): Rely on CFG; update coments.
3680
3681 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
3682
3683         * Makefile.in (host_hook_obj): New.
3684         (OBJS): Add $(host_hook_obj).
3685         (host_default.o): New rule.
3686         * config.gcc (host_hook_obj): New, default to host-default.o.
3687         (powerpc-*-darwin*): Use host-darwin.o.
3688         (out_host_hook_obj): New.
3689         * configure: Regenerate.
3690         * configure.in: Print information about out_host_hook_obj, substitute
3691         into output files.
3692         * host-default.c: New file.
3693         * hosthooks.h: New file.
3694         * toplev.c (general_init): Call host_hooks.extra_signals.
3695         * config/rs6000/host-darwin.c: New file.
3696         * config/rs6000/x-darwin: New file.
3697         * doc/hostconfig.texi: Add documentation for new host hook.
3698         Rearrange existing documentation.
3699
3700 2003-02-05  Roger Sayle  <roger@eyesopen.com>
3701
3702         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
3703         with *targetm.delegitimize_address.
3704         (rtl_for_decl_location): Likewise.
3705         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
3706         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
3707
3708         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
3709         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
3710         prototype.
3711         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
3712         i386_simplify_dwarf_addr.  Made static.  Prototyped.
3713         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
3714         i386_simplify_dwarf_addr to ix86_delegitimize_address.
3715         (ix86_find_base_term): Likewise.
3716         (maybe_get_pool_constant): Likewise.
3717
3718         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
3719         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
3720         prototype.
3721         * config/s390/s390.c (s390_delegitimize_address): Renamed from
3722         s390_simplify_dwarf_addr.  Made static.  Prototyped.
3723         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
3724
3725 2003-02-05  Richard Henderson  <rth@redhat.com>
3726
3727         PR c/8602
3728         * integrate.c (output_inline_function): Reset input_filename
3729         and lineno from the decl before rest_of_compilation.
3730
3731 2003-02-05  Richard Henderson  <rth@redhat.com>
3732
3733         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3734         (CTZ_DEFINED_VALUE_AT_ZERO): New.
3735         * doc/rtl.texi, doc/tm.texi: Document them.
3736
3737         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
3738         of the value at zero properly.
3739         * fold-const.c (tree_expr_nonnegative_p): Likewise.
3740         * simplify-rtx.c (simplify_unary_operation): Likewise.
3741
3742         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3743         (CTZ_DEFINED_VALUE_AT_ZERO): New.
3744
3745         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
3746         (TARGET_EXPAND_BUILTIN): Remove.
3747         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
3748         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
3749         (enum arm_builtins): Remove.
3750         * config/arm/arm.md (UNSPEC_CLZ): Remove.
3751         (clzsi2): Rename from clz; use clz instead of unspec.
3752         (ctzsi2): New.
3753         * config/arm/arm-protos.h: Update.
3754
3755 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3756
3757         * i386-protos.h (x86_emit_floatuns):  Declare.
3758         * i386.c (x86_emit_floatuns): New global function.
3759         * i386.md (floatunssisf2, floatunsdisf2,
3760         floatunsdidf2):  New patterns.
3761
3762 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3763
3764         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
3765
3766 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
3767
3768         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
3769           config/ia64/linux.h
3770
3771 2002-02-05  Roger Sayle  <roger@eyesopen.com>
3772
3773         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
3774
3775 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
3776
3777         PR optimization/8555
3778         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
3779         instead of aborting.
3780
3781 2003-02-04  Richard Henderson  <rth@redhat.com>
3782
3783         * config/i386/i386.md (UNSPEC_BSF): Remove.
3784         (ffssi2): Split into cmove and no_cmove insns and splitters;
3785         lose pentium float trick for now.
3786         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
3787         (ctzsi2, clzsi2, bsr): New.
3788
3789 2003-02-04  Richard Henderson  <rth@redhat.com>
3790
3791         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
3792         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
3793         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
3794         (ffsdi2): Use popcount instead of unspec.
3795         (popcountdi2): Rename from *popcnt.
3796         (ctzdi2, clzdi2, getf_exp_tf): New.
3797
3798 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
3799
3800         * genconfig.c (main): Generate CC0_P.
3801         * rtl.h (CC0_P): Remove.
3802
3803 2003-02-04  Richard Henderson  <rth@redhat.com>
3804
3805         * libgcc2.h, libgcc2.c (__ffsSI2): New.
3806         (__ffsDI2): Rename from __ffsdi2.
3807         * mklibgcc.in (lib2funcs): Add _ffssi2.
3808
3809 2003-02-04  Richard Henderson  <rth@redhat.com>
3810
3811         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
3812         rounds with a "bit table" lookup.
3813
3814 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
3815
3816         * reload.c (find_reloads): Do not use the mode specified in the insn
3817         pattern as reload mode for address operands.  Do not generate optional
3818         reloads for operands where a mandatory reload was already pushed.
3819
3820 2003-02-04  Richard Henderson  <rth@redhat.com>
3821
3822         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
3823         builtins instead of inline assembly.
3824
3825 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3826
3827         PR c/9376
3828         * libgcc2.c (__subvdi3): Fix typo.
3829
3830 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
3831
3832         * i386.md (movti_rex64):  Fix constraint.
3833
3834 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
3835
3836         * i386.md (vector push splitters):  Fix typo in resolving conflict.
3837
3838 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
3839
3840         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
3841
3842 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
3843
3844         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
3845         for recent libstdc++.  Remove formatting cruft.
3846
3847 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
3848
3849         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
3850         attribute even if input file name is absolute, but one of the
3851         includes is relative.
3852
3853 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
3854
3855         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
3856         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
3857         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
3858
3859 2003-02-03  Richard Henderson  <rth@redhat.com>
3860
3861         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
3862         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
3863         return type to "int".  Shuffle declarations and undef int trap.
3864         * libgcc2.h: Remove their declarations.
3865         * optabs.c (expand_unop): Force outmode to int for bitops.
3866
3867 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
3868
3869         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
3870         coprocessor registers before floating-point registers.
3871         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
3872         to account for a previously removed register.
3873         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
3874         Delete unused macros.
3875
3876 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
3877
3878         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
3879         (mov*_internal): Fix predicates; require one of operands to not be
3880         memory.
3881         (SSE?MMX move expanders):  Fix predicates; force one of operands to
3882         register.
3883         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
3884         (movups/movupd/movdqu patterns): Force one of operands to not be
3885         memory.
3886
3887 2002-02-03  Roger Sayle  <roger@eyesopen.com>
3888
3889         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
3890         takes a single rtx and returns it unmodified.
3891         * hooks.h (hook_rtx_rtx_identity): Prototype here.
3892         * target.h (struct gcc_target): Add "delegitimize_address"
3893         field to target structure.
3894         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
3895         for delegitimize_address target using hook_rtx_rtx_identity.
3896         (TARGET_INITIALIZER): Initialize delegitimize_address field
3897         using TARGET_DELEGITIMIZE_ADDRESS macro.
3898         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
3899         extensions of constant pool references.  Use delegitimize_address
3900         to undo the obfuscation of "-fpic".
3901         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
3902
3903         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
3904         i386_simplify_dwarf_addr.
3905         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
3906         (maybe_get_pool_constant): Likewise.
3907
3908 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3909
3910         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
3911
3912 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
3913
3914         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
3915
3916 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3917
3918         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
3919         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
3920
3921 2003-02-02  Andreas Schwab  <schwab@suse.de>
3922
3923         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
3924
3925 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
3926
3927         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
3928         (epilogue_insns): Likewise.
3929
3930 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3931
3932         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
3933
3934 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3935
3936         * pa-protos.h (attr_length_millicode_call): Remove second argument.
3937         (attr_length_indirect_call, attr_length_indirect_call,
3938         attr_length_save_restore_dltp): New prototypes.
3939         * pa.c (attr_length_millicode_call): Remove second argument.  Check
3940         INSN_ADDRESSES_SET_P in distance calculation.
3941         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
3942         INSN_ADDRESSES.
3943         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
3944         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
3945         Call attr_length_call directly.
3946         (attr_length_indirect_call, output_indirect_call,
3947         attr_length_save_restore_dltp): New functions.
3948         * pa.md (attr_length_millicode_call): Drop second argument from all
3949         patterns.
3950         (return_internal_pic): Delete.
3951         (return_external_pic): Remove use of PIC register and pic operand and
3952         flag checks.
3953         (epilogue): Use return_internal for both normal and pic code.
3954         (call, call_value): Emit new 32-bit pic patterns for symref and
3955         indirect calls.  Remove uses for arg pointer and pic register.
3956         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
3957         call_reg_pic_post_reload, call_val_symref_pic,
3958         call_val_symref_pic_post_reload, call_val_reg_pic,
3959         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
3960         Implement define_split and define_peephole2 patterns for pre reload
3961         patterns.
3962         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
3963         call_value_internal_reg_64bit): Shorten names.
3964         (all call patterns): Explicitly indicate registers used and clobbered.
3965         Use attr_length_indirect_call and attr_length_save_restore_dltp for
3966         attribute length calculation.  Move code generation for indirect calls
3967         to output_indirect_call.
3968         (sibcall, sibcall_value): Don't restore PIC register.
3969         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
3970         register retore.
3971
3972 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3973
3974         * doc/install.texi (Testing): Simplify and compress instructions
3975         concerning Dejagnu.
3976
3977 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3978
3979         * collect2.c (pexecute_pid): Rename to pid.
3980         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
3981         pid.
3982
3983 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
3984
3985         * doc/extend.texi (Function Attributes): Remove documentation
3986         for PowerPC Windows NT function attributes..
3987
3988 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
3989
3990         * dwarf2out.c (gen_type_die): Check for typedefs before calling
3991         for TYPE_MAIN_VARIANT.
3992
3993 2003-02-01  Richard Henderson  <rth@redhat.com>
3994
3995         * libgcc2.c: Include auto-host.h.
3996         (ATTRIBUTE_HIDDEN): New.
3997         (__clz_tab): Don't declare here for clz and ctz.
3998         (__clzsi2, __clzdi2): Use count_leading_zeros.
3999         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
4000         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
4001         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
4002         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
4003
4004 2003-02-01  Richard Henderson  <rth@redhat.com>
4005
4006         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
4007         to the conditional.
4008         (ashlsi3_1_zext splitter): Likewise.
4009
4010 2003-02-01  Richard Henderson  <rth@redhat.com>
4011
4012         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
4013         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
4014         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
4015         return type to Wtype.
4016
4017         * libgcc-std.ver (GCC_3.4): Fix inheritance.
4018
4019         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
4020         expander input constraint.
4021
4022 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
4023
4024         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
4025         OTI_parity.
4026         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
4027         * optabs.c (widen_clz, expand_parity): New.
4028         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
4029         for libcalls to clz, ctz, popcount, and parity.
4030         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
4031         parity_optab, and set up libfunc handlers.
4032         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
4033         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
4034         __popcount_tab): New.
4035         * libgcc2.h: Declare them.
4036         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
4037         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
4038         and parity_optab.
4039         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
4040         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
4041         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
4042         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
4043         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
4044         BUILT_IN_PARITYLL): New.
4045         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
4046         and add optab argument.
4047         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
4048         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
4049         * expr.c (expand_expr): Handle them.
4050         * fold-const.c (tree_expr_nonnegative_p): Likewise.
4051         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
4052         * reload1.c (eliminate_regs): Handle them.
4053         (elimination_effects): Likewise.
4054         * function.c (instantiate_virtual_regs_1): Likewise
4055         * genattrtab.c (check_attr_value): Likewise.
4056         * simplify-rtx.c (simplify_unary_operation): Likewise.
4057         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
4058         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
4059         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
4060         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
4061         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
4062         __builtin_arm_clz.
4063         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
4064         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
4065         * doc/extend.texi (Other Builtins): Add new builtins.
4066         * doc/md.texi (Standard Names): Add new patterns.
4067
4068 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
4069
4070         * reload.c: Revert 2003-01-31 change.
4071
4072 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
4073
4074         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
4075
4076 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
4077
4078         * flags.h (flag_volatile): Remove declaration.
4079         (flag_volatile_global, flag_volatile_static): Likewise.
4080         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
4081         * toplev.c (flag_volatile): Remove definition.
4082         (flag_volatile_global, flag_volatile_static): Likewise.
4083         (f_options): Remove corresponding entries here.
4084         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
4085         or flag_volatile_static.
4086         * doc/invoke.texi: Remove documentation of -fvolatile,
4087         -fvolatile-global and -fvolatile-static.
4088
4089 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4090
4091         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
4092         updating of total_code_bytes from prologue to epilogue.
4093
4094 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
4095
4096         * reload.c (find_reloads): Do not use the mode specified in the insn
4097         pattern as reload mode for address operands.  Do not generate optional
4098         reloads for operands where a mandatory reload was already pushed.
4099         Generate optional reloads only in the final pass though find_reloads.
4100         (have_replacement_p): New function.
4101
4102 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4103
4104         * doc/install.texi (Testing): Remove a reference to our obsolete
4105         /testresults web pages and strip redundant information concerning
4106         test results.
4107         (Binaries): Refer to Microsoft Windows instead of listing all
4108         possible variants.
4109
4110 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
4111
4112         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
4113         RTL chain.
4114
4115         * combine.c (simplify_set): Reverse order of ragumetns to
4116         REG_CANNOT_CHANGE_MODE_P
4117         * df.c (df_def_record_1): Likewise.
4118         * recog.c (register_operand): Likewise.
4119         * simplify-rtx.c (simplify_subreg): Likewise.
4120         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
4121         CANNOT_CHANGE_MODE_CLASS.
4122         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
4123         Likewise.
4124         * reload.c (push_reload): Likewise.
4125         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4126         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4127         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4128         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
4129         * mips.c (mips_cannot_change_mode_class): Update.
4130         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4131         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4132         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4133         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
4134         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
4135         * sh.c (sh_cannot_change_mode_class): Update.
4136         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
4137         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
4138
4139 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
4140
4141         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
4142         change to LINK_COMMAND_SPEC in gcc.c.
4143
4144 2003-01-31  Jan Hubicka  <jh@suse.cz>
4145
4146         PR c/9506
4147         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
4148
4149 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4150
4151         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
4152         duplicated code.
4153
4154 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
4155
4156         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
4157         (BINFO_ELTS): New #define.
4158         * stor-layout.c (finalize_record_size): Don't set them.
4159         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
4160         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
4161         (BINFO_LANG_ELTS): New #define.
4162         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
4163         * java/class.c (make_class): Use BINFO_ELTS.
4164         (set_super_info): Likewse.
4165         (add_interface_do): Likewise.
4166         * objc/objc-act.c (start_class): Use BINFO_ELTS.
4167
4168 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
4169
4170         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
4171         (times): Don't ever declare if not HAVE_TIMES.
4172         (clock): Don't ever declare if not HAVE_CLOCK.
4173
4174 2003-01-30  Richard Henderson  <rth@redhat.com>
4175
4176         * flow.c (update_life_info): Zap life info after cleanup_cfg.
4177         (regno_uninitialized): Use correct live at function entry set.
4178         (regno_clobbered_at_setjmp): Likewise.
4179
4180         * expr.c (store_expr): Promote all MEM intermediates to regs.
4181
4182 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
4183
4184         * config/arm/arm.c: Fix comment typos.
4185         * config/arm/arm.h: Likewise.
4186         * config/arm/netbsd-elf.h: Likewise.
4187         * config/arm/netbsd.h: Likewise.
4188
4189 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
4190
4191         * gengtype.c (struct walk_type_data): Add needs_cast_p.
4192         (walk_type): Set needs_cast_p in walk_type_data.
4193         (write_types_process_field): Supply casts when required to suppress
4194         warnings.
4195         (write_root): Cast gt_pch_n_S to suppress warning.
4196         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
4197         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
4198         when they might exist.
4199         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
4200         insn-conditions.o, and rs6000.o.
4201
4202 2003-01-30  Richard Henderson  <rth@redhat.com>
4203
4204         * ggc-page.c (G.context_depth_allocations): New.
4205         (G.context_depth_collections): New.
4206         (alloc_page): Set G.context_depth_allocations.
4207         (ggc_collect): Set G.context_depth_collections.
4208         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
4209         (ggc_pop_context): Early exit for no allocations or collections.
4210
4211 2003-01-30  Richard Henderson  <rth@redhat.com>
4212
4213         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
4214
4215 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
4216
4217         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
4218         size, the link register is always saved if any other register is
4219         saved.
4220
4221 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
4222
4223         * config/h8300/h8300-protos.h: Update the prototype for
4224         compute_plussi_cc.
4225         (cpp_reader): Declare before it is used.
4226         * config/h8300/h8300.c (compute_plussi_cc): Change the return
4227         type to int.
4228         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
4229         see an unknown H8 variant.
4230
4231 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
4232
4233         PR target/9316
4234         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
4235         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
4236         * config/rs6000/t-rtems: New file. multilib variants to match OS.
4237         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
4238         rs6000/t-ppcgas so we get the desired multilibs.
4239
4240 2003-01-30  Nick Clifton  <nickc@redhat.com>
4241
4242         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
4243         when popping saved IP register off the stack.
4244
4245 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
4246
4247         * config/rs6000/aix43.h: Fix comment typos.
4248         * config/rs6000/aix51.h: Likewise.
4249         * config/rs6000/aix52.h: Likewise.
4250         * config/rs6000/altivec.h: Likewise.
4251         * config/rs6000/rs6000.c: Likewise.
4252         * config/rs6000/rs6000.h: Likewise.
4253         * config/rs6000/rs6000.md: Likewise.
4254         * config/rs6000/spe.md: Likewise.
4255
4256 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
4257
4258         * c-common.c (builtin_define_float_constants): Define
4259         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
4260
4261 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
4262
4263         * config/sh/lib1funcs.asm: Fix comment typos.
4264         * config/sh/linux.h: Likewise.
4265         * config/sh/sh.c: Likewise.
4266         * config/sh/sh.md: Likewise.
4267
4268 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
4269
4270         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
4271
4272 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
4273
4274         * config/fp-bit.h (__make_dp): Declare if TMODES.
4275
4276 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
4277
4278         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
4279         general_operand_src and general_operand_dst.
4280
4281 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
4282
4283         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
4284         Return true for variable sized types.
4285         (rs6000_va_arg): Handle variable sized types passed by reference
4286         on non-SVR4 ABI.
4287
4288 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
4289
4290         * arm.c (arm_legtimize_address): New function.
4291         * arm-protos.h (arm_legtimize_address): Add prototype.
4292         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
4293         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
4294         do ... while (0)
4295
4296 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
4297
4298         PR bootstrap/9296
4299         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
4300         depended on it being defined until now.
4301
4302 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
4303
4304         PR target/9295
4305         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
4306         RTEMS code knows which C++ initialization style the toolset
4307         configuration is using.
4308
4309 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
4310
4311         PR bootstrap/9293
4312         * config/m68k/t-crtstuff: Replace spaces with tabs, add
4313          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
4314
4315 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
4316
4317         PR bootstrap/9292
4318         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
4319         RTEMS threads.
4320         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
4321
4322 2003-01-29  Nick Clifton  <nickc@redhat.com>
4323
4324         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
4325         not $(srcdir).
4326
4327 2003-01-29  Andrew Haley  <aph@redhat.com>
4328
4329         * tree-inline.c (walk_tree): Add CHAR_TYPE.
4330
4331 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
4332
4333         * i386.md (subdi3_carry_rex64): Fix typo.
4334
4335 2003-01-28  Stan Shebs  <shebs@apple.com>
4336
4337         * coretypes.h (cpp_reader): Forward declare struct.
4338         * c-pragma.h (cpp_reader): Remove forward declaration.
4339         * hashtable.h (cpp_reader): Likewise.
4340         * scan.h (cpp_reader): Likewise.
4341         * tree.h (cpp_reader): Likewise.
4342         * config/darwin-protos.h (cpp_reader): Likewise.
4343         * config/arm/arm-protos.h (cpp_reader): Likewise.
4344         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
4345         struct cpp_reader in prototypes.
4346
4347 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
4348
4349         * doc/install.texi: Add documentation for installation into
4350         tooldirs and with DESTDIR.
4351
4352 2003-01-28  Richard Henderson  <rth@redhat.com>
4353
4354         * config.gcc (ia64*-*-aix*): Remove.
4355         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
4356         * config/ia64/unwind-aix.c: Remove file.
4357
4358 2003-01-28  Andreas Schwab  <schwab@suse.de>
4359
4360         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
4361         register.
4362         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
4363         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
4364         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
4365         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
4366         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
4367         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
4368         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
4369
4370 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
4371
4372         * combine.c (nonzero_bits): Fix check for negative divide operands.
4373
4374 2003-01-28  Richard Henderson  <rth@redhat.com>
4375
4376         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
4377         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
4378
4379 2003-01-28  Richard Henderson  <rth@redhat.com>
4380
4381         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
4382
4383         * config/cris/cris.c (cris_address_cost): Make static.
4384         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
4385         * config/cris/cris.h (ADDRESS_COST): Remove.
4386         * config/cris/cris-protos.h: Update.
4387
4388 2003-01-23  Mike Stump  <mrs@apple.com>
4389
4390         * regclass.c (init_reg_autoinc): New function.
4391         (regclass): Move initialization of forbidden_inc_dec_class from
4392         here...
4393         (init_regs): to here.  Avoids reinitialization for each function,
4394         saving compilation time.
4395
4396 2003-01-28  Jason Merrill  <jason@redhat.com>
4397
4398         * cpplib.h (struct cpp_options): Add warn_deprecated field.
4399         * cppinit.c (cpp_create_reader): Turn it on by default.
4400         * c-opts.c (c_common_decode_option): Set it.
4401         * cpplib.c (do_pragma_once): Only complain about #pragma once
4402         if warn_deprecated is set.
4403
4404 2003-01-28  Dale Johannesen  <dalej@apple.com>
4405
4406         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
4407         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
4408         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
4409
4410 2003-01-28  Richard Henderson  <rth@redhat.com>
4411
4412         * target.h (targetm.address_cost): New.
4413         * target-def.h (TARGET_ADDRESS_COST): New.
4414         (TARGET_RTX_COSTS): Uncomment.  Oops.
4415         * cse.c (address_cost): Use new target hook.
4416         (default_address_cost): New.
4417         * output.h (default_address_cost): Declare.
4418         * hooks.c (hook_int_rtx_0): New.
4419         * hooks.h (hook_int_rtx_0): Declare.
4420         * loop.c (combine_givs_p): Remove if 0 code.
4421         * system.h (ADDRESS_COST): Poison.
4422
4423         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
4424         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
4425         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
4426         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
4427         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
4428         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
4429         config/xtensa/xtensa.c, config/xtensa/xtensa.h
4430         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
4431         (ADDRESS_COST): Remove.
4432
4433         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
4434         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4435         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
4436         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
4437         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
4438         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
4439         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
4440         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
4441         config/mips/mips.c, config/mips/mips.h,
4442         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4443         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
4444         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
4445         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
4446         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
4447         config/vax/vax.c, config/vax/vax.h
4448         (foo_address_cost): Make static.
4449         (TARGET_ADDRESS_COST): New.
4450         (ADDRESS_COST): Remove.
4451
4452         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
4453         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
4454         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
4455         config/stormy16/stormy16.h
4456         (ADDRESS_COST): Move code ...
4457         (foo_address_cost): ... here.
4458         (TARGET_ADDRESS_COST): New.
4459
4460         * config/m32r/m32r.c (m32r_address_cost): Remove.
4461         * config/m32r/m32r-protos.h: Update.
4462
4463         * config/mmix/mmix.c (mmix_address_cost): Remove.
4464         * config/mmix/mmix-protos.h: Update.
4465
4466         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
4467         mn10300_address_cost; move unsig allocation ...
4468         (mn10300_address_cost): ... here.
4469         (TARGET_ADDRESS_COST): New.
4470         * config/mn10300/mn10300-protos.h: Update.
4471         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
4472
4473         * doc/tm.texi: Update.
4474
4475 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
4476
4477         * haifa-sched.c (schedule_insn): Return necessary cycle advance
4478         after issuing the insn.
4479         (rank_for_schedule): Make a insn with /S the highest priority
4480         insn.
4481         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
4482         (choose_ready): Check SCHED_GROUP_P.
4483         (schedule_block): Advance cycle after issuing insn if it is
4484         necessary.  Don't reorder insns if there is an insn with /S.
4485         (set_priorities): Ignore schedule groups.
4486
4487         * sched-deps.c (remove_dependence, group_leader): Remove the
4488         functions.
4489         (add_dependence): Ignore schedule groups.
4490         (set_sched_group_p): Don't make copy of dependencies from previous
4491         insn of the schedule group.  Add anti-dependency to the previous
4492         insn of the schedule group.
4493         (compute_forward_dependences): Ignore schedule groups.
4494
4495         * sched-ebb.c (init_ready_list): Ignore schedule groups.
4496
4497         * sched-rgn.c (init_ready_list): Ditto.
4498         (can_schedule_ready_p): Ditto.
4499
4500 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
4501
4502         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
4503         register to another one.
4504
4505 2003-01-28  Richard Henderson  <rth@redhat.com>
4506
4507         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
4508
4509 2003-01-28  Roger Sayle  <roger@eyesopen.com>
4510
4511         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
4512
4513 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
4514
4515         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
4516         class contains a floating-point register, return the size of the
4517         mode in half words.
4518
4519 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
4520
4521         * i386.c (ix86_carry_flag_operator):  New predicate.
4522         (fcmov_operator): Fix whitespace.
4523         (ix86_expand_carry_flag_compare):  Deal with floating point.
4524         (ix86_expand_int_movcc): Deal with fp; update insn expansion
4525         (ix86_expand_int_addcc): Likewise.
4526         (ix86_expand_strlensi_unroll_1): likewsie.
4527         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
4528         * i386.md (add?i_carry_rex64): Use new predicate.
4529         (sub?i3_carry_rex64): Likewise.
4530         (x86_mov?icc_0_m1*): Likewise.
4531
4532 2003-01-28  Andreas Schwab  <schwab@suse.de>
4533
4534         * cfgloopmanip.c (create_preheader): Initialize src to avoid
4535         warning.
4536
4537         * expmed.c (emit_store_flag): Fix cast to avoid sign
4538         comparison warning.
4539
4540         * combine.c (force_to_mode): Add cast to fix warning when
4541         STORE_FLAG_VALUE is negative.
4542
4543 2003-01-27  Richard Henderson  <rth@redhat.com>
4544
4545         * Makefile.in (cse.o): Depend on TARGET_H.
4546         * cse.c (rtx_cost): Use targetm.rtx_costs.
4547         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
4548         * doc/tm.texi: Update.
4549
4550         * target.h (targetm.rtx_costs): New.
4551         * target-def.h (TARGET_RTX_COSTS): New.
4552         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
4553         * hooks.h: Update.
4554
4555         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
4556         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
4557         * config/alpha/alpha.h (PROCESSOR_MAX): New.
4558         (CONST_COSTS, RTX_COSTS): Remove.
4559
4560         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
4561         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
4562         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
4563         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
4564         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
4565         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
4566         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
4567         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
4568         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
4569         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
4570         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
4571         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
4572         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
4573         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
4574         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
4575         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
4576         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
4577         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
4578         config/v850/v850.c, config/v850/v850.h,
4579         config/xtensa/xtensa.c, config/xtensa/xtensa.h
4580         (CONST_COSTS, RTX_COSTS): Move code ...
4581         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
4582
4583         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
4584         (arm_rtx_costs, TARGET_RTX_COSTS): New.
4585         * config/arm/arm-protos.h: Update.
4586         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
4587
4588         * config/avr/avr.h (CONST_COSTS): Move code ...
4589         * config/avr/avr.c (avr_rtx_costs): ... here.
4590         (default_rtx_costs): Make static.
4591         * config/avr/avr-protos.h: Update.
4592
4593         * config/h8300/h8300.c (const_costs): Make static.
4594         (h8300_and_costs, h8300_shift_costs): Likewise.
4595         * config/h8300/h8300-protos.h: Update.
4596
4597         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
4598         (CONST_COSTS): Move code ...
4599         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
4600         default_rtx_costs; update for signature change.
4601         * config/ip2k/ip2k-protos.h: Update.
4602
4603         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
4604         (CONST_COSTS): Move code ...
4605         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
4606         (TARGET_RTX_COSTS): New.
4607         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
4608         * config/m68hc11/m68hc11-protos.h: Update.
4609
4610         * config/m68k/m68k.c (const_int_cost): Make static.
4611         * config/m68k/m68k-protos.h: Update.
4612
4613         * config/mcore/mcore.c (mcore_const_costs): Make static.
4614         (mcore_and_cost, mcore_ior_cost): Likewise.
4615         * config/mcore/mcore-protos.h: Update.
4616
4617         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
4618         (mmix_rtx_cost_recalculated): Remove.
4619         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
4620         * config/mmix/mmix-protos.h: Update.
4621
4622         * config/sh/sh.c (shiftcosts): Make static.
4623         (addsubcosts, andcosts, multcosts): Likewise.
4624         * config/sh/sh-protos.h: Update.
4625
4626         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
4627         (sparc_rtx_costs): Make static; update for change in signature.
4628         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
4629         * config/sparc/sparc-protos.h: Update.
4630
4631         * config/v850/v850.c (const_costs): Make static.
4632         * config/v850/v850-protos.h: Update.
4633
4634         * config/vax/vax.h (RTX_COSTS): Remove.
4635         (CONST_COSTS): Move code ...
4636         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
4637         from vax_rtx_cost.
4638         (vax_rtx_costs, TARGET_RTX_COSTS): New.
4639
4640 2003-01-27  Richard Henderson  <rth@redhat.com>
4641
4642         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
4643         * config/vax/vax-protos.h: Update.  Really.
4644
4645 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
4646
4647         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
4648         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
4649         zero if no hardware floating point.
4650         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
4651         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
4652         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
4653         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
4654         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
4655         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
4656         even FP registers on N32 and N64.
4657         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
4658         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
4659         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
4660         even-register-like alignment to 128-bit arguments.
4661         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
4662         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
4663         on N32 or N64.
4664         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
4665         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
4666         (TPBIT): Set to tp-bit.c.
4667         (tp-bit.c): Create out of fp-bit.c.
4668
4669 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4670
4671         * c-parse.in: Remove '%expect 32' directive in objc mode.
4672
4673 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
4674
4675         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
4676         (LIBGCOV): New variable.
4677         (libgcc.mk): Add LIBGCOV.
4678         (LIBGCC_DEPS): Add libgcov.c.
4679         (libgcov.a): New target.
4680         (clean): Remove libgcov.a.
4681         (install-libgcc): Do libgcov too.
4682         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
4683         with libgcov.a.
4684         * libgcc2.c (L_gcov): Move into ...
4685         * libgcov.c: ... here. New file.
4686         * mklibgcc.in: Add libgcov rules.
4687         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
4688
4689         * doc/invoke.texi (profile-arcs, test-coverage): Update and
4690         clarify.
4691
4692         * profile.c (index_counts_file): Remove duplicate check for open file.
4693
4694 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
4695
4696         * gcc/doc/invoke.texi (Optimization Options): Group together
4697         optional and experimental flags.  Move trapv and bounds-check
4698         out of this section.  Group floating point flags together.
4699         (Code Gen Options): Move trapv and bounds-check to here.
4700
4701 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
4702
4703         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
4704
4705 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
4706
4707         PR optimization/9090
4708         * function.c (purge_addressof_1): After pushing an addressed register
4709         onto the stack, simplify the result.
4710
4711 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4712
4713         * doc/extend.texi: Fix typo.
4714
4715 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4716
4717         * doc/cppopts.texi: Fix typo.
4718         * doc/objc.texi: Likewise.
4719         * doc/passes.texi: Likewise.
4720
4721 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
4722
4723         * real.c (ibm_extended_format): Add 53 to minimum exponent.
4724         (encode_ibm_extended): Adjust.
4725
4726 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
4727
4728         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
4729         timevar_id enumerations.
4730
4731 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
4732
4733         * combine.c: Fix formatting.
4734
4735 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
4736
4737         * doc/gccint.texi: Update the copyright.
4738
4739 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
4740
4741         * doc/cpp.texi: Fix typos.
4742         * doc/extend.texi: Likewise.
4743         * doc/gty.texi: Likewise.
4744         * doc/install.texi: Likewise.
4745         * doc/passes.texi: Likewise.
4746         * doc/rtl.texi: Likewise.
4747         * doc/tm.texi: Likewise.
4748
4749 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
4750
4751         * config/ia64/fde-glibc.c: Fix comment typos.
4752         * config/ia64/hpux.h: Likewise.
4753         * config/ia64/ia64.c: Likewise.
4754         * config/ia64/ia64.h: Likewise.
4755         * config/ia64/unwind-ia64.c: Likewise.
4756
4757 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
4758
4759         * config/i386/i386-modes.def: Fix comment typos.
4760         * config/i386/i386.c: Likewise.
4761         * config/i386/i386.md: Likewise.
4762
4763 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4764
4765         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
4766         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
4767         ASM_FINISH_DECLARE_OBJECT before defining it.
4768         * toplev.c (rest_of_decl_compilation):  Don't define
4769         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
4770         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
4771         parameters for DWARF2 targets because they _are_ used.
4772
4773 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
4774
4775         * fp-bit.h: Define macros for TFmode floating-point constants
4776         in IBM-extended TFmode types.
4777         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
4778         widths.
4779         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
4780         TFmode type.
4781
4782         * config/fp-bit.h: Define macros for TFmode floating-point
4783         constants in IEEE quad TFmode type.  Declare functions according
4784         to L_ macros.
4785         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
4786         (TFtype, TItype, UTItype): Define if TMODES is defined.
4787         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
4788         (F_T_BITOFF, D_T_BITOFF): Define.
4789         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
4790         guaranteed to be wide enough.
4791         * config/fp-bit.c: Check for L_ macros for tf functions.
4792         (__thenan_tf): New.
4793         (nan): Adjust.
4794         (pack_d, unpack_d): Support IEEE 854 quad type.
4795         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
4796         from FRAC_NBITS, FRAC_BITS and NGARDS.
4797         (usi_to_float): Cast constants to be shifted to fractype
4798         instead of assuming long long is wide enough.
4799         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
4800
4801 2003-01-26  Andreas Jaeger  <aj@suse.de>
4802
4803         * df.c: Remove prototype of unused function df_regno_rtl_debug.
4804
4805 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
4806
4807         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
4808         (DBBIT_FUNCS): Added _df_to_tf.
4809         (TPBIT_FUNCS): New.
4810         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
4811         (LIBGCC_DEPS): Added TPBIT.
4812         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
4813
4814         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
4815         been able to move the result to target.
4816
4817         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
4818         for the appropriate mode.
4819
4820         * calls.c (emit_library_call_value_1): Handle return values
4821         in a PARALLEL.
4822
4823         * rtl.c (get_mode_alignment): Moved to...
4824         * stor-layout.c: ... here.
4825
4826         * print-rtl.c (print_rtx): Don't print MEM details in
4827         GENERATOR_FILEs.
4828
4829 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
4830
4831         * df.h: Update comments, tidy formatting.
4832         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
4833         REVERSE, UNION, INTERSECTION.  All uses updated.
4834         (OLD_DF_INTERFACE): Remove.
4835         (struct insn_info): Remove commented out insn field.
4836         * df.c: Update comments, tidy formatting.
4837         (df_def_table_realloc): Remove.
4838
4839
4840 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
4841
4842         * calls.c (save_fixed_argument_area): Tidy.
4843         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
4844         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
4845         call chain loop at 1 if !try_tail_call.  Formatting.
4846         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
4847         Use save_fixed_argument_area and restore_fixed_argument_area.
4848
4849 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4850
4851         * df.c (df_uses_record): Handle CC0.
4852
4853 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
4854
4855         * reload.c (maybe_memory_address_p): New function.
4856         (find_reloads_address): Use it instead of memory_address_p.
4857
4858 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
4859
4860         * final.c (shorten_branches): Align the address of code label
4861         when computing initial lengths and addresses.
4862
4863 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
4864
4865         * config/m68hc11/m68hc11.md: Fix a comment typo.
4866
4867 2003-01-25  Andreas Jaeger  <aj@suse.de>
4868
4869         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
4870         TARGET_MACHO.
4871
4872 2003-01-25  Roger Sayle  <roger@eyesopen.com>
4873
4874         * gcse.c (bypass_last_basic_block): New global variable.
4875         (bypass_block):  Use redirect_edge_and_branch_force to redirect
4876         fall-through edges.  Use bypass_last_basic_block to determine
4877         which blocks have valid PRE information.
4878         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
4879
4880 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
4881
4882         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
4883
4884 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
4885                               Eric Botcazou <ebotcazou@libertysurf.fr>
4886         PR opt/8492
4887         * gcse.c (one_cprop_pass): Delete unreachable blocks.
4888
4889 2003-01-25  Richard Henderson  <rth@redhat.com>
4890
4891         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
4892         from ia64_aix_select_rtx_section.
4893         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
4894         instead of saving and restoring flag_pic.
4895         (ia64_rwreloc_unique_section): Similarly.
4896         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
4897         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
4898         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
4899         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
4900
4901 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
4902
4903         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
4904         comment.
4905
4906 2002-01-25  Richard Henderson  <rth@redhat.com>
4907
4908         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
4909
4910 2002-01-25  Kelley Cook <kelleycook@comcast.net>
4911
4912         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
4913
4914 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
4915
4916         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
4917         type for bitmaps.  Use unsigned long.
4918         (nBITMAP_WORD_BITS): New macro.
4919         (BITMAP_WORD_BITS): New macro.
4920         (rest of file): Use it.
4921         * bitmap.c: Use it.
4922
4923 2003-01-25  Richard Henderson  <rth@redhat.com>
4924
4925         2002-02-19  Robert Lipe  <robertlipe@usa.net>
4926         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
4927
4928 2002-01-25  Roger Sayle  <roger@eyesopen.com>
4929
4930         * builtins.c (purge_builtin_constant_p): Scan insn stream
4931         sequentially rather than by basic block.
4932         * function.c (purge_addressof): Simplify test with INSN_P.
4933
4934 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
4935
4936         * combine.c (simplify_comparison, case AND): Remove a redundant test.
4937
4938 2002-01-25  Roger Sayle  <roger@eyesopen.com>
4939
4940         * function.h (struct function): New field calls_constant_p.
4941         (current_function_calls_constant_p): New macro for above.
4942         * function.c (prepare_function_start): Initialize calls_eh_return
4943         and calls_constant_p.
4944         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
4945         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
4946         when the current_function_calls_constant_p.
4947         * integrate.c (expand_inline_function): Set calls_constant_p if
4948         the function being inlined has calls_constant_p set.
4949
4950 2002-01-25  Roger Sayle  <roger@eyesopen.com>
4951
4952         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
4953         optimizing, even if flag_gcse is true.
4954         * toplev.c (rest_of_compilation): purge_builtin_constant_p
4955         only needs to be called when "optimize > 0 && flag_gcse".
4956
4957 2003-01-25  Roger Sayle  <roger@eyesopen.com>
4958
4959         * stmt.c (emit_case_bit_tests): New routine to implement suitable
4960         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
4961         (case_bit_test_cmp): New comparison function for "qsort" to order
4962         case_bit_tests by decreasing number of destination nodes.
4963         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
4964         (expand_end_case_type): Use emit_case_bit_tests to implement
4965         suitable switch statments.
4966         (CASE_USE_BIT_TESTS): New target macro to disable the above.
4967         * Makefile.in (stmt.o): Add dependency on optab.h.
4968         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
4969
4970 2003-01-23  Andreas Schwab  <schwab@suse.de>
4971
4972         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
4973         __do_global_ctors_aux hidden global and don't put it in
4974         .init_array.
4975         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
4976         instead so that it comes first.
4977
4978 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
4979
4980         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
4981         subreg is read/modify.
4982
4983 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
4984
4985         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
4986         do libcall for large blocks.
4987         * i386.md (comi patterns): Set type to ssecomi.
4988         (sse2_unpck?pd): Fix mode of vec_select.
4989
4990         * cse.c: Include except.h
4991         (cse_set_around_loop):  Do not create new basic blocks.
4992         * Makefile.in (cse.o): Add dependnecy on except.h
4993
4994 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
4995
4996         * builtins.c (fold_trunc_transparent_mathfn): New function.
4997         (fold_builtin): Use it.
4998         * convert.c (convert_to_real): Re-enable code to convert
4999         math functions; add support for floor familly functions.
5000
5001 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5002
5003         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
5004         dependencies on coretypes.h and $(TM_H).
5005
5006 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
5007
5008         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
5009
5010 2002-01-24  Stuart Hastings  <stuart@apple.com>
5011
5012         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
5013
5014 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5015
5016         * config/c4x/c4x.md (UNSPEC_BU): New constants.
5017         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
5018         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
5019         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
5020         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
5021         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
5022         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
5023         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
5024
5025 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
5026
5027         * emit-rtl.c (reg_attrs_htab): New static variable.
5028         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
5029         functions.
5030         (reg_rtx): Do not maintain regno_decl.
5031         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
5032         set_mem_attrs_from_reg): New global function.
5033         (init_emit): Do not initialize regno_decl.
5034         (init_emit_once): initialize reg_attrs_htab.
5035         * final.c (alter_subreg): Do not replace REG by SUBREG.
5036         (gen_mem_expr_from_op): Improve output.
5037         (output_asm_operands): Likewise.
5038         * function.c (assign_params): Do not set REGNO_DECL.
5039         * function.h (struct function): Kill regno_decl.
5040         (REGNO_DECL): Kill.
5041         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
5042         * print_rtl.c (print_rtx): Output REG information.
5043         * regclass.c (reg_scan_mark_refs): Update attrs.
5044         * reload1.c (alter_reg): Likewise.
5045         * simplify_rtx.c (simplify_subreg): Likewise.
5046         * stmt.c (expand_decl): Likewise.
5047         * rtl.def (REG): Add new field.
5048         * rtl.h (struct reg_attrs): New.
5049         (rtunion_def): At rtreg.
5050         (X0MEMATTR): Add checking.
5051         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
5052         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
5053         Declare.
5054         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
5055
5056 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
5057
5058         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
5059         (xtensa_emit_call, print_operand): Fix printf format strings
5060         to avoid compile warnings.
5061         (xtensa_function_prologue, xtensa_function_epilogue): Change type
5062         of "size" argument to HOST_WIDE_INT to fix compile warnings.
5063         * config/xtensa/xtensa-protos.h
5064         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
5065
5066 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
5067
5068         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
5069         (implicit_built_in_decls): New global array.
5070         (mathfn_built_in): New global function.
5071         (fold_trunc_transparent_mathfn): New static function
5072         (expand_builtin_strstr, expand_bultin_strchr,
5073         expand_builtin_strpbrk, expand_builtin_strcpy,
5074         expand_builtin_strncpy, expand_bultin_strcmp,
5075         expand_bultin_strncat, expand_builtin_fputs): Use
5076         implicint_built_in_decls.
5077         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
5078         * builtins.def: Fix comments.
5079         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
5080         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
5081         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
5082         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
5083         (DEF_C99_C90RES_BULTIN): New.
5084         (*f, *l builtins): Update.
5085         * c-common.c (DEF_BUILTIN): Initialize implicit array.
5086         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
5087         * convert.c (strip_float_extensions): New global function.
5088         * tree.h (DEF_BUILTIN): Accept 10 arguments.
5089         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
5090         Declare.
5091         * java/builtins.c (define_builtin): Handle implicit.
5092         (DEF_BUILTIN): Update.
5093         * tm.texi (TARGET_C99_FUNCTIONS): Document.
5094         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
5095         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
5096         when using glibc2.
5097
5098 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
5099
5100         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
5101         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
5102         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
5103         * config/xtensa/crti.asm: New file.
5104         * config/xtensa/crtn.asm: New file.
5105         * config/xtensa/t-elf: New file.
5106         * config/xtensa/t-linux: New file.
5107         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
5108         Move various CFLAGS settings to new t-elf file.
5109
5110 2003-01-24  Richard Henderson  <rth@redhat.com>
5111
5112         PR optimization/4382
5113         * tree-inline.c (find_builtin_longjmp_call_1): New.
5114         (find_builtin_longjmp_call): New.
5115         (inlinable_function_p): Use it.
5116
5117 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5118
5119         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
5120         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
5121         * config/i386/i386.c (function_arg_pass_by_reference): New.
5122         (ix86_va_arg): Support arguments passed by reference.
5123
5124 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5125
5126         * cfgloopanal.c: New file.
5127         * cfgloopmanip.c: New file.
5128         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
5129         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
5130         cfglayout.o): Add dependency on cfgloop.h.
5131         (cfgloop.o): Add flags.h dependency.
5132         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
5133         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
5134         (struct loop, struct loops, flow_loops_find, flow_loops_update,
5135         flow_loops_free, flow_loops_dump, flow_loop_dump,
5136         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
5137         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
5138         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
5139         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
5140         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
5141         find_common_loop, verify_loop_structure): Declarations moved to ...
5142         * cfgloop.h: New file.
5143         * bb-reorder.c (reorder_basic_blocks): Modified.
5144         * cfglayout.c: Include cfgloop.h.
5145         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
5146         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
5147         (break_superblocks): New static function.
5148         (cfg_layout_finalize): Use it.
5149         (cfg_layout_split_block): New function.
5150         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
5151         fields.
5152         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
5153         changed.
5154         (cfg_layout_split_block): Declare.
5155         * cfgloop.c: Include cfgloop.h and flags.h.
5156         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
5157         get_loop_body): Avoid signed versus unsigned comparison warnings.
5158         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
5159         loop_latch_edge): Modified.
5160         (verify_loop_structure): Modified to use flags stored in loop structure;
5161         check irreducible loops.
5162         (cancel_loop, cancel_loop_tree): New functions.
5163         (estimate_probability): Use loop analysis code for predictions.
5164         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
5165         warnings.
5166         * doloop.c: Include cfgloop.h.
5167         * loop.c: Include cfgloop.h.
5168         * predict.c: Include cfgloop.h.
5169         * toplev.c: Include cfgloop.h.
5170         * unroll.c: Include cfgloop.h.
5171         * tracer.c (tracer): Modified.
5172
5173 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
5174
5175         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
5176
5177 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
5178
5179         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
5180         * configure: Regenerate.
5181
5182         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
5183         (tls_symbolic_reference_mentioned_p): Add prototype.
5184         (s390_tls_get_offset): Add prototype.
5185         (emit_pic_move): Remove prototype, replace by ...
5186         (emit_symbolic_move): .. this new prototype.
5187
5188         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
5189         (tls_model_chars): New global variable.
5190         (s390_encode_section_info): Encode TLS model.
5191         Use targetm.binds_local_p to check for local symbols.
5192         (s390_strip_name_encoding): New function.
5193         (TARGET_STRIP_NAME_ENCODING): Define.
5194
5195         (get_thread_pointer): New function.
5196         (legitimize_tls_address): New function.
5197         (legitimize_address): Call it.
5198         (emit_pic_move): Remove, replace by ...
5199         (emit_symbolic_move): ... this new function.
5200
5201         (larl_operand): Handle TLS operands.
5202         (legitimate_constant_p): Likewise.
5203         (s390_decompose_address): Likewise.
5204         (s390_cannot_force_const_mem): New function.
5205         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
5206
5207         (s390_output_symbolic_const): Handle TLS unspecs.
5208         (print_operand): New code 'J'.
5209         (machine_function): Add struct member 'some_ld_name'.
5210         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
5211
5212         (enum s390_builtin): New type.
5213         (code_for_builtin_64, code_for_builtin_31): New global variables.
5214         (s390_init_builtins, s390_expand_builtin): New functions.
5215         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5216
5217         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
5218         (ASM_OUTPUT_LABELREF): Define.
5219         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
5220
5221         * config/s390/s390.md: Define TLS UNSPEC constants.
5222         ("movdi", "movsi"): Handle TLS operands.
5223         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
5224         ("*tls_load_64", "*tls_load_31"): New insns.
5225         ("call_value_tls", "call_value_tls_exp"): New expanders.
5226         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
5227         "bas_tls_64", "bas_tls_31"): New insns.
5228
5229 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
5230
5231         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
5232         spe ABI is configured, if requested.
5233
5234 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5235
5236         * doc/passes.texi: Fix typo.
5237
5238 2003-01-24  Andreas Schwab  <schwab@suse.de>
5239
5240         * stor-layout.c (excess_unit_span): Only define if used.
5241
5242 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
5243
5244         * gcc/doc/invoke.texi (Optimization Options): List -O levels
5245         for each optimization flag.
5246
5247 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
5248
5249         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
5250
5251 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5252
5253         * doc/bugreport.texi: Use @command instead of @code for commands.
5254         * doc/collect2.texi: Likewise.
5255         * doc/headerdirs.texi: Likewise.
5256         * doc/invoke.texi: Likewise.
5257         * doc/standards.texi: Likewise.
5258         * doc/tm.texi: Likewise.
5259         * doc/trouble.texi: Likewise.
5260
5261 2003-01-24  Nick Clifton  <nickc@redhat.com>
5262
5263         * config/arm/arm.c (use_return_insn): Do not use a single return
5264         instruction for interrupt handelrs which have to create a stack
5265         frame.
5266         (arm_expand_prologue): Do not pre-bias the return address of
5267         interrupt handlers which create a stack frame.
5268
5269 2003-01-24  Nick Clifton  <nickc@redhat.com>
5270
5271         * Add sh2e support:
5272
5273         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
5274
5275                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
5276                 med_cbranches.  Fix logic in short_cbranches.
5277
5278         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
5279
5280                 * config/sh/sh.md (delay for cbranch): Don't annul delay
5281                 slots on SH2e.
5282                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
5283                 cbranch with unfilled delay slot on SH2e.
5284                 (output_branch): Fill with a nop the delay slot of a
5285                 branch that required a delay slot but didn't get one.
5286
5287         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
5288
5289                 * doc/invoke.texi (SH options): Document -m2e.
5290                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
5291                 * config/sh/lib1funcs.asm: Likewise.
5292                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
5293                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
5294                 not __sh1__.
5295                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
5296                 SH2E up.
5297                 (SH3E_BIT): Renamed to...
5298                 (SH_E_BIT): ... this.  Replace all uses.
5299                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
5300                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
5301                 (TARGET_SWITCHES): Added 2e.
5302                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
5303                 (processor_type): Added PROCESSOR_SH2E.
5304                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
5305                 TARGET_SH2E, except in sqrtsf2_i.
5306                 (attribute cpu): Added sh2e.
5307                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
5308                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
5309                 * config.gcc: Add sh2e target support.
5310
5311 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
5312
5313         Rename -W to -Wextra.
5314         * c-decl.c:  Update comments.
5315         * c-typeck.c:  Likewise.
5316         * flags.h:  Likewise.
5317         * function.c:  Likewise.
5318         * stmt.c:  Likewise.
5319         * toplev.c:  Update comments.
5320         (W_options):  Add 'extra'.
5321         (display_help):  Remove '-W'.
5322         (decode_W_option):  Special warn_uninitialized treatment in the case
5323         of -Wextra.
5324         * doc/invoke.texi:  Update with new entries.
5325
5326 2003-01-23  Richard Henderson  <rth@redhat.com>
5327
5328         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
5329         in no-else-block case.  Add commentary.
5330
5331 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5332
5333         * configure.in: Revert last change.
5334
5335 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5336
5337         * configure.in: Don't include ansidecl.h in tconfig.h.
5338         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
5339         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
5340         ATTRIBUTE_UNUSED.
5341
5342         * configure: Regenerate.
5343
5344 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5345
5346         PR java/6748
5347         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
5348         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
5349         kernels.
5350
5351 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5352
5353         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
5354
5355 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
5356
5357         * genattrtab.c (write_attr_get): Mark 'insn' paramter
5358         as ATTRIBUTE_UNUSED.
5359
5360 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
5361
5362         * arm.c (thumb_base_register_rtx_p): New function.
5363         (thumb_index_register_rtx_p): New function.
5364         (thumb_legitimate_address_p): New function.
5365         (thumb_legitimate_offset_p): New function.
5366         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
5367         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
5368         definitions.
5369         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
5370         (THUMB_LEGITIMATE_OFFSET): Delte.
5371         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
5372         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
5373         (thumb_legitimate_offset_p): Likewise.
5374
5375 2003-01-23  Andreas Schwab  <schwab@suse.de>
5376
5377         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
5378
5379 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5380
5381         * fixinc/Makefile.in (FL_LIST): Revert last change.
5382
5383 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5384
5385         PR other/7341
5386         * invoke.texi (ftest-coverage): Fix broken cross-reference.
5387         Change @code to @command for gcov command.
5388
5389         * gcc.texi: Adjust title of gcov section.
5390         Adjust copyright.
5391         * gcov.texi: Likewise.
5392
5393 2003-01-22  Roger Sayle  <roger@eyesopen.com>
5394
5395         PR optimization/8423
5396         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
5397         its argument is constant, or 0 if !flag_gcse.
5398         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
5399         if it's argument is constant.
5400         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
5401         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
5402         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
5403         * builtins.c (purge_builtin_constant_p): New function to force
5404         instantiation of any remaining CONSTANT_P_RTX nodes.
5405         * rtl.h (purge_builtin_constant_p): Prototype here.
5406         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
5407         pass after GCSE and before loop.
5408         (flag_gcse): No longer static.
5409         * flags.h (flag_gcse): Prototype here.
5410
5411 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
5412
5413         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
5414         introduced by last change.
5415
5416 2003-01-22  Andreas Schwab  <schwab@suse.de>
5417
5418         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
5419
5420 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
5421
5422         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
5423         request a scratch reg on H8S when the shift count is 8.
5424
5425 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
5426
5427         * config/s390/s390-protos.h (preferred_la_operand_p):
5428         Remove second parameter.
5429         * config/s390/s390.c (preferred_la_operand_p): Likewise.
5430         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
5431         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
5432         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
5433         Add peepholes to transform ADD to LOAD ADDRESS.
5434
5435 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
5436
5437         * arm.c (arm_address_register_rtx_p): New function.
5438         (arm_legitimate_address_p): New function.
5439         (arm_legitimate_index_p): New function.
5440         (legitimize_pic_address): Use arm_legitimate_index_p.
5441         * arm-protos.h (arm_legtimate_address_p): Add prototype.
5442         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
5443         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
5444
5445 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
5446
5447         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
5448         * config/s390/2064.md (define_bypass): Correct 'Load' and
5449         'Load-address' bypass values.
5450
5451 2003-01-22  Andreas Schwab  <schwab@suse.de>
5452
5453         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
5454
5455 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
5456
5457         * genautomata.c (output_internal_insn_latency_func,
5458         output_print_reservation_func): Short circuit when there is no
5459         automaton to generate code for.
5460
5461 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5462
5463         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
5464         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
5465
5466 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
5467
5468         * config/rs6000/rs6000.md: Remove warning.
5469         (builtin_setjmp_receiver): Likewise.
5470         * config/darwin.c (update_stubs): Slightly improve terrible hack
5471         with identifiers.  Add comment pointing out problems with it.
5472         (update_non_lazy_ptrs): Likewise.
5473
5474 2003-01-21  Richard Henderson  <rth@redhat.com>
5475
5476         * dwarf2out.c (lookup_filename): Fix printf format warning.
5477         * system.h (fread_unlocked, fwrite_unlocked): Undef.
5478
5479         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
5480         (fixincl.o-warn, gnu-regex.o-warn): New.
5481         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
5482         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
5483         * fixinc/fixincl.c (process): Fix printf format warning.
5484
5485 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
5486
5487         * dwarf2out (output_file_names): Don't crash if called
5488         with empty file_table.
5489
5490 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
5491
5492         * genautomata.c (output_internal_insn_latency_func): Add
5493         missing break statement to generated code.
5494
5495 2003-01-21  Roger Sayle  <roger@eyesopen.com>
5496
5497         * stmt.c (same_case_target_p): New function to determine whether
5498         two case labels branch to the same target.  Split out from...
5499         (group_case_nodes): ... here.  Use same_case_target_p instead.
5500         (strip_default_case_nodes): Remove explicit case nodes
5501         that branch to the default destination.
5502         (expand_end_case_type): Call strip_default_case_nodes after
5503         group_case_nodes, to simplify the case-list before we count it.
5504         Only generate table_label RTX when actually needed.  Try to share
5505         thiscase->exit_label and thiscase->data.case_stmt.default_label
5506         when a switch has no explicit default case.  Simplify test for
5507         constant index.
5508
5509 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
5510
5511         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
5512         \t.
5513         (*negsf2_h8300hs): Likewise.
5514         (*addsi3_lshiftrt_16_zexthi): Likewise.
5515         (*iorhi3_lshiftrt_8): Likewise.
5516
5517 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
5518
5519         * dwarf2out.c (fde_table_in_use): Mark GTY.
5520         (dwarf2out_cfi_label_num): New variable, marked GTY.
5521         (dwarf2out_cfi_label): Use it instead of static label_num.
5522         * emit-rtl.c (label_num): Mark GTY.
5523
5524 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
5525
5526         * config/h8300/h8300.c (output_plussi): Support H8/300.
5527         (compute_plussi_length): Likewise.
5528         (compute_plussi_cc): Likewise.
5529         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
5530         output assembly instructions.
5531
5532 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5533
5534         * calls.c (fix_unsafe_tree): Prototype.
5535
5536         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
5537         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
5538         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
5539         c-parse.o-warn): Add -Wno-error.
5540         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
5541
5542         * configure.in (--enable-werror): Add new flag.
5543         * doc/install.texi (--enable-werror): Document.
5544         * configure: Regenerate.
5545
5546         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
5547
5548 2003-01-21  Andreas Schwab  <schwab@suse.de>
5549
5550         * genautomata.c (output_internal_insn_latency_func): Fix missing
5551         close paren in output.
5552
5553 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
5554
5555         * genautomata.c: Space savings in generated code:
5556         (output_dfa_insn_code_func): Split out the table-enlargement
5557         path to an out-of-line static function, dfa_insn_code_enlarge.
5558         (output_internal_insn_latency_func): Use a lookup table for the
5559         default latencies.
5560         (output_print_reservation_func): Use a lookup table for the
5561         strings.
5562
5563 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5564
5565         PR opt/7507
5566         * calls.c (fix_unsafe_tree): Split out from ...
5567         (expand_call): ... here.  Use it on the function address too.
5568
5569 2003-01-20  Richard Henderson  <rth@redhat.com>
5570
5571         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
5572
5573 2003-01-20  Richard Henderson  <rth@redhat.com>
5574
5575         PR opt/7154
5576         * stmt.c (expand_asm_operands): Validize memory operands.
5577
5578 2003-01-20  Richard Henderson  <rth@redhat.com>
5579
5580         PR opt/8848
5581         * ifcvt.c (noce_process_if_block): Correct arguments to
5582         modified_between_p for no-else-block case.
5583
5584 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
5585
5586         * config/h8300/h8300.c (const_costs): Remove a warning.
5587         (output_plussi): Likewise.
5588         (compute_plussi_length): Likewise.
5589         (compute_plussi_cc): Likewise.
5590
5591 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
5592
5593         * config/h8300/h8300.md (addsi_h8300): Remove the last
5594         alternative.
5595
5596 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
5597
5598         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5599
5600 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5601
5602         * system.h (__NO_STRING_INLINES): Define.
5603
5604 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5605
5606         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
5607         is not a scalar int mode.
5608
5609 2003-01-20  Roger Sayle  <roger@eyesopen.com>
5610
5611         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
5612         insn's notes following a substitution inside a libcall.
5613
5614 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
5615
5616         * configure.in: Check for system-provided 'uchar' type.
5617         * configure, config.in: Regenerate.
5618         * cpphash.h: Only typedef 'uchar' if the system doesn't.
5619
5620 2003-01-20  Richard Henderson  <rth@redhat.com>
5621
5622         * expr.h (MUST_PASS_IN_STACK): Move implementation...
5623         * calls.c (default_must_pass_in_stack): ... here.
5624
5625 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
5626
5627         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
5628
5629         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
5630
5631         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
5632         Wrap up definition of `insn_alts'.
5633
5634         * genattrtab.c (main): Wrap up `insn_alts'.
5635
5636 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5637
5638         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
5639         prototyping.
5640         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
5641
5642         * config.in, configure: Regenerate.
5643
5644 2003-01-20  Nick Clifton  <nickc@redhat.com>
5645
5646         * config/arm/arm.md (sibcall_epilogue): Add an
5647         UNSPEC_PROLOGUE_USE to prevent the link register from being
5648         considered dead.
5649
5650 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
5651
5652         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
5653
5654 2003-01-20  Andreas Schwab  <schwab@suse.de>
5655
5656         * system.h: Don't declare strsignal if the decl test hasn't been
5657         run yet.
5658
5659 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
5660
5661         * config/h8300/h8300.c (notice_update_cc): Don't assume that
5662         recog_data.operands[0] is always associated with cc0.
5663
5664 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
5665
5666         * collect2.c (ldgetname): Expand declaration to prototype.
5667         * read-rtl.c (atoll): Add prototype.
5668         * system.h (strsignal): Also declare if no declaration found.
5669
5670 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
5671
5672         * config.gcc (mips64*-*-linux*): Added.
5673         * config/mips/linux64.h, config/mips/t-linux64: New file.
5674         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
5675         * config/mips/mips.c (override_options): Use it.
5676         * config/mips/mips.h (TARGET_SWITCHES): Added...
5677         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
5678         * Makefile.in (SPECS): New.
5679         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
5680         * gcc.c (process_command): Move self-spec processing past spec
5681         file loading.
5682         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
5683         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
5684         CRTSTUFF_T_CFLAGS.
5685         (SPECS): Document.
5686         * doc/invoke.texi (-mabi-fake-default): Document.
5687
5688 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
5689
5690         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
5691         z_reg, z_reg_qi): Declare static and GTY().
5692         (da_reg): Remove.
5693         (create_regs_rtx): Don't create da_reg.
5694         ("gt-m68hc11.h"): Include for GTY roots.
5695         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
5696         and GTY() here.
5697         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
5698         (m68hc11_soft_tmp_reg): Likewise.
5699         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
5700
5701 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
5702
5703         * basic-block.h: Fix comment formatting.
5704         * calls.c: Likewise.
5705         * combine.c: Likewise.
5706         * convert.c: Likewise.
5707         * gcov.c: Likewise.
5708         * haifa-sched.c: Likewise.
5709         * libgcc2.c: Likewise.
5710         * loop.c: Likewise.
5711         * profile.c: Likewise.
5712         * system.h: Likewise.
5713
5714 2003-01-18  Roger Sayle  <roger@eyesopen.com>
5715
5716         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
5717
5718 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5719
5720         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
5721
5722 2003-01-17  Dale Johannesen  <dalej@apple.com>
5723
5724         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
5725           (*floatunssidf2_internal):  Ditto.
5726
5727 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
5728
5729         * alias.c: Fix comment typos.
5730         * basic-block.h: Likewise.
5731         * c-common.c: Likewise.
5732         * c-common.h: Likewise.
5733         * c-decl.c: Likewise.
5734         * c-opts.c: Likewise.
5735         * c-pragma.c: Likewise.
5736         * c-pretty-print.h: Likewise.
5737         * cfg.c: Likewise.
5738         * cfganal.c: Likewise.
5739         * cfgbuild.c: Likewise.
5740         * cfgcleanup.c: Likewise.
5741         * cfglayout.c: Likewise.
5742         * cfgrtl.c: Likewise.
5743         * convert.c: Likewise.
5744         * cpphash.h: Likewise.
5745         * cpplex.c: Likewise.
5746         * cpplib.h: Likewise.
5747         * df.h: Likewise.
5748         * diagnostic.c: Likewise.
5749         * diagnostic.h: Likewise.
5750         * dwarf2.h: Likewise.
5751
5752 2003-01-17  Stan Shebs  <shebs@apple.com>
5753
5754         * config/darwin-protos.h: Forward-declare struct cpp_reader.
5755
5756 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
5757
5758         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
5759         mistake in last checkin.
5760
5761 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
5762
5763         * et-forest.c: Fix comment typos.
5764         * et-forest.h: Likewise.
5765         * except.c: Likewise.
5766         * expr.c: Likewise.
5767         * flags.h: Likewise.
5768         * flow.c: Likewise.
5769         * gcc.c: Likewise.
5770         * gcse.c: Likewise.
5771         * genattrtab.c: Likewise.
5772         * genautomata.c: Likewise.
5773         * gengtype.c: Likewise.
5774         * genrecog.c: Likewise.
5775         * global.c: Likewise.
5776         * gthr-rtems.h: Likewise.
5777
5778 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5779
5780         * i386.c (x86_function_profiler): Fix format specifier.
5781
5782 2003-01-17  Richard Henderson  <rth@redhat.com>
5783
5784         * gengtype.c (walk_type): Allow paramN_is.
5785
5786 2003-01-17  Nick Clifton  <nickc@redhat.com>
5787
5788         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
5789
5790 2003-01-16  Richard Henderson  <rth@redhat.com>
5791
5792         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
5793
5794 2003-01-16  Richard Henderson  <rth@redhat.com>
5795
5796         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
5797         (alpha_next_sequence_number): Likewise.
5798         (alpha_this_literal_sequence_number): Likewise.
5799         (alpha_this_gpdisp_sequence_number): Likewise.
5800         (struct alpha_funcs, alpha_funcs_num): Likewise.
5801         (struct alpha_links): Fix branch merge error.
5802         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
5803
5804 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
5805
5806         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
5807         R. Ghazi.
5808
5809 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
5810
5811         * ifcvt.c: Fix comment typos.
5812         * lcm.c: Likewise.
5813         * libgcc2.c: Likewise.
5814         * local-alloc.c: Likewise.
5815         * loop.c: Likewise.
5816         * predict.c: Likewise.
5817         * ra-build.c: Likewise.
5818         * ra.c: Likewise.
5819         * ra-colorize.c: Likewise.
5820         * ra.h: Likewise.
5821         * ra-rewrite.c: Likewise.
5822         * regmove.c: Likewise.
5823         * reload.h: Likewise.
5824         * rtlanal.c: Likewise.
5825         * toplev.c: Likewise.
5826         * tree.h: Likewise.
5827         * unwind-dw2-fde-glibc.c: Likewise.
5828         * vmsdbgout.c: Likewise.
5829
5830 2003-01-16  Richard Henderson  <rth@redhat.com>
5831
5832         * dwarf2out.c (struct file_table): Remove.
5833         (FILE_TABLE_INCREMENT): Remove.
5834         (file_table): Make a varray; mark for GC.  Update all users.
5835         (file_table_last_lookup_index): Extract from struct file_table.
5836         (output_file_names): Fix unsigned compare warnings.
5837         (add_name_attribute): Remove inline marker.
5838         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
5839         (lookup_filename): Don't manage size of file_table.
5840         (init_file_table): Allocate file_table with GC.
5841         (dwarf2out_init): Don't record main_input_filename here.
5842         (dwarf2out_finish): Do it here instead.
5843
5844 2003-01-16  Bruce Korb  <bkorb@gnu.org>
5845
5846         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
5847
5848 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
5849
5850         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
5851         instead of rotldi3_mextr.
5852
5853 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
5854
5855         * haifa-sched.c (move_insn): Restore moving all schedule group.
5856         (set_priorities): Restore taking SCHED_GROUP_P into account.
5857
5858         * sched-deps.c (add_dependence): Restore processing the last group
5859         insn.
5860         (remove_dependence, group_leader): Restore the functions.
5861         (set_sched_group_p): Restore adding dependencies from previous insn
5862         in the group.
5863         (compute_forward_dependences): Restore usage of group_leader.
5864
5865         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
5866         account.
5867
5868         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
5869         account.
5870         (can_schedule_ready_p): Ditto.
5871         (add_branch_dependences): Restore skipping over the group insns.
5872
5873 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
5874
5875         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
5876         68HC12 pre/post inc/dec side effects.
5877
5878 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
5879
5880         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
5881
5882 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
5883
5884         * sh.md (mshflo_w_x): Fix description of operation.
5885
5886 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
5887
5888         * config/rs6000/rs6000.h: Mention Altivec registers in
5889         commentary.  Fix typo.
5890
5891 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
5892
5893         * config/rs6000/rs6000.md (movti_string): Remove clobber.
5894         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
5895         generate PARALLEL with clobber for TARGET_POWER.
5896
5897 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5898
5899         * ra-colorize.c (colorize_one_web): Initialize variable.
5900         * regmove.c (fixup_match_1): Likewise.
5901         * reload1.c (reload_as_needed): Likewise.
5902         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
5903
5904 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5905
5906         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
5907
5908 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5909
5910         * dbxout.c (lastfile, cwd): Fix `unused' warning.
5911         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
5912         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
5913         is_main_source, file_table, decl_die_table_in_use,
5914         abbrev_die_table_in_use, line_info_table_in_use,
5915         separate_line_info_table_in_use, pubname_table_in_use,
5916         arange_table_in_use, ranges_table_in_use,
5917         current_function_has_inlines): Likewise.
5918         * flow.c (life_analysis): Likewise.
5919         * genemit.c (gen_insn): Likewise.
5920         * protoize.c (cplus_suffix): Likewise.
5921
5922         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
5923         * arm.h (ROUND_UP_WORD): Likewise.
5924
5925         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
5926         warning.
5927         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
5928         init_emit_once): Likewise.
5929         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
5930         Likewise.
5931         * function.c (assign_stack_temp_for_type): Likewise.
5932         * loop.c (loop_invariant_p): Likewise.
5933         * recog.c (push_operand): Likewise.
5934         * regclass.c (init_reg_sets_1): Likewise.
5935         * reload.c (update_auto_inc_notes): Likewise.
5936         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
5937         * stmt.c (expand_asm_operands): Likewise.
5938         * stor-layout.c (start_record_layout): Likewise.
5939
5940 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5941
5942         * config/c4x/c4x.md (epilogue): Correct last patch.
5943
5944 2003-01-15  Richard Henderson  <rth@redhat.com>
5945
5946         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
5947         also check that GP is being used.
5948         (alpha_find_lo_sum_using_gp): New.
5949         (alpha_does_function_need_gp): Use get_attr_usegp.
5950         * config/alpha/alpha-protos.h: Update.
5951         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
5952         as needed.
5953
5954 2003-01-15  Roger Sayle  <roger@eyesopen.com>
5955
5956         * gcse.c (one_cprop_pass): Change function arguments to take both
5957         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
5958         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
5959         (bypass_jumps): New function to perform separate jump bypassing pass.
5960         * rtl.h (bypass_jumps): Add function prototype.
5961         * timevar.def (TV_BYPASS): New timing variable.
5962         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
5963         (dump_file): New entry for the bypass RTL dump file.
5964         (rest_of_compilation): Insert new jump bypassing optimization
5965         pass after loop.
5966         * doc/passes.texi: Document new pass.
5967
5968 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5969
5970         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
5971         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
5972         * pa.h (TARGET_SOM_SDEF): Define.
5973         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
5974
5975 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
5976
5977         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
5978         allocate 4-bytes of locals on 68HC11.
5979         (expand_epilogue): Likewise.
5980         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
5981
5982 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
5983
5984         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
5985         and -mshort-double to the assembler to specify the ABI.
5986         (LINK_SPEC): Likewise.
5987         (CPP_SPEC): Pass HCS12 specific define.
5988         (MASK_M68S12): New define.
5989         (TARGET_M68S12): Likewise.
5990         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
5991         (TARGET_VERSION): Update.
5992         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
5993         (LINK_SPEC): Update.
5994         (ASM_SPEC): Update.
5995         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
5996         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
5997
5998 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
5999
6000         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
6001         the return code.
6002
6003 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
6004
6005         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
6006         flag before setting it.
6007
6008 2003-01-15  Roger Sayle  <roger@eyesopen.com>
6009
6010         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
6011         when loop condition is known true, i.e.  "while (1) { ... }".
6012         (genrtl_for_stmt): Similarly for "for" statements.
6013
6014 2003-01-15  Roger Sayle  <roger@eyesopen.com>
6015
6016         * real.c (real_sqrt): Return a bool result indicating whether
6017         a floating point exception or trap should be raised.
6018         * real.h (real_sqrt): Update function prototype.
6019         * builtins.c (fold_builtin): Only fold non-trapping square
6020         roots unless we're ignoring errno and trapping math.
6021
6022 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
6023
6024         * expr.h (emit_conditional_add): Add PARAMS to declaration.
6025         * gengtype-lex.l (malloc, realloc): Move defines after include of
6026         system.h.  Remove duplicate include of system.h.
6027
6028 2003-01-15  Roger Sayle  <roger@eyesopen.com>
6029
6030         PR middle-end/9009
6031         * optabs.c (expand_unop):  When manipulating the FP sign bit
6032         using integer operations, account for targets with different
6033         integer and FP word orders.
6034         (expand_abs): Likewise.
6035
6036 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
6037
6038         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
6039         file extension in section name.
6040
6041 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
6042
6043         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
6044         constant offset.
6045
6046 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
6047
6048         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
6049         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
6050         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
6051         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
6052
6053 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
6054
6055         PR f/9258
6056         * global.c (struct allocno): Add no_stack_reg.
6057         (global_conflicts): Set no_stack_reg.
6058         (find_reg): Use it.
6059
6060         * convert.c (convert_to_real): Fold - and abs only when profitable.
6061         * fold-const.c (fold): Fold truncates in - and abs.
6062
6063 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
6064
6065         Segher Boessenkool  <segher@koffie.nl>
6066
6067         * predict.c (real_inv_br_prob_base): New variable.
6068         (propagate_freq): Use multiply by reciprocal instead of
6069         division.  Don't divide by 1.0 at all.
6070         (estimate_bb_frequencies): Similar.
6071
6072 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
6073
6074         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
6075         * configure: Rebuilt.
6076
6077 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
6078
6079         * config/s390/s390.c (s390_safe_attr_type): New function.
6080         (s390_use_dfa_pipeline_interface): New function, return true for z900.
6081         (s390_issue_rate): New function.
6082         (s390_agen_dep_p): New function.
6083         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
6084         (s390_adjust_cost): Return 'cost' if new DFA is used.
6085         (s390_adjust_priority): Delete function.
6086         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
6087         * config/s390/s390.md (atype attribute): Attribute 'atype' default
6088         determined by 'op_type'.
6089         (type attribute): Added more type attributes.
6090         * config/s390/2064.md: New DFA description for z900 pipeline.
6091
6092 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
6093
6094         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
6095         forced to memory.  Fixes PR bootstrap/9036.
6096
6097         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
6098         to set $gp before the call.
6099
6100 2003-01-14  Richard Henderson  <rth@redhat.com>
6101
6102         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
6103         for force_const_mem.
6104
6105 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6106
6107         * genattr.c (main): Rearrange output to avoid prototype warning.
6108         * genautomata.c (transform_3): Fix ambiguous-else warning.
6109         * local-alloc.c (requires_inout): Add parentheses around
6110         assignment used as truth-value.
6111         * timevar.c: Move system includes above local includes.  Include
6112         toplev.h
6113         * Makefile.in (timevar.o): Depend on toplev.h.
6114
6115 2003-01-14  Denis Chertykov  <denisc@overta.ru>
6116
6117         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
6118         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
6119
6120         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
6121         attributes.
6122         (TARGET_ATTRIBUTE_TABLE): New macro.
6123         (valid_machine_type_attribute): Remove.
6124         (valid_machine_decl_attribute): Remove.
6125         (ip2k_handle_progmem_attribute): New function.
6126         (ip2k_handle_fndecl_attribute): New function.
6127
6128 2003-01-10  Andrew Haley  <aph@redhat.com>
6129
6130         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
6131         registers to be in correct order.  Add rip.
6132
6133 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
6134
6135         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
6136         (*iorsi3_and_lshiftrt_9_sb): Likewise.
6137
6138 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
6139
6140         * convert.c (strip_float_extensions):  Look for narrowest type handling
6141         FP constants.
6142
6143         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
6144         float1 CMP float2.
6145         * convert.c (strip_float_extensions): Make global.
6146         * tree.h (strip_float_extensions): Declare.
6147
6148 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6149
6150         * timevar.def: define TV_NAME_LOOKUP.
6151         * timevar.c (timevar_pop): Be verbose when aborting.
6152
6153 2003-01-13  Andreas Schwab  <schwab@suse.de>
6154
6155         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
6156         $(parsedir), just move the temporary file at the end.
6157         ($(parsedir)/gengtype-yacc.c): Likewise.
6158
6159 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
6160
6161         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
6162         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
6163         splitting.
6164         * configure: Rebuilt.
6165
6166 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6167
6168         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
6169         internal_mcount): Don't use PARAMS.
6170         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
6171         ISO C style.
6172         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
6173
6174 2003-01-13  Andreas Schwab  <schwab@suse.de>
6175
6176         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
6177         directive.
6178
6179 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
6180
6181         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
6182         (*iorsi3_and_lshiftrt_n_sb): Likewise.
6183
6184 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
6185
6186         PR c++/9264
6187         * c-lex.c (c_lex): Set the token value to error_mark_node for
6188         invalid numeric constants.
6189
6190 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6191
6192         * c-pch.c (asm_file_startpos): Change to `long'.
6193         (pch_init): Use ftell, not ftello.
6194         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
6195         Use `long' instead of `off_t'.
6196         (c_common_read_pch): Likewise.
6197         * ggc-common.c (gt_pch_save): Use long/ftell instead of
6198         off_t/ftello.
6199
6200 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
6201
6202         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
6203
6204 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
6205
6206         * arm-protos.h (struct cpp_reader): Add declaration.
6207
6208 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
6209
6210         PR target/9068
6211         * i386.c (output_fp_compare): Fix typo.
6212
6213 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
6214
6215         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
6216
6217 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
6218
6219         * Makefile.in (parsedir): New variable.
6220         (docobjdir): New variable.
6221         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
6222         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
6223         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
6224         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
6225         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
6226         Use docobjdir.
6227         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
6228         objc.maintainer-clean): Use parsedir.
6229
6230         * varasm.c (struct constant_descriptor_rtx): Remove unused
6231         `label' field.
6232
6233         * toplev.c (documented_lang_options): Document -Winvalid-pch.
6234
6235 2003-01-10  Richard Henderson  <rth@redhat.com>
6236
6237         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
6238         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
6239
6240 2003-01-10  Richard Henderson  <rth@redhat.com>
6241
6242         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
6243         not INTEGRAL_MODE_P when widening extensions.
6244
6245 2003-01-10  Richard Henderson  <rth@redhat.com>
6246
6247         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
6248
6249 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
6250
6251         * ggc-page.c (ggc_collect): Avoid overflow computing
6252         min_expand.
6253
6254         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
6255         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
6256         Remove calls.
6257         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
6258
6259 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
6260
6261         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
6262         with weird operands.
6263
6264 2003-01-10  Dale Johannesen <dalej@apple.com>
6265
6266         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
6267         parameters.  Call check_sibcall_argument_overlap if indicated.
6268         (check_sibcall_argument_overlap):  Add mark_stored_args_map
6269         parameter.  Don't mark parameter area as clobbered if not set.
6270         (expand_call):  Adjust calls to above.
6271
6272 2003-01-10 Kelley Cook <kelleycook@comcast.net>
6273
6274         * configure.in (linker read-only and read-write section mixing):
6275         Squelch some assembler warnings.
6276         * configure: Likewise.
6277
6278 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
6279
6280         * doc/invoke.texi: Document -mtune, delete -mcpu
6281         option for S/390 and zSeries.
6282         * config/s390/s390.c (s390_tune_string) New variable.
6283         (s390_cpu_string) Delete variable.
6284         (override_options): Use s390_tune_string instead of
6285         s390_cpu_string.
6286         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
6287
6288 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
6289
6290         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
6291
6292 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
6293
6294         * jump.c (next_nonnote_insn_in_loop): New function.
6295         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
6296         next_nonnote_insn.
6297         (duplicate_loop_exit_test). Likewise.
6298
6299 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
6300
6301         Merge from pch-branch:
6302
6303         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
6304
6305         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
6306         load.
6307
6308         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
6309
6310         * cpplib.c (count_registered_pragmas): New function.
6311         (save_registered_pragmas): New function.
6312         (_cpp_save_pragma_names): New function.
6313         (restore_registered_pragmas): New function.
6314         (_cpp_restore_pragma_names): New function.
6315         * cpphash.h (_cpp_save_pragma_names): Prototype.
6316         (_cpp_restore_pragma_names): Likewise.
6317         * cpppch.c (struct save_macro_item): Split from save_macro_data.
6318         (struct save_macro_data): New field 'saved_pragmas'.
6319         (save_macros): Update for changes to struct save_macro_data.
6320         (cpp_prepare_state): Call _cpp_save_pragma_names, update
6321         for changes to struct save_macro_data.
6322         (cpp_read_state): Call _cpp_restore_pragma_names, update
6323         for changes to struct save_macro_data.
6324
6325         * cpppch.c (cpp_read_state): Restore the hashtable references
6326         in the cpp_reader.
6327
6328         * tree.h (built_in_decls): Mark for PCH.
6329
6330         * dbxout.c (lastfile): Don't mark for PCH.
6331
6332         * ggc.h: Document PCH calls into memory managers.
6333
6334         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6335
6336         * doc/invoke.texi (Precompiled Headers): Document the
6337         directory form of PCH.
6338         * cppfiles.c (validate_pch): New function.
6339         (open_file_pch): Search suitably-named directories for PCH files.
6340
6341         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
6342
6343         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
6344         reorder options.
6345         (Type Information): Mention that the information is also
6346         used to implement PCH.
6347         * doc/passes.texi (Passes): Improve documentation of
6348         language-specific files.
6349
6350         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
6351
6352         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
6353         (struct walk_type_data): Add reorder_fn field.
6354         (walk_type): Process 'reorder' option.
6355         (write_types_process_field): Reorder parameters to gt_pch_note_object,
6356         call reorder_note_routine.
6357         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
6358         (ggc_wtd): Update for change to struct write_types_data.
6359         (pch_wtd): Likewise.
6360         * ggc.h (gt_pch_note_object): Reorder parameters.
6361         (gt_handle_reorder): New definition.
6362         (gt_pch_note_reorder): New prototype.
6363         * ggc-common.c (struct ptr_data): Add reorder_fn.
6364         (gt_pch_note_object): Reorder parameters.
6365         (gt_pch_note_reorder): New.
6366         (gt_pch_save): Call reorder_fn.
6367         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
6368
6369         * dbxout.c (cwd): Don't mark for PCH.
6370
6371         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
6372
6373         * gengtype.c (finish_root_table): Fix some warnings.
6374         (write_root): Handle TYPE_STRING.
6375         * ggc.h (gt_ggc_m_S): Add prototype.
6376         * stringpool.c (gt_ggc_m_S): New function.
6377
6378         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
6379
6380         * dwarf2out.c (dw2_string_counter): New.
6381         (AT_string_form): Use it.
6382         (same_dw_val_p): Update for removal of hashtable.h hash tables.
6383
6384         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
6385
6386         * dbxout.c: Include gt-dbxout.h.
6387         (lastfile): Mark for PCH/GGC.
6388         (cwd): Likewise.
6389         (struct typeinfo): Likewise.
6390         (typevec): Likewise.
6391         (typevec_len): Likewise.
6392         (next_type_number): Likewise.
6393         (struct dbx_file): Likewise.
6394         (current_file): Likewise.
6395         (next_file_number): Likewise.
6396         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
6397         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
6398         (dbxout_end_source_file): Don't free struct dbx_file.
6399         (dbxout_type): Use GGC to allocate typevec.
6400         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
6401         (GTFILES): Add dbxout.c.
6402         (gt-dbxout.h): New rule.
6403
6404         * Makefile.in (c-pch.o): Add debug.h as dependency.
6405         * c-pch.c: Include debug.h.
6406         (pch_init): Call start_source_file to keep nesting right.
6407         (c_common_read_pch): Add orig_name parameter.  Call
6408         start_source_file debug hook.  Call end_source_file debug hook.
6409         * c-common.h (c_common_read_pch): Update prototype.
6410         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
6411         callback.
6412         * cppfiles.c (struct include_file): Add new field `header_name'.
6413         (find_or_create_entry): Default it to `name'.
6414         (open_file_pch): Set it to the original header file searched for.
6415         (stack_include_file): Don't stack an empty buffer, just handle
6416         PCH files immediately.  Pass header_name field to read_pch callback.
6417
6418         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
6419
6420         * function.c (funcdef_no): Mark to be saved in a PCH.
6421
6422         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
6423
6424         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
6425
6426         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
6427
6428         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
6429
6430         * optabs.h (code_to_optab): Add GTY marker.
6431
6432         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
6433
6434         * Makefile.in (GTFILES): Add cpplib.h.
6435         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
6436         * c-decl.c (build_compound_literal): Don't use var_labelno.
6437         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
6438         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
6439         * varasm.c (const_labelno): Use gengtype to mark.
6440         (var_labelno): Likewise.
6441         (in_section): Likewise.
6442         (in_named_name): Likewise.
6443         (struct in_named_entry): Likewise.
6444         (in_named_htab): Likewise.
6445         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
6446         (init_varasm_once): Use GGC to allocate in_named_htab.
6447         * config/darwin.c (current_pic_label_num): Mark for PCH.
6448
6449         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
6450
6451         * ggc-simple.c (init_ggc_pch): New stub procedure.
6452         (ggc_pch_count_object): Likewise.
6453         (ggc_pch_total_size): Likewise.
6454         (ggc_pch_this_base): Likewise.
6455         (ggc_pch_alloc_object): Likewise.
6456         (ggc_pch_prepare_write): Likewise.
6457         (ggc_pch_write_object): Likewise
6458         (ggc_pch_finish): Likewise.
6459         (ggc_pch_read): Likewise.
6460
6461         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
6462
6463         * c-pch.c (c_common_write_pch): Write the macro definitions after
6464         the GCed data.
6465         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
6466         definitions after the GCed data.
6467         * cpplib.c (save_macros): New.
6468         (reset_ht): New.
6469         (cpp_write_pch_deps): Split out of cpp_write_pch.
6470         (cpp_write_pch_state): Split out of cpp_write_pch.
6471         (cpp_write_pch): Delete.
6472         (struct save_macro_data): Delete.
6473         (cpp_prepare_state): New.
6474         (cpp_read_state): Erase and restore initial macro definitions.
6475         * cpplib.h (struct save_macro_data): Forward-declare.
6476         (cpp_write_pch_deps): Prototype.
6477         (cpp_write_pch_state): Prototype.
6478         (cpp_write_pch): Delete prototype.
6479         (cpp_prepare_state): Prototype.
6480         (cpp_read_state): Add fourth argument.
6481
6482         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
6483
6484         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
6485         (write_array): Remove warning.
6486
6487         * gengtype.c (contains_scalar_p): New.
6488         (finish_root_table): Add the table to all languages, even if it's
6489         empty.
6490         (write_roots): Output gt_pch_scalar_rtab.
6491         * ggc-common.c (gt_pch_save): Write out scalars.
6492         (gt_pch_restore): Read scalars back.
6493
6494         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
6495         (struct page_entry): Delete pch_page field.
6496         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
6497         (clear_marks): Likewise.
6498         (sweep_pages): Likewise.
6499         (poison_pages): Likewise.
6500         (ggc_print_statistics): Likewise.
6501         (ggc_pch_read): Don't free objects read from a PCH.
6502         Properly set up in_use_p and page_tails.
6503
6504         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
6505
6506         * gengtype.c (struct write_types_data): New.
6507         (struct walk_type_data): Make `cookie' const; add extra
6508         prev_val item; add `orig_s' field.
6509         (walk_type): Update prev_val[3].
6510         (write_types_process_field): New.
6511         (write_func_for_structure): Take write_types_data structure.
6512         (write_types): New.
6513         (ggc_wtd): New.
6514         (pch_wtd): New.
6515         (write_types_local_process_field): New.
6516         (gc_mark_process_field): Delete.
6517         (write_local_func_for_structure): New.
6518         (gc_mark_func_name): Delete.
6519         (write_gc_types): Delete.
6520         (write_local): New.
6521         (finish_root_table): Don't include 'ggc_' in PFX.
6522         (write_root): Rename from write_root.  Fill pchw field of structures.
6523         (write_array): New.
6524         (write_roots): Rename from write_gc_roots.  Split out to write_array.
6525         Update to changes to other routines.  Write gt_pch_cache_rtab table.
6526         (main): Write PCH walking routines.
6527         * ggc-common.c: Include toplev.h, sys/mman.h.
6528         (ggc_mark_roots): For cache hashtables, also mark the hash table
6529         and the array of entries.
6530         (saving_htab): New.
6531         (struct ptr_data): New.
6532         (POINTER_HASH): New.
6533         (gt_pch_note_object): New.
6534         (saving_htab_hash): New.
6535         (saving_htab_eq): New.
6536         (struct traversal_state): New.
6537         (call_count): New.
6538         (call_alloc): New.
6539         (compare_ptr_data): New.
6540         (relocate_ptrs): New.
6541         (write_pch_globals): New.
6542         (struct mmap_info): New.
6543         (gt_pch_save): New.
6544         (gt_pch_restore): New.
6545         * ggc-page.c (ROUND_UP_VALUE): New.
6546         (ROUND_UP): New.
6547         (struct page_entry): Add field `pch_page'.
6548         (init_ggc): Use ROUND_UP.
6549         (struct ggc_pch_data): Declare.
6550         (init_ggc_pch): New.
6551         (ggc_pch_count_object): New.
6552         (ggc_pch_total_size): New.
6553         (ggc_pch_this_base): New.
6554         (ggc_pch_alloc_object): New.
6555         (ggc_pch_prepare_write): New.
6556         (ggc_pch_write_object): New.
6557         (ggc_pch_finish): New.
6558         (ggc_pch_read): New.
6559         * ggc.h (gt_pointer_operator): New.
6560         (gt_note_pointers): New.
6561         (gt_pch_note_object): New prototype.
6562         (gt_pointer_walker): New.
6563         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
6564         (LAST_GGC_ROOT_TAB): Update.
6565         (gt_pch_cache_rtab): Declare.
6566         (gt_pch_scalar_rtab): Declare.
6567         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
6568         (LAST_GGC_CACHE_TAB): Update.
6569         (gt_pch_save_stringpool): Declare.
6570         (gt_pch_restore_stringpool): Declare.
6571         (gt_pch_p_S): Declare.
6572         (gt_pch_n_S): Declare.
6573         (struct ggc_pch_data): Forward-declare.
6574         (init_ggc_pch): Declare.
6575         (ggc_pch_count_object): Declare.
6576         (ggc_pch_total_size): Declare.
6577         (ggc_pch_this_base): Declare.
6578         (ggc_pch_alloc_object): Declare.
6579         (ggc_pch_prepare_write): Declare.
6580         (ggc_pch_write_object): Declare.
6581         (ggc_pch_finish): Declare.
6582         (ggc_pch_read): Declare.
6583         (gt_pch_save): Declare.
6584         (gt_pch_restore): Declare.
6585         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
6586         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
6587         const_double_htab, mem_attrs_htab using GGC.
6588         * c-pch.c: Include ggc.h.
6589         (pch_init): Allow reading PCH file back.
6590         (c_common_write_pch): Call gt_pch_save.
6591         (c_common_read_pch): Call gt_pch_restore.
6592         * c-parse.in (init_reswords): Delete now-untrue comment.
6593         Allocate ridpointers using GGC.
6594         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
6595         calling expand_deferred_fns.
6596         * c-common.h (ridpointers): Mark for GTY machinery.
6597         * Makefile.in (stringpool.o): Update dependencies.
6598         (c-pch.o): Update dependencies.
6599         (ggc-common.o): Update dependencies.
6600         * stringpool.c: Include gt-stringpool.h.
6601         (gt_pch_p_S): New.
6602         (gt_pch_n_S): New.
6603         (struct string_pool_data): New.
6604         (spd): New.
6605         (gt_pch_save_stringpool): New.
6606         (gt_pch_restore_stringpool): New.
6607         * tree.c (init_ttree): Make type_hash_table allocated using GC.
6608
6609         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
6610
6611         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
6612         (output_mangled_typename): Don't pass size_t to printf.
6613
6614         * tree.h (union tree_type_symtab): Add tag to `address' field.
6615         (union tree_decl_u2): Add tag to 'i' field.
6616         * varasm.c (union rtx_const_un): Add tags to all fields.
6617         * gengtype.c (struct walk_type_data): New.
6618         (output_escaped_param): Take struct walk_type_data parameter.
6619         (write_gc_structure_fields): Delete.
6620         (walk_type): New.
6621         (write_gc_marker_routine_for_structure): Delete.
6622         (write_func_for_structure): New.
6623         (gc_mark_process_field): New.
6624         (gc_mark_func_name): New.
6625         (gc_counter): Delete.
6626         (write_gc_types): Use write_func_for_structure.
6627         (write_gc_roots): Use walk_type.
6628
6629         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
6630
6631         * ggc-common.c (ggc_mark_roots): Delete 'x'.
6632         (ggc_splay_dont_free): Fix warning about unused 'x'.
6633         (ggc_print_common_statistics): Remove warnings.
6634
6635         2002-10-01  Mike Stump  <mrs@apple.com>
6636
6637         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
6638         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
6639
6640         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
6641             Catherine Moore  <clm@redhat.com>
6642
6643         * Makefile (c-pch.o): Update dependencies.
6644         (LIBCPP_OBJS): Add cpppch.o.
6645         (cpppch.o): New.
6646         * c-common.c (c_common_init): Don't call pch_init here.
6647         * c-common.h (c_common_read_pch): Update prototype.
6648         * c-lex.c (c_common_parse_file): Call pch_init here.
6649         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
6650         (c_common_decode_option): Handle them.
6651         * c-pch.c: Include c-pragma.h.
6652         (save_asm_offset): Delete.
6653         (pch_init): Move contents of save_asm_offset into here, call
6654         cpp_save_state.
6655         (c_common_write_pch): Call cpp_write_pch.
6656         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
6657         cpp_valid_state.
6658         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
6659         * cppfiles.c (stack_include_file): Update for change to
6660         parameters of cb.read_pch.
6661         * cpphash.h (struct cpp_reader): Add `savedstate' field.
6662         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
6663         `restore_pch_deps' fields.
6664         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
6665         (cpp_save_state): Prototype.
6666         (cpp_write_pch): Prototype.
6667         (cpp_valid_state): Prototype.
6668         (cpp_read_state): Prototype.
6669         * cpppch.c: New file.
6670         * flags.h (version_flag): Remove prototype.
6671         * mkdeps.c (deps_save): New.
6672         (deps_restore): New.
6673         * mkdeps.h (deps_save): Prototype.
6674         (deps_restore): Prototype.
6675         * toplev.c (late_init_hook): Delete.
6676         (version_flag): Make static again.
6677         (compile_file): Don't call late_init_hook.
6678         * toplev.h (late_init_hook): Delete.
6679         * doc/cppopts.texi: Document -fpch-deps.
6680         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
6681
6682         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
6683
6684         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
6685         callers.
6686         (c_common_valid_pch): Rename from c_valid_pch, change callers.
6687         (c_common_read_pch): Rename from c_read_pch, change callers.
6688
6689         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
6690         a space between it and its argument.
6691
6692         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
6693
6694         * c-pch.c: New file.
6695         * toplev.h (late_init_hook): Declare.
6696         * toplev.c (late_init_hook): Define.
6697         (version_flag): Make globally visible.
6698         (compile_file): Call late_init_hook.
6699         (init_asm_output): Make output file seekable.
6700         * gcc.c (default_compilers): Update c-header rule.
6701         * flags.h (version_flag): Declare.
6702         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
6703         fields.
6704         * cppfiles.c (struct include_file): Add 'pch' field.
6705         (INCLUDE_PCH_P): New.
6706         (open_file_pch): New.
6707         (stack_include_file): Handle PCH files specially.
6708         (find_include_file): Call open_file_pch instead of open_file.
6709         (_cpp_read_file): Explain why open_file is used instead of
6710         open_file_pch.
6711         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
6712         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
6713         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
6714         in cpplib callbacks.
6715         * c-common.c (pch_file): Correct comment.
6716         (allow_pch): Define.
6717         (c_common_init): Call pch_init.
6718         * c-common.h (allow_pch): Declare.
6719         (pch_init): Declare.
6720         (c_valid_pch): Declare.
6721         (c_read_pch): Declare.
6722         (c_write_pch): Declare.
6723         * Makefile.in (c-pch.o): New.
6724         (C_AND_OBJC_OBJS): Add c-pch.o.
6725         * doc/invoke.texi (Precompiled Headers): Add index entries,
6726         complete truncated paragraph.
6727
6728         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
6729
6730         * c-common.c: (pch_file): Define.
6731         * c-common.h (pch_file): Declare.
6732         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
6733         (missing_arg): Require --output-pch= to have an argument.
6734         (c_common_decode_option): Handle --output-pch=.
6735         * gcc.c: Document new %V.
6736         (default_compilers): Handle compiling C header files.
6737         (do_spec_1): Implement %V.
6738         (main): Handle "gcc foo.h" without trying to run linker.
6739         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
6740         (Overall Options): Document what the driver does with header files,
6741         document new -x option possibilities.
6742         (Invoking G++): More documentation for PCH.
6743         (Precompiled Headers): New.
6744
6745         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
6746
6747         * ggc.h: Don't include varray.h.  Rearrange functions to be more
6748         organized.
6749         (ggc_add_root): Delete.
6750         (ggc_mark_rtx): Delete.
6751         (ggc_mark_tree): Delete.
6752         (struct ggc_statistics): Remove contents.
6753         * ggc-common.c: Remove unneeded includes.
6754         (struct ggc_root): Delete.
6755         (roots): Delete.
6756         (ggc_add_root): Delete.
6757         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
6758         (ggc_print_common_statistics): Remove most of the contents.
6759         * Makefile.in (GGC_H): No longer uses varray.h.
6760         (ggc-common.o): Update dependencies.
6761         (c-parse.o): Add varray.h to dependencies.
6762         (c-common.o): Add varray.h.
6763         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
6764         (mark_ident_hash): Rename to ggc_mark_stringpool.
6765         (init_stringpool): Don't use ggc_add_root.
6766         * c-parse.in: Include varray.h.
6767         * c-common.c: Include varray.h.
6768         * objc/Make-lang.in (objc-act.o): Add varray.h.
6769         * objc/objc-act.c: Include varray.h.
6770
6771         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
6772
6773         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
6774         (dw_cfi_oprnd1_desc): Likewise.
6775
6776         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
6777
6778         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
6779         move out of ifdef.
6780         (alpha_links): Use gengtype to mark; move out of ifdef.
6781         (mark_alpha_links_node): Delete.
6782         (mark_alpha_links): Delete.
6783         (alpha_need_linkage): Use GGC to allocate splay tree, struct
6784         alpha_links, strings.  Don't use ggc_add_root.
6785         * ggc-common.c (ggc_splay_alloc): New.
6786         (ggc_splay_dont_free): New.
6787         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
6788         (ggc_mark_tree): Likewise.
6789         (splay_tree_new_ggc): New.
6790         (ggc_splay_alloc): Declare.
6791         (ggc_splay_dont_free): Declare.
6792         * dwarf2asm.c: Include gt-dwarf2asm.h.
6793         (mark_indirect_pool_entry): Delete.
6794         (mark_indirect_pool): Delete.
6795         (indirect_pool): Use gengtype to mark.
6796         (dw2_force_const_mem): Don't use ggc_add_root.
6797         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
6798         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
6799         (gt-dwarf2asm.h): Depend on s-gtype.
6800
6801         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
6802
6803         * tree.h (union tree_type_symtab): Mark `die' field.
6804         * Makefile.in (dwarf2out.o): Update dependencies.
6805         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
6806         hash tables.
6807         (dw_cfi_oprnd1_desc): New function.
6808         (dw_cfi_oprnd2_desc): New function.
6809         (indirect_string_alloc): Delete.
6810         (debug_str_do_hash): New function.
6811         (debug_str_eq): New function.
6812         (mark_limbo_die_list): Delete.
6813         (dwarf2out_init): Don't call ggc_add_root.
6814
6815 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
6816
6817         The following changes are merged from itanium-sched-branch:
6818
6819         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
6820
6821         * doc/md.texi: Clarify assignment of units to automata description.
6822
6823         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
6824
6825         * genautomata.c (unit_decl): Remove members
6826         `the_same_automaton_unit' and
6827         `the_same_automaton_message_reported_p'.
6828         (process_unit_to_form_the_same_automaton_unit_lists,
6829         form_the_same_automaton_unit_lists_from_regexp,
6830         form_the_same_automaton_unit_lists, the_same_automaton_lists):
6831         Remove them.
6832         (annotation_message_reported_p): New global variable.
6833         (check_unit_distribution_in_reserv,
6834         check_regexp_units_distribution): New functions.
6835         (check_unit_distributions_to_automata): Rewrite it.
6836
6837         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
6838
6839         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
6840         Use continue instead of break if cycle is too big.
6841
6842         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
6843
6844         * genautomata.c (check_unit_distributions_to_automata): Output at
6845         most one message for a unit.
6846         (process_unit_to_form_the_same_automaton_unit_lists): Check
6847         automaton of units instead of units themself.
6848
6849         * doc/md.texi: Describe the constraint about assigning unit to
6850         automata.
6851
6852         2002-12-20  Jan Hubicka  <jH@suse.cz>
6853                     Vladimir Makarov  <vmakarov@redhat.com>
6854
6855         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
6856         and `in_set_p'.
6857         (gen_cpu_unit): Initialize the new members.
6858         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
6859         up `min_occ_cycle_num'.
6860         (evaluate_max_reserv_cycles): Change the function call.
6861         (CLEAR_BIT): New macro.
6862         (states_union, state_shift): Use the mask.
6863         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
6864         (form_reservs_matter): New function.
6865         (make_automaton): Call the function and use the mask.
6866         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
6867         account.
6868
6869         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
6870
6871         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
6872
6873         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
6874
6875         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
6876         for Itanium.
6877
6878         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
6879
6880         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
6881         default cpu.
6882
6883         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
6884                 2002-10-31  Dale Johannesen <dalej@apple.com>
6885
6886         * haifa-sched.c (find_set_reg_weight): New function.
6887         (find_insn_reg_weight): Use the new function.
6888         (schedule_block): Do sorting ready queue always
6889         after insn issue.
6890
6891         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
6892
6893         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
6894
6895         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
6896
6897         * haifa-sched.c (choice_entry): New structure.
6898         (choice_stack, cycle_issued_insns): New variables.
6899         (max_issue): Rewrite it.
6900         (choose_ready): Set up ready_try for unknown insns too.
6901         (schedule_block): Allocate and free choice_stack.  Set up
6902         and modify cycle_issued_insns.
6903
6904         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
6905         with and without filling the bundle.
6906         (bundling): Combine calls of issue_nops_and_insn.
6907
6908         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
6909
6910         * config/ia64/itanium1.md: New file.
6911
6912         * config/ia64/itanium2.md: New file.
6913
6914         * config/ia64/ia64.md: Move DFA descriptions into the new files.
6915         Remove the old pipeline description.
6916
6917         * config/ia64/ia64.c (ia64_override_options): Add aliases of
6918         itanium processor names.
6919
6920         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
6921
6922         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
6923         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
6924
6925         * config/ia64/ia64.md: Add descriptions for Itanium2.
6926
6927         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
6928
6929         * config/ia64/ia64.h (processor_type): New enumeration.
6930         (ia64_tune, ia64_tune_string): New external declarations.
6931         (TARGET_OPTIONS): Add option `tune='.
6932
6933         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
6934         variables.
6935         (ia64_override_options): Set up `ia64_tune'.
6936         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
6937         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
6938         (bundling): Add nops for MM-insns only for Itanium.
6939         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
6940         Itanium.
6941
6942         * config/ia64/ia64.md (cpu): New attribute.
6943         (DFA description): Enable it only for Itanium.
6944
6945         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
6946                     Richard Henderson  <rth@redhat.com>
6947
6948         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
6949         MASK_EARLY_STOP_BITS.
6950         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
6951         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
6952         `early-stop-bits'.
6953
6954         * config/ia64/ia64.c (ia64_dfa_new_cycle,
6955         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
6956         instead of TARGET_TUNE_STOP_BITS.
6957
6958         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
6959         `-mearly-stop-bits'.
6960
6961         * config/ia64/ia64.c (automata_option "v"): Comment it.
6962
6963         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
6964
6965         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
6966         New macros.
6967         (TARGET_SWITCHES): Add entries for the new option.
6968
6969         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
6970         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
6971         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
6972         global variables.
6973         (ia64_sched_reorder2): Set up `clocks'.
6974         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
6975         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
6976         queue when TARGET_TUNE_STOP_BITS.
6977         (bundling): Insert additional nops for MM-insns.
6978         (final_emit_insn_group_barriers): Add insertion of stop bits
6979         according `stops_p'.
6980         (ia64_reorg): Initiate the new varibales.
6981
6982         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
6983
6984         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
6985
6986         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
6987         insns at the end of block insn scheduling.
6988
6989         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
6990
6991         * sched-deps.c (remove_dependence, group_leader): Remove it.
6992         (add_dependence): Add dependence to group leader to.
6993         (set_sched_group_p): Add dependence to the first insn of the
6994         schedule group too.
6995         (sched_analyze_insn): Make dependence to jump as anti-dependence.
6996         Change true dependence by anti-dependence when
6997         `reg_pending_barrier'.
6998
6999         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
7000         add_branch_dependences): Ignore schedule groups.
7001
7002         * sched-ebb.c (init_ready_list): Ditto.
7003
7004         * (move_insn, set_priorities): Ditto.
7005
7006         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
7007         flag is clear after reload.
7008         (adjust_cost): Change cost only for output dependencies.
7009
7010         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
7011
7012         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
7013
7014         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
7015
7016         * target.h (gcc_target): Add member
7017         `dependencies_evaluation_hook'.
7018
7019         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
7020         macro.
7021         (TARGET_SCHED): Add initiatialization of the new member.
7022
7023         * sched-ebb.c: Include `target.h'.
7024         (schedule_ebb): Call `dependencies_evaluation_hook'.
7025
7026         * sched-rgn.c (schedule_region): Call
7027         `dependencies_evaluation_hook'.
7028
7029         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
7030         New macro.
7031         (ia64_dependencies_evaluation_hook): New function.
7032
7033         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
7034         Describe the new hook.
7035
7036         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
7037
7038         * target.h (gcc_target): Add members
7039         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
7040
7041         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
7042         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
7043         macros.
7044         (TARGET_SCHED): Add initiatialization of the new members.
7045
7046         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
7047         insn scheduling too.
7048         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
7049         initialize `ready_try'.
7050         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
7051         `dfa_new_cycle' says not to do it.
7052
7053         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
7054         bundling.
7055
7056         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
7057
7058         * config/ia64/ia64.c: Include `hashtab.h'.
7059         (ia64_first_cycle_multipass_dfa_lookahead_guard,
7060         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
7061         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
7062         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
7063         bundle_state_eq_p, insert_bundle_state,
7064         initiate_bundle_state_table, finish_bundle_state_table,
7065         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
7066         get_template, get_next_important_insn, bundling): New functions.
7067         (ia64_internal_sched_reorder): Remove it.
7068         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
7069         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
7070         (ia64_safe_itanium_requires_unit0): Remove it.
7071         (group_barrier_needed_p): Place group barrier right before a real
7072         insn.
7073         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
7074         Remove them.
7075         (bundle_name): New variable.
7076         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
7077         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
7078         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
7079         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
7080         temp_dfa_state, prev_cycle_state): New global variables.
7081         (insn_matches_slot, maybe_rotate, finish_last_head,
7082         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
7083         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
7084         find_best_packet, itanium_reorder, dump_current_packet,
7085         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
7086         (sched_data, sched_ready, sched_types): Remove them.
7087         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
7088         `init_insn_group_barriers'.
7089         (ia64_sched_reorder, ia64_sched_reorder2): Call
7090         ia64_dfa_sched_reorder.
7091         (ia64_variable_issue): Rewrite it.
7092         (bundle_state): New structure.
7093         (index_to_bundle_states, bundle_states_num,
7094         allocated_bundle_states_chain, free_bundle_state_chain): New
7095         global variables.
7096         (ia64_sched_finish): Add stop bits and call `bundling' after the
7097         2nd insn scheduling.
7098         (ia64_use_dfa_pipeline_interface): Return zero always.
7099         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
7100         insn scheduling.
7101         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
7102         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
7103         (ia64_reorg): Add bundling insns.
7104
7105         * doc/tm.texi
7106         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
7107         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
7108
7109         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
7110
7111         * config/ia64/ia64.md: Add Itanium1 DFA description.
7112         (itanium_class): Add `nop' and `pre_cycle'.  Add
7113         define_function_unit for `nop'.
7114         (nop): Change attribute `itanium_class'.
7115         (pre_cycle): New define_insn.
7116
7117         * config/ia64/ia64-protos.h (bundling_p): New external variable.
7118         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
7119         ia64_produce_address_p): New function prototypes.
7120
7121         * config/ia64/ia64.c (bundling_p): New global variable.
7122         (ia64_use_dfa_pipeline_interface,
7123         ia64_first_cycle_multipass_dfa_lookahead,
7124         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
7125         functions.
7126         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
7127         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
7128         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
7129         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
7130         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
7131         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
7132         (dfa_pre_cycle_insn): New variable.
7133
7134         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
7135
7136         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
7137         constructions.
7138
7139         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
7140         New function prototypes.
7141
7142         * genattrtab.c (main): Process the new constructions.
7143
7144         * genautomata.c (gen_presence_absence_set,
7145         process_presence_absence_names, process_presence_absence_patterns,
7146         add_presence_absence, check_absence_pattern_sets): Add parameter
7147         `final_p'.
7148         (unit_decl): Add new members `final_presence_list' and
7149         `final_absence_list'.
7150         (unit_pattern_rel_decl): Add new member `final_p'.
7151         (gen_final_presence_set, gen_final_absence_set): New functions.
7152         (process_decls): Use member `final_p'.
7153         (temp_reserv): New global variable.
7154         (reserv_sets_are_intersected): Add processing `final_presence_set'
7155         and `final_absence_set'.
7156         (initiate_states): Allocate `temp_reserv'.
7157         (unit_final_presence_set_table, unit_final_absence_set_table): New
7158         gloabal variables.
7159         (initiate_presence_absence_pattern_sets): Initiate them.
7160         (NDFA_to_DFA): Fix typo.
7161         (output_description): Output `final_presence_set' and
7162         `final_absence_set'.
7163
7164         * doc/md.texi (final_presence_set, final_absence_set): Describe
7165         them.
7166
7167         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
7168
7169         * genautomata.c (transform_3): Process a missing case (nothing on
7170         unit place).
7171
7172         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
7173
7174         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
7175         comments about queried units and the minimization.
7176
7177         * doc/md.texi: Ditto.
7178
7179         * genautomata.c (create_composed_state): Return nonzero if the new
7180         state has been created.
7181         (first_cycle_unit_presence): New function.
7182         (state_is_differed): Add new parameter.  Use the new function.
7183         Take queried units into account.
7184         (partition_equiv_class): Pass additional parameter to
7185         `state_is_differed'.
7186         (merge_states): Process composed states too.
7187         (build_automaton, create_automata, output_min_issue_delay_table,
7188         output_tables, output_statistics): Output more information.
7189         (output_reserved_units_table): Use function
7190         `first_cycle_unit_presence'.
7191         (output_tables): Output table of queried units even if the
7192         minimization is switched on.
7193         (write_automata): Output code for querying units even if the
7194         minimization is switched on.
7195
7196         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
7197
7198         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
7199         syntax of the constructions.
7200
7201         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
7202         extended syntax of the constructions.
7203
7204         * genautomata.c (unit_rel_decl): Rename it to
7205         `unit_pattern_rel_decl'.
7206         (pattern_set_el, pattern_reserv): New structures.
7207         (pattern_set_el_t, pattern_reserv_t): New types.
7208         (gen_presence_absence_set): New function.
7209         (process_presence_absence): Remove it.
7210         (process_presence_absence_names,
7211         process_presence_absence_patterns): New functions.
7212         (get_presence_absence_set): Remove it.
7213         (initiate_presence_absence_sets): Rename it on
7214         `initiate_presence_absence_pattern_sets'.  Use new function
7215         `form_reserv_sets_list'.
7216         (form_reserv_sets_list, check_presence_pattern_sets,
7217         check_absence_pattern_sets, output_pattern_set_el_list): New
7218         functions.
7219         (unit_decl): Change types of members `presence_list' and
7220         `absence_list'.
7221         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
7222         (decl): Change types of members `excl', `presence', and `absence'.
7223         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
7224         at the end of the vector.
7225         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
7226         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
7227         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
7228         (gen_presence_set, gen_absence_set): Use new function
7229         `gen_presence_absence_set'.
7230         (add_presence_absence): Process `pattern_list' instead of
7231         `source_list'.
7232         (process_decls): USe new functions
7233         `process_presence_absence_names' and
7234         `process_presence_absence_patterns'.
7235         (reserv_sets_are_intersected): Use new function
7236         `check_presence_pattern_sets'.
7237         (presence_set, absence_set): Remove them.
7238         (unit_presence_set_table, unit_absence_set_table): New global
7239         variables.
7240         (output_description): Use new function
7241         `output_pattern_set_el_list'.
7242         (generate): Use `initiate_presence_absence_pattern_sets'.
7243
7244         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
7245
7246         * genattr.c (main): Add output of prototype of new interface
7247         function `dfa_clean_insn_cache'.
7248
7249         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
7250         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
7251         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
7252         the generated code.
7253         (write_automata): Call the new function.
7254
7255 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
7256
7257         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
7258         correctly.
7259
7260 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
7261
7262         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
7263
7264 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
7265
7266         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
7267         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
7268         (CONSTRAINT_LEN): Provide default definition.
7269         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
7270         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
7271         (EXTRA_CONSTRAINT_STR): Likewise.
7272         (REG_CLASS_FROM_CONSTRAINT): Define.
7273         * genoutput.c (check_constraint_len, constraint_len): New functions.
7274         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
7275         constraint / modifier.
7276         (gen_insn): Call check_constraint_len.
7277         * local-alloc.c (block_alloc): Update to use new macros / pass
7278         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
7279         * ra-build.c (handle_asm_insn): Likewise.
7280         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
7281         (constrain_operands, peep2_find_free_register): Likewise.
7282         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
7283         * regmove.c (find_matches): Likewise.
7284         * reload.c (push_secondary_reload, find_reloads): Likewise.
7285         (alternative_allows_memconst): Likewise.
7286         * reload1.c (maybe_fix_stack_asms): Likewise.
7287         (reload_cse_simplify_operands): Likewise.
7288         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
7289         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
7290         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
7291         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
7292         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
7293         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
7294
7295         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
7296
7297 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7298
7299         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
7300         length.
7301         (*extzv_1_r_h8300hs): Likewise.
7302         (*extzv_1_r_inv_h8300): Likewise.
7303         (*extzv_1_r_inv_h8300hs): Likewise.
7304
7305 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7306
7307         * config/h8300/h8300.h (PREDICATE_CODES): New.
7308
7309 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7310
7311         * config/h8300/h8300.md (*addsi3_upper): New.
7312         (*iorsi3_shift): Likewise.
7313         (two splitters): Likewise.
7314         (*addsi3_shift): Likewise.
7315         (two splitters): Likewise.
7316
7317 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
7318
7319         * Makefile.in (optabs.o): Add dependency on basic-block.h.
7320         * basic-block.h (control_flow_insn_p): Fuction was exported.
7321         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
7322         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
7323         notes only when the region is contained in a single basic block.
7324
7325 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
7326
7327         PR inline-asm/8832
7328         * tree.h (expand_asm): New prototype.
7329         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
7330         to do so.
7331         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
7332         down to expand_asm.
7333         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
7334         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
7335         (volatile_refs_p) [ASM_INPUT]: Likewise.
7336         (side_effects_p) [ASM_INPUT]: Likewise.
7337
7338 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
7339
7340         * i386.md (*mul*): FIx constraints; remove confused comment; fix
7341         athlon_decode attributes
7342         (imul/k8 optimization peep2s): New.
7343
7344         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
7345         * i386.md (type attribute): Add ssecomi.
7346         (unit, memory, prefix attributes): Handle ssecomi.
7347         (cvt?2? patterns): Fix athlon_decode attribute
7348         (comi patterns): Set attribute to ssecomi.
7349
7350         PR target/8343
7351         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
7352
7353 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
7354
7355         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
7356         that match register_operands.
7357         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
7358         register_operand the default case.
7359
7360 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
7361
7362         PR c/8032
7363         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
7364         an empty element, do not advance the pointer to unfilled
7365         fields if there are pending initializers.
7366
7367 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
7368
7369         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
7370         (install-gcc-tooldir, install-cpp, installdirs,
7371         install-common, install-driver, install-info, install-man,
7372         install-headers, install-include-dir, install-headers-tar,
7373         install-headers-cpio, install-headers-cp, install-mkheaders,
7374         install-collect2, uninstall): Prepend $(DESTDIR) to
7375         destination paths in all (un)installation commands.
7376         (install-driver): Rewrite $(LN) commands to support DESTDIR
7377         with "ln" as well as with "ln -s".
7378         (installdirs): Simply use mkinstalldirs.
7379         (install-libgcc, install-multilib): Also pass DESTDIR.
7380         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
7381         installation destination variable ldir.
7382         * config/alpha/t-osf4, config/arm/t-netbsd,
7383         config/ia64/t-hpux, config/mips/t-iris5-6,
7384         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
7385         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
7386         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
7387         in the definition of SHLIB_INSTALL.
7388         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
7389         $(libsubdir) in the installation commands.
7390
7391 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
7392
7393         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
7394         non-optimizing compile.
7395         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
7396         compile.
7397
7398 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
7399
7400         * config/i386/i386.c (ix86_attribute_table): Add new attributes
7401         ms_struct and gcc_struct.
7402         (ix86_handle_struct_attribute): New function.
7403         (ix86_ms_bitfield_layout_p): Update to take new attributes
7404         into account.
7405         * doc/extend.texi: Document new attributes.
7406         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
7407
7408 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
7409
7410         PR optimization/8750
7411         * config/i386/i386.c (ix86_expand_prologue): Don't allow
7412         scheduling pass to move insns across __alloca call.
7413
7414 2003-01-08  Dale Johannesen  <dalej@apple.com>
7415
7416         * config/rs6000/rs6000.md:  Replace *store_multiple_string
7417         with *stmsi[3-8].
7418
7419 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
7420
7421         PR target/9210
7422         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
7423         Set SYMBOL_REF_FLAG on local data sym_ref.
7424
7425 2003-01-08  Dale Johannesen  <dalej@apple.com>
7426
7427         * function.c (assign_parms):  Don't set pretend_args_size if
7428           REG_PARM_STACK_SPACE.
7429           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
7430           pretend_args_size.
7431
7432 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
7433
7434         * gcc.hlp: Delete.
7435
7436 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
7437
7438         * i386.c  (ix86_expand_int_addcc): Fix thinko.
7439
7440 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
7441
7442         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
7443         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
7444         as hook_bool_tree_hwi_hwi_tree_true.
7445         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
7446         (rs6000_emit_epilogue): Same.
7447         (rs6000_output_mi_thunk): Re-implement as RTL.
7448         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
7449         xcoffout_declare_function if any debugging enabled.
7450
7451 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
7452
7453         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
7454         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
7455         * config/mips/mips.h (enum processor_type): Rename
7456         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
7457         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
7458         Add PROCESSOR_M4K.
7459         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
7460         (ISA_MIPS32R2): New define.
7461         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
7462         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
7463         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
7464         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
7465         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
7466         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
7467         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
7468         compiling MIPS16 code.
7469         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
7470         comment.
7471         (ISA_HAS_SEB_SEH): New define.
7472         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
7473         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
7474         processor_type value renaming.  Add support for MIPS32R2.
7475         Clean up comments, and move "sb1" entry with other MIPS64 CPU
7476         entries.
7477         (override_options): Reimplement -mipsN option handling so that
7478         it will work correctly for -mips32r2.  Avoid branch-likely
7479         instructions on MIPS32R2.
7480         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
7481         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
7482         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
7483         (extendhisi2_hw, extendqisi2_hw): New.
7484         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
7485         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
7486         MIPS32R2, and MIPS64.
7487         (LINK_SPEC): Pass -mips32r2 to linker.
7488         * config/mips/t-isa3264: Built -mips32r2 multilibs.
7489         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
7490         for mips32r2 in the -march description.  Alphabetically sort
7491         CPU names in the -march description.  Add long-missed -mips32
7492         and -mips64 to MIPS option summary.
7493
7494         * config.gcc: Update copyright years to include 2003.
7495         * config/mips/mips.c: Likewise.
7496         * config/mips/mips.h: Likewise.
7497         * config/mips/mips.md: Likewise.
7498         * config/mips/netbsd.h: Likewise.
7499         * doc/invoke.texi: Likewise.
7500
7501 2003-01-08  Andreas Schwab  <schwab@suse.de>
7502
7503         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
7504         variable.
7505         * configure: Regenerated.
7506
7507 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
7508
7509         * config/h8300/h8300.c (output_logical_op): Replace byte/word
7510         extraction of det with b0, b1, w0, w2, etc.
7511         (compute_logical_op_length): Likewise.
7512         (compute_logical_op_cc): Likewise.
7513
7514 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
7515
7516         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
7517         HIGH on all variants.
7518
7519 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
7520
7521         * Makefile.in (PARTITION_H): New.
7522         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
7523         * basic-block.h: Include hard-reg-set.h.
7524
7525 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
7526
7527         * arm.h (ENABLE_XF_PATTERNS): Delete.
7528         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
7529         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
7530         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
7531         (cmpxf_trap): Delete.
7532         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
7533
7534 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
7535
7536         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
7537         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
7538         (add??cc): New expanders.
7539         * i386.c (expand_int_addcc): New function.
7540         * i386-protos.h (expand_int_addcc): Declare.
7541
7542         * alias.c (memory_modified_1): New static function.
7543         (memory_modified): New static varaible.
7544         (memory_modified_in_insn_p): New global function.
7545         * rtl.h (memory_modified_in_insn_p): Declare.
7546         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
7547         references.
7548
7549         * expr.h (emit_conditional_add): Declare.
7550
7551 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
7552
7553         PR other/8947
7554         * doc/invoke.texi (-malign-double): Explain that the option breaks
7555         binary compatibility.
7556
7557 2003-01-08  Andreas Schwab  <schwab@suse.de>
7558
7559         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
7560         should come from the generic *-*-linux* entry.
7561
7562 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
7563
7564         * cselib.c (cselib_current_insn_in_libcall): New static variable.
7565         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
7566         we are inside libcall.
7567         * cselib.h (elt_loc_list): Add in_libcall.
7568         * gcse.c (do_local_cprop): Do not copy propagate using insns
7569         in libcalls.
7570
7571 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
7572
7573         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
7574         not normally affect to issue rate.
7575
7576 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
7577
7578         * genopinit.c (optabs): Add addc_optab.
7579         * ifcvt.c (noce_try_store_flag): Rename to ...
7580         (noce_try_addcc): ... this one; handle generic conditional increment.
7581         (noce_process_if_block): Update noce_try_addcc call.
7582         * optabs.c (emit_conditional_add): New.
7583         (init_obtabs): Initialize addc_optab.
7584         * optabs.h (optab_index): Add OTI_addcc.
7585         (addcc_optab): New macro.
7586         * md.texi: Document addMcc
7587
7588         PR target/8322
7589         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
7590         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
7591         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
7592
7593         * reload1.c (delete_output_reload): Avoid repeated attempts
7594         to delete insn.
7595
7596 2003-01-07  Andreas Schwab  <schwab@suse.de>
7597
7598         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
7599         Move --enable-initfini-array check ...
7600         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
7601         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
7602         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
7603         * configure: Rebuild.
7604
7605 2003-01-07  Richard Henderson  <rth@redhat.com>
7606
7607         * alias.c (find_base_value): Only use new_reg_base_value shortcut
7608         if the register is set once.
7609
7610 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
7611
7612         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
7613         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
7614         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
7615
7616 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
7617             Sunil Davasam  <sunil.k.davasam@intel.com>
7618
7619         PR libstdc++/9076
7620         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
7621         DW_CFA_same_value, read next and ignore.
7622
7623 2003-01-07  Richard Henderson  <rth@redhat.com>
7624
7625         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
7626
7627 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
7628
7629         * cfg.c: Include alloc-pool.h
7630         (edge_pool): New pool.
7631         (bb_pool): New pool.
7632         (first_deleted_edge): Remove.
7633         (first_deleted_block): Remove.
7634         (init_flow): Alloc/free the pools.
7635         (free_edge): Use pools.
7636         (alloc_block): Ditto.
7637         (expunge_block): Ditto.
7638         (cached_make_edge): Ditto.
7639
7640         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
7641
7642 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
7643
7644         * et-forest.c: Include alloc-pool.h.
7645         (struct et_forest): Add node_pool and occur_pool.
7646         (et_forest_create): Create the new pools.
7647         (et_forest_delete): Delete them.
7648         (et_forest_add_node): Allocate and free using pools.
7649         (et_forest_add_edge): Ditto.
7650         (et_forest_remove_node): Ditto.
7651         (et_forest_remove_edge): Ditto.
7652
7653         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
7654
7655 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
7656
7657         * config/h8300/h8300.c (output_logical_op): Simplify and
7658         optimize the handling of SImode.
7659         * config/h8300/h8300.c (compute_logical_op_length): Update
7660         accordingly.
7661         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
7662
7663 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
7664
7665         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
7666         big-endian correction to indirect arguments too.
7667
7668 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
7669
7670         Segher Boessenkool  <segher@koffie.nl>
7671
7672         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
7673         (alt_reg_names): Ditto, fix formatting.
7674         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
7675
7676 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
7677
7678         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
7679         (output_logical_op): Constify intval and det.
7680         (compute_logical_length): Likewise.
7681         (compute_logical_cc): Likewise.
7682         (output_a_shift): Constify mask.
7683         (h8300_encode_label): Constify len.
7684
7685 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
7686
7687         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
7688         (h8300_expand_epilogue): Likewise.
7689
7690 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
7691
7692         Segher Boessenkool  <segher@koffie.nl>
7693
7694         * config/rs6000/altivec.md: Remove spaces from assembler
7695         instruction argument lists.
7696
7697 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7698
7699         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
7700         c4x_assembler_function_p.
7701         (c4x_null_epilogue_p): Complement return value, all uses updated.
7702         (c4x_insert_attributes): Add naked.
7703         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
7704         * doc/extend.texi: Update C4x function attributes.
7705
7706 2003-01-06  Richard Henderson  <rth@redhat.com>
7707
7708         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
7709         properly when changing "local-ness".
7710         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
7711
7712 2003-01-06  Dale Johannesen  <dalej@apple.com>
7713
7714         * config/darwin-protos.h:  Add prototypes for new section functions.
7715
7716 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
7717
7718         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
7719         to EABI.
7720
7721 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
7722
7723         * hwint.h: If the current compiler has no 64-bit type at all,
7724         make HOST_WIDEST_INT 32 bits.
7725
7726 2003-01-06  Eric Christopher  <echristo@redhat.com>
7727
7728         * config/mips/mips.md (movdf_internal2): Fix constraints.
7729
7730 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
7731
7732         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
7733
7734 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
7735
7736         * config/mips/mips.md (leadi): Use dla rather than la.
7737
7738 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
7739
7740         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
7741         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
7742
7743 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
7744
7745         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
7746         redefinition.
7747
7748 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
7749
7750         * config/h8300/h8300.md (*extzv_8_23): New.
7751
7752 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7753
7754         * pa64-hpux.h (JCR_SECTION_NAME): Define.
7755         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
7756         USE_EH_FRAME_REGISTRY when defining.
7757
7758 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
7759
7760         * config/h8300/h8300.c (output_a_shift): Do not output a
7761         variable shift.
7762         * config/h8300/h8300.md (two splitters): New.
7763
7764 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
7765
7766         * config/mips/mips.md: Disable the movstrsi define_split.
7767
7768 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7769
7770         * alloc-pool.c: Don't include "libiberty.h".
7771         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
7772         * convert.c (convert_to_real): Hide unused variable.
7773
7774 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7775
7776         * Makefile.in (gtyp-gen.h): Const-ify.
7777         * gcov-dump.c (tag_table): Likewise.
7778
7779 2003-01-04  Bruce Korb  <bkorb@gnu.org>
7780
7781         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
7782         of *both* the file name and the fix name.
7783
7784 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
7785
7786         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
7787         collect2.
7788         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
7789         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
7790         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
7791         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
7792         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
7793         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
7794         elfos.h.
7795         (EH_FRAME_IN_DATA_SECTION): Delete define.
7796         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
7797         (STARTFILE_SPEC): Use crtbegin.o.
7798         (ENDFILE_SPEC): Use crtend.o.
7799         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
7800         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
7801         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
7802         DTOR_LIST_BEGIN): Define.
7803         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
7804         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
7805         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
7806
7807 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
7808
7809         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
7810         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
7811         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
7812         Cleanup handling of replacement text.
7813         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
7814
7815 2003-01-04  Bruce Korb  <bkorb@gnu.org>
7816
7817         * fixinc/tests/base/math.h: removed obsolete results
7818         * fixinc/tests/base/stdlib.h: ditto
7819         * fixinc/tests/base/sys/param.h: ditto
7820         * fixinc/tests/base/sys/stat.h: ditto
7821         * fixinc/tests/base/time.h: ditto
7822         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
7823         * fixinc/tests/base/sys/byteorder.h: ditto
7824         * fixinc/inclhack.def: Remove superfluous backslashes
7825
7826 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
7827
7828         * config/h8300/h8300-protos.h: Add prototypes for
7829         the new functions defined below.
7830         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
7831         define.
7832         (dosize): Emit RTL instead of assembly code.
7833         (push): Likewise.
7834         (pop): Likewise.
7835         (h8300_output_function_prologue): Remove.
7836         (h8300_expand_prologue): New.
7837         (h8300_expand_epilogue): New.
7838         (h8300_output_function_epilogue): Do only the reset of
7839         pragma_saveall.
7840         * config/h8300/h8300.md (push_h8300): New.
7841         (push_h8300hs): Likewise.
7842         (pop_h8300): Likewise.
7843         (pop_h8300hs): Likewise.
7844         (*stm_h8300s_2): Change the name to stm_h8300s_2.
7845         (*stm_h8300s_3): Change the name to stm_h8300s_3.
7846         (*stm_h8300s_4): Change the name to stm_h8300s_4.
7847         (*ldm_h8300s_2): New.
7848         (*ldm_h8300s_3): Likewise.
7849         (*ldm_h8300s_4): Likewise.
7850         (return): Likewise.
7851         (*return_1): Likewise.
7852         (prologue): Likewise.
7853         (epilogue): Likewise.
7854         (monitor_prologue): Likewise.
7855
7856 2003-01-03  Dale Johannesen  <dalej@apple.com>
7857
7858         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
7859           machopic_picsymbol_stub1.
7860           (EXTRA_SECTION_FUNCTIONS):  Ditto.
7861         * rs6000/rs6000.c:  Update copyright.
7862           (machopic_output_stub):  Use them.  Remove an insn from stub code.
7863
7864 2003-01-02  Jason Merrill  <jason@redhat.com>
7865
7866         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
7867
7868         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
7869         static/external decls.
7870
7871         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
7872         outermost scope.
7873         * c-decl.c (c_make_fname_decl): Push the decls there, too.
7874
7875 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
7876
7877         * config/h8300/h8300-protos.h: Add a prototype for
7878         h8300_current_function_interrupt_function_p.
7879         * config/h8300/h8300.c (interrupt_handler): Remove.
7880         (os_task): Likewise.
7881         (monitor): Likewise.
7882         (pragma_interrupt): New.
7883         (WORD_REG_USED): Use
7884         h8300_current_function_interrupt_function_p.
7885         (dosize): Likewise.
7886         (h8300_output_function_prologue): Likewise.
7887         Do not set interrupt_handler, os_task, monitor.
7888         (h8300_output_function_prologue): Use
7889         h8300_current_function_interrupt_function_p.
7890         Do not set interrupt_handler, os_task, monitor.
7891         (h8300_current_function_interrupt_function_p): New.
7892         (h8300_pr_interrupt): Set pragma_interrupt.
7893         (h8300_insert_attributes): Reset pragma_interrupt.
7894
7895 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7896
7897         * doc/install.texi (Configuration): Fix markup for reference to
7898         gcc/config.gcc.
7899
7900 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
7901
7902         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
7903         (*iorhi3_two_qi): Likewise.
7904         (*iorsi3_zexthi): Likewise.
7905         (*xorhi3_zextqi): Likewise.
7906         (*xorsi3_zexthi): Likewise.
7907         (*xorsi3_zextqi): Likewise.
7908
7909 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
7910
7911         * config/h8300/h8300.c (stack_pointer_operand): New.
7912         (const_int_gt_2_operand): Likewise.
7913         (const_int_ge_8_operand): Likewise.
7914         * config/h8300/h8300.md (a splitter): Likewise.
7915         (a peephole2): Likewise.
7916         * config/h8300/h8300-protos.h: Add prototypes for the new
7917         functions above.
7918
7919 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
7920
7921         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
7922         objc/objc-act.h: Fix copyright years.
7923
7924 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
7925
7926         * doc/passes.texi: Fix documentation for -fssa-ccp
7927
7928 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
7929
7930         * gccbug.in: Update for new categories.
7931
7932 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
7933
7934         * config/h8300/h8300.md: Reorder some patterns.
7935
7936 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
7937
7938         * config/h8300/h8300.c (output_logical_op): Fix a warning.
7939
7940 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
7941
7942         * config/darwin-protos.h, config/c4x/c4x-protos.h,
7943         config/cris/cris-protos.h, config/i370/i370-protos.h,
7944         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
7945         config/v850/v850-protos.h: Use struct, and don't conditionally
7946         compile on GCC_C_PRAGMA_H.
7947
7948 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
7949
7950         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
7951         * config/h8300/h8300-protos.h: Likewise.
7952         * config/sh/sh-protos.h: Likewise.
7953
7954 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
7955
7956         * config/arm/arm-protos.h: Use struct cpp_reader instead of
7957         cpp_reader.
7958         * config/h8300/h8300-protos.h: Likewise.
7959         * config/sh/sh-protos.h: Likewise.
7960
7961 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
7962
7963         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
7964         arm_pr_long_calls_off): Use struct.
7965         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
7966         : Similarly.
7967         Don't include cpplib.h.
7968         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
7969         sh_pr_nosave_low_regs): Similarly.
7970
7971 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
7972
7973         * config/h8300/h8300.c: Include cpplib.h.
7974
7975 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
7976
7977         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
7978           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
7979           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
7980           "GCC" in the copyright header.
7981
7982 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
7983
7984         * c-pragma.c (c_register_pragma): New.
7985         (init_pragma): Use it.
7986         * c-pragma.h (cpp_register_pragma): Don't declare.
7987         (c_register_pragma): New.
7988         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
7989         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
7990         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
7991         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7992         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
7993         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
7994         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
7995         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
7996         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
7997         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
7998         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
7999         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
8000
8001 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
8002
8003         * config/h8300/h8300-protos.h: Update the prototypes.
8004         * config/h8300/h8300.c (const_le_2_operand): Change to
8005         const_int_le_2_operand.
8006         (const_int_le_6_operand): Change to const_int_le_6_operand.
8007         * config/h8300/h8300.md (two peepholes): Update the function
8008         names.
8009
8010 2002-12-31  Tom Tromey  <tromey@redhat.com>
8011
8012         * doc/install.texi (Testing): Fixed typo.
8013
8014 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
8015
8016         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
8017         (TRAMPOLINE_SIZE): Support the normal mode.
8018         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
8019
8020 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
8021
8022         * c-common.h (pending_lang_change): Declare.
8023
8024 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
8025
8026         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
8027         descriptions.
8028
8029 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
8030
8031         * gcc/doc/invoke.texi (Optimization Options): List the options
8032         enabled by each -O flag.
8033
8034 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8035
8036         * doc/install.texi (Configuration): Explicitly refer
8037         gcc/config.gcc for a list of cpu models.
8038
8039 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
8040
8041         * config/h8300/h8300.h: Fix comment typos.
8042
8043 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
8044
8045         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
8046
8047 2002-12-30  Tom Tromey  <tromey@redhat.com>
8048
8049         * doc/install.texi (Testing): Mention Jacks.
8050
8051 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
8052
8053         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
8054
8055 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
8056
8057         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
8058         cases.
8059         (compute_logical_op_length): Update to reflect the change in
8060         output_logical_op.
8061         (compute_logical_op_cc): Likewise.
8062
8063 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
8064
8065         * doc/service.texi: Uncomment and update FAQ link.
8066
8067 2002-12-30  Andreas Jaeger  <aj@suse.de>
8068
8069         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
8070
8071 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
8072
8073         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
8074
8075 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
8076
8077         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
8078         are clearing the most significant byte.
8079         (compute_logical_op_length): Update to reflect the change in
8080         output_logical_op.
8081         (compute_logical_op_cc): Likewise.
8082
8083 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
8084
8085         * config/h8300/h8300.md: Give internal names to anonymous
8086         insns.
8087
8088 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
8089
8090         * config/h8300/h8300.md: Reorder some insns.
8091
8092 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
8093
8094         * config/h8300/h8300-protos.h: Add prototypes for
8095         const_int_qi_operand and const_int_hi_operand.
8096         * config/h8300/h8300.c (const_int_qi_operand): New.
8097         (const_int_hi_operand): Likewise.
8098         * config/h8300/h8300.md (three peepholes): New.
8099
8100 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
8101
8102         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
8103         Use @copying.
8104
8105 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
8106
8107         * configure.in: Increase makeinfo version requirement to 4.[2-9].
8108         * configure: Regenerate.
8109         * doc/install.texi: Update Texinfo version requirement.
8110
8111 2002-12-28  Andreas Jaeger  <aj@suse.de>
8112
8113         * config/i386/i386.c (x86_function_profiler): Mark labelno as
8114         possibly unused.
8115
8116         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
8117         correct format.
8118
8119 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
8120
8121         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
8122         *iorhi_ashift_8.
8123         (*iorhi_lshiftrt_8): New.
8124
8125 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
8126
8127         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
8128
8129 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8130
8131         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
8132
8133 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
8134
8135         * config/h8300/h8300-protos.h: Fix comment typos.
8136         Update copyright.
8137         * config/h8300/h8300.c: Fix comment typos.
8138
8139 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
8140
8141         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
8142
8143 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
8144
8145         * config/i386/athlon.md: Fix comment typos.
8146         * config/i386/crtdll.h: Likewise.
8147         * config/i386/djgpp.h: Likewise.
8148         * config/i386/i386-interix.h: Likewise.
8149         * config/i386/i386.c: Likewise.
8150         * config/i386/i386.h: Likewise.
8151         * config/i386/i386.md: Likewise.
8152         * config/i386/k6.md: Likewise.
8153         * config/i386/mingw32.h: Likewise.
8154         * config/i386/pentium.md: Likewise.
8155         * config/i386/sco5.h: Likewise.
8156         * config/i386/winnt.c: Likewise.
8157         * config/i386/xmmintrin.h: Likewise.
8158
8159 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
8160
8161         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
8162         INSN_P before checking to see if it is dead.
8163         (mark_all_insn_unnecessary): Similarly.
8164         (ssa_eliminate_dead_code): Similarly.
8165         * rtl.h (struct rtx_def): Update comments for in_struct usage
8166         in dead code elimination pass.
8167         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
8168
8169 2002-12-26  Andreas Schwab  <schwab@suse.de>
8170
8171         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
8172
8173 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
8174
8175         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
8176         tartet_flags_explicit.
8177         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
8178         Compact target_flags bits.
8179         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
8180         (TARGET_SWITCHES): Delete references to *_SET flags.
8181
8182 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8183
8184         * i386.md (memory attribute): Fix setcc attribute.
8185
8186 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
8187
8188         * output.h: Fix comment typos.
8189         * predict.c: Likewise.
8190         * print-tree.c: Likewise.
8191         * profile.c: Likewise.
8192         * ra-build.c: Likewise.
8193         * ra-colorize.c: Likewise.
8194         * ra-debug.c: Likewise.
8195         * ra-rewrite.c: Likewise.
8196         * ra.c: Likewise.
8197         * ra.h: Likewise.
8198         * real.c: Likewise.
8199         * recog.c: Likewise.
8200         * reg-stack.c: Likewise.
8201         * regclass.c: Likewise.
8202
8203 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
8204
8205         * config/h8300/h8300.c (print_operand_address): Do not negate
8206         a negative number when printing one.
8207
8208 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
8209
8210         * config/h8300/h8300-protos.h: Add prototypes for
8211         output_plussi, compute_plussi_length, and compute_plussi_cc.
8212         * config/h8300/h8300.c (output_plussi): New.
8213         (compute_plussi_length): Likewise.
8214         (compute_plussi_cc): Likewise.
8215         * config/h8300/h8300.md (addsi_h8300h): Call
8216         output_plussi, compute_plussi_length, and compute_plussi_cc.
8217
8218 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
8219
8220         * config/h8300/h8300.md (two peepholes): Use match_dup instead
8221         of match_operand in the new patterns.
8222
8223 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
8224
8225         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
8226
8227 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
8228
8229         * configure.in (enable-coverage): Add SELF_COVERAGE.
8230         * profile.c (end_branch_prob): Use SELF_COVERAGE.
8231
8232 2002-12-24  Jim Wilson  <wilson@redhat.com>
8233
8234         * alias.c (record_set): Handle multi-reg hard registers.
8235
8236 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
8237
8238         * regmove.c: Fix comment typos.
8239         * reload.c: Likewise.
8240         * reload1.c: Likewise.
8241         * resource.c: Likewise.
8242         * rtl.def: Likewise.
8243         * rtl.h: Likewise.
8244         * rtlanal.c: Likewise.
8245         * sched-deps.c: Likewise.
8246         * sched-rgn.c: Likewise.
8247         * sibcall.c: Likewise.
8248         * simplify-rtx.c: Likewise.
8249         * ssa-ccp.c: Likewise.
8250         * ssa.c: Likewise.
8251         * stmt.c: Likewise.
8252         * stor-layout.c: Likewise.
8253         * system.h: Likewise.
8254         * tlink.c: Likewise.
8255         * toplev.c: Likewise.
8256         * tracer.c: Likewise.
8257         * tree-inline.c: Likewise.
8258         * tree.c: Likewise.
8259         * tree.h: Likewise.
8260         * unroll.c: Likewise.
8261         * varasm.c: Likewise.
8262
8263 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
8264
8265         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
8266         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
8267         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
8268         DG/UX entries.
8269         * doc/md.texi: Remove AMD 29K entries.
8270         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
8271         1.38.1, NewsOS, RT PC, WE32K entries.
8272
8273 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
8274
8275         PR/8763
8276         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
8277         (altivec_vspltisw_v4sf): Name pattern.
8278         (altivec_vslw_v4sf): New pattern.
8279
8280 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
8281
8282         * doc/include/gcc-common.texi: Define DEVELOPMENT.
8283
8284 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
8285
8286         * stor-layout.c (update_alignment_for_field): Correct handling of
8287         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
8288         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
8289         bitfield does not affect alignment.
8290
8291 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
8292
8293         * expr.c (expand_assignment): Apply special treatment to
8294         ARRAY_TYPE.
8295
8296 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
8297
8298         * config/h8300/h8300-protos.h: Update the prototype of
8299         expand_a_shift.
8300         * config/h8300/h8300.c (expand_a_shift): Change the return
8301         type to void.
8302         * config/h8300/h8300.md: Update all the uses of
8303         expand_a_shift.
8304
8305 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
8306
8307         * tree.c (save_expr): Allow either side of a dyadic operand to be
8308         constant.
8309
8310         * doc/portability.texi (portability): Update portability goals.
8311
8312 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
8313
8314         * config/h8300/h8300.c (output_a_shift): Remove unused code.
8315
8316 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
8317
8318         * stor-layout.c (update_alignment_for_field): Guard use of
8319         ADJUST_FIELD_ALIGN with #ifdef.
8320
8321         * stor-layout.c (update_alignment_for_field): Use
8322         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
8323         bitfield when PCC_BITFIELD_TYPE_MATTERS.
8324
8325 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
8326
8327         * genautomata.c: Fix comment typos.
8328
8329 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8330
8331         * params.def (tracer-min-branch-probability-feedback): Fix default.
8332         * final.c (compute_alignments): Use profile to avoid code bloat.
8333
8334 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
8335
8336         * config/h8300/h8300.c (get_shift_alg): Make shift insn
8337         sequences end with a valid cc0 whenever possible.
8338
8339 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
8340
8341         * config/h8300/h8300.md (negsf2): New.
8342         (*negsf2_h8300): Likewise.
8343         (*negsf2_h8300hs): Likewise.
8344
8345 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
8346
8347         * integrate.c (output_inline_function): Don't hold private
8348         pointers to 'struct function' over GC calls.
8349
8350 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
8351
8352         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
8353         NO_FPSCR_VALUES.
8354         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
8355
8356 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
8357
8358         * config/h8300/h8300.md (zero_extendqisi2): Correct the
8359         length.
8360
8361 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
8362
8363         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
8364         second alternative "#".
8365         (*zero_extendqihi2_h8300hs): Likewise.
8366         (a define_split): New.
8367
8368 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
8369
8370         * config/h8300/h8300-protos.h: Update the prototype for
8371         split_adds_subs.
8372         Add prototypes for const_le_2_operand and const_le_6_operand.
8373         * config/h8300/h8300.c (split_adds_subs): Add an argument to
8374         specify whether inc/dec should be used when possible.
8375         (const_le_2_operand): New.
8376         (const_le_6_operand): Likewise.
8377         * config/h8300/h8300.md (two peepholes): New.
8378
8379 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
8380
8381         * config/fr30/fr30.md: Fix a comment typo.
8382         * config/i386/i386.c: Likewise.
8383         * config/ip2k/ip2k.h: Likewise.
8384
8385 2002-12-20  Jim Wilson  <wilson@redhat.com>
8386
8387         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
8388         (__ev_subw, __ev_subiw): New.
8389         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
8390         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
8391
8392 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
8393
8394         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
8395         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
8396         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
8397         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
8398
8399 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
8400
8401         * config/h8300/h8300-protos.h: Add prototypes for
8402         incdec_operand and eqne_operator.
8403         * config/h8300/h8300.c (incdec_operand): New.
8404         (eqne_operator): Likewise.
8405         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
8406         (CONST_OK_FOR_O): Likewise.
8407         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
8408         CONST_OK_FOR_O.
8409         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
8410         (addhi3_incdec): New.
8411         (addsi3_incdec): Likewise.
8412         (two peepholes): Likewise.
8413
8414 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
8415
8416         * config/h8300/h8300.c (dosize): Remove warnings.
8417         (print_operand): Likewise.
8418
8419 2002-12-20  Richard Henderson  <rth@redhat.com>
8420
8421         * config/alpha/alpha.c (decl_has_samegp): New.
8422         (samegp_function_operand): Use it.  Rename from
8423         current_file_function_operand.
8424         (direct_call_operand): Handle -msmall-text via symbol->jump.
8425         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
8426         (tls_symbolic_operand_type): Likewise.
8427         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
8428         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
8429         (alpha_end_function): Set symbol->jump for functions defined in
8430         the text section.
8431         * config/alpha/alpha-protos.h: Update.
8432         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
8433         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
8434         (PREDICATE_CODES): Update.
8435         * config/alpha/alpha.md (call patterns): Update for
8436         samegp_function_operand rename; use !samegp reloc if
8437         TARGET_EXPLICIT_RELOCS.
8438         * doc/invoke.text: Document -msmall-text and -mlarge-text.
8439
8440 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
8441
8442         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
8443         all registers capable of holding a double float.
8444         (*rcond): change name of "reverse branch" insns to
8445         something more meaningful.
8446         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
8447         comparisons properly.
8448         (*ffs): Change operand 0 from write to read-modify-write.
8449         (*ffsssi2): Drop constraints from define_expand.
8450
8451         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
8452         MOVE_RATIO as default for store operations.
8453
8454         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
8455         LONG_REGS class.
8456         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
8457         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
8458         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
8459
8460         * config/ns32k/STATUS: New File
8461         * config/ns32k/NOTES: New file.
8462
8463 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
8464
8465         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
8466         option for S/390 and zSeries.
8467         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
8468         s390_arch_string): New variables.
8469         (override_options): Checking for options and setting of
8470         appropriate target_flags, cpu and arch flags.
8471         * config/s390/s390.h: (processor_type): New enum.
8472         (TARGET_SWITCHES): New switches -mesa/zarch.
8473         * config/s390/s390.md: New attribute 'cpu'.
8474
8475 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
8476
8477         * c-pretty-print.h: Fix comment typos.
8478         * integrate.c: Likewise.
8479         * varasm.c: Likewise.
8480         * config/c4x/c4x.h: Likewise.
8481         * config/c4x/c4x.md: Likewise.
8482         * config/fr30/fr30.md: Likewise.
8483         * config/frv/frv.c: Likewise.
8484         * config/h8300/h8300.c: Likewise.
8485         * config/i386/i386.c: Likewise.
8486         * config/i386/i386.h: Likewise.
8487         * config/ia64/ia64.c: Likewise.
8488         * config/ia64/ia64.h: Likewise.
8489         * config/ip2k/ip2k.md: Likewise.
8490         * config/m68hc11/m68hc11-crt0.S: Likewise.
8491         * config/m68hc11/m68hc11.h: Likewise.
8492         * config/m68hc11/m68hc11.md: Likewise.
8493         * config/m68hc11/m68hc12.h: Likewise.
8494         * config/mcore/mcore.md: Likewise.
8495         * config/mips/mips.c: Likewise.
8496         * config/mips/mips.md: Likewise.
8497         * config/mmix/mmix-modes.def: Likewise.
8498         * config/pa/pa.c: Likewise.
8499         * config/rs6000/rs6000.c: Likewise.
8500         * config/rs6000/rs6000.h: Likewise.
8501         * config/rs6000/rs6000.md: Likewise.
8502
8503 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
8504
8505         * config/h8300/h8300.md (output_a_shift): Clean up the code to
8506         output shifts using rotation.
8507
8508 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8509
8510         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
8511
8512 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
8513
8514         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
8515         pointer.
8516         (pushqi_h8300hs): Likewise.
8517         (pushhi_h8300): Likewise.
8518         (pushhi_h8300hs): Likewise.
8519
8520 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
8521
8522         * sched-rgn.c (init_regions): Update comment.
8523
8524 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
8525
8526         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
8527         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
8528         attributes.
8529         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
8530         (get_vrsave_internal,set_vrsave_internal): Same.
8531         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
8532         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
8533         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
8534
8535 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
8536             Danny Smith  <dannysmith@users.sourceforge.net>
8537             Eric Kohl  <ekohl@rz-online.de>
8538
8539         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
8540         attributes incompatible with fastcall attribute.
8541         (ix86_handle_regparm_attribute): Likewise.
8542
8543         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
8544         fastcall types.
8545
8546         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
8547         attributes.
8548         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
8549         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
8550         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
8551         i386_pe_output_labelref rather than here.
8552         (gen_fastcall_suffix): New function. Decorates a label name with the
8553         fastcall prefix (@) and the stdcall suffix.
8554         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
8555         has a fastcall attribute.
8556         (i386_pe_output_labelref): New function. Outputs a label reference.
8557         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
8558         valid attribute.
8559         (ix86_return_pops_args): Fastcall functions pop the stack.
8560         (init_cumulative_args): Reserve registers ECX and EDX if function has
8561         fastcall attribute.
8562         (function_arg): Use registers ECX and EDX if function has fastcall
8563         attribute.
8564         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
8565         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
8566         (FASTCALL_PREFIX): Define as '@'.
8567         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
8568         attributes.
8569         * doc/extend.texi: Add documentation of fastcall attribute.
8570
8571 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8572
8573         * configure.in: FORBUILD when build!=host changed from
8574         ../$build-alias to ../build-$build_alias to match change made
8575         in top directory.
8576         * configure: Regenerated.
8577
8578 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
8579
8580         PR optimization/8988
8581         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
8582         the biv when eliminating.
8583
8584 2002-12-19  Devang Patel  <dpatel@apple.com>
8585         * gcc.c (struct default_compiler): Recognizes input file name with
8586         .CPP extension as C++ source files
8587         * cp/lang-spec.h: Same
8588         * doc/invoke.texi:  Add documentation for .CPP support.
8589
8590 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
8591
8592         PR 8553
8593         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
8594         registers.
8595         ("absv16qi2"): Same.
8596         ("absv4si2"): Same.
8597         ("absv4sf2"): Same.
8598         ("altivec_abss_v16qi"): Same.
8599         ("altivec_abss_v8hi"): Same.
8600         ("altivec_abss_v4si"): Same.
8601
8602 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
8603
8604         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
8605         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
8606
8607 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
8608
8609         PR target/8340
8610         * stmt.c (expand_asm_operands): Produce an error when
8611         the PIC register is clobbered.
8612
8613 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
8614
8615         * Makefile.in (OBJS): Add alloc-pool.o
8616         (alloc-pool.o): New object.
8617
8618         * alloc-pool.c: New file.
8619         * alloc-pool.h: New file.
8620
8621 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
8622
8623         * gcc.c (validate_switches): Robustify against skipping past '\0'.
8624
8625 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
8626
8627         * config.gcc: Set extra_objs in the generic Darwin rule,
8628         not in the machine-specific rules.
8629
8630 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
8631
8632         * ChangeLog: Follow spelling conventions.
8633         * ChangeLog.2: Likewise.
8634         * ChangeLog.4: Likewise.
8635         * ChangeLog.5: Likewise.
8636         * cppexp.c: Likewise.
8637         * df.c: Likewise.
8638         * gcov.c: Likewise.
8639         * gengtype.c: Likewise.
8640         * reload1.c: Likewise.
8641         * sched-rgn.c: Likewise.
8642         * stmt.c: Likewise.
8643         * stor-layout.c: Likewise.
8644         * timevar.c: Likewise.
8645         * toplev.c: Likewise.
8646         * tree.h: Likewise.
8647         * varasm.c: Likewise.
8648         * config/fr30/fr30.md: Likewise.
8649         * config/i386/i386.c: Likewise.
8650         * config/ia64/ia64.c: Likewise.
8651         * config/pa/pa.c: Likewise.
8652
8653 2002-12-18  Roger Sayle  <roger@eyesopen.com>
8654
8655         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
8656
8657 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
8658
8659         PR 8551
8660         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
8661         macro.
8662         (vec_cmplt C++ functions): Reverse arguments.
8663
8664 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
8665
8666         * config/rs6000/t-rs6000: Move contents to t-fprules,
8667         add rules for dependencies of rs6000.o and to build rs6000-c.o
8668         * config/rs6000/t-fprules: New file from t-rs6000.
8669         * config/rs6000/t-beos: Remove soft-fp rules.
8670         * config/rs6000/t-ppccomm: Likewise.
8671         * config/rs6000/t-newas: Likewise.
8672         * config/rs6000/t-rs6000-c-rule: Delete.
8673         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
8674         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
8675         Create generic Darwin rules.
8676
8677         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
8678
8679 2002-12-18  Doug Evans  <dje@sebabeach.org>
8680
8681         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
8682         and LIT_NAME_P.
8683         (move_src_operand): Remove compile-time warning.
8684         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
8685
8686 2002-12-18  Jason Merrill  <jason@redhat.com>
8687
8688         * unwind-dw2-fde.c (frame_downheap): Split out from...
8689         (frame_heapsort): Here.
8690
8691 2002-12-17  Jason Merrill  <jason@redhat.com>
8692
8693         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
8694         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
8695
8696         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
8697
8698         * calls.c (expand_call): Don't try to be clever about expanding
8699         the return slot address.
8700
8701 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
8702
8703         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
8704         Define.
8705
8706 2002-12-17  Jason Merrill  <jason@redhat.com>
8707
8708         * genmultilib: Use 'cd ./foo'.
8709
8710 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
8711
8712         * doc/c-tree.texi: Restore deliberate spelling mistakes.
8713
8714 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
8715
8716         * doc/c-tree.texi: Fix typos and follow spelling conventions.
8717         * doc/cpp.texi: Likewise.
8718         * doc/extend.texi: Likewise.
8719         * doc/gty.texi: Likewise.
8720         * doc/install.texi: Likewise.
8721         * doc/invoke.texi: Likewise.
8722         * doc/md.texi: Likewise.
8723         * doc/passes.texi: Likewise.
8724         * doc/rtl.texi: Likewise.
8725         * doc/sourcebuild.texi: Likewise.
8726         * doc/tm.texi: Likewise.
8727
8728 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
8729
8730         * doc/invoke.texi: Minor spelling and grammar fixes.
8731
8732 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
8733
8734         * config/s390/s390.c (s390_output_constant_pool): Replace
8735         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
8736
8737 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
8738
8739         * convert.c (convert_to_real): Disable function transformation for
8740         now.
8741
8742 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
8743
8744         * gcc.c (handle_braces): Allow '@' as a switch name.
8745
8746 2002-12-16  Jason Merrill  <jason@redhat.com>
8747
8748         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
8749         with special struct-return ABIs.
8750
8751         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
8752         doesn't match the begin SCOPE_STMT in partialness.
8753
8754 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
8755
8756         * genmultilib: Create temporary files in unique subdirectory.
8757
8758         * gcc.c (validate_switches): Allow '@' as a switch name.
8759
8760 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
8761
8762         * Makefile.in (gcov-iov.h): Improve portability.
8763
8764 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8765
8766         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
8767         gas
8768         * mips.md (tablejump insn): Likewise.
8769
8770 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
8771
8772         * doc/include/gcc-common.texi: Change version number to 3.4.
8773
8774 2002-12-16  Bruce Korb  <bkorb@gnu.org>
8775
8776         * fixinc/fixlib.h: add: #include <signal.h>
8777         * fixinc/fixincl.c: remove: #include <signal.h>
8778
8779 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
8780
8781         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
8782         (EXTRA_CONSTRAINT): Use it.
8783         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
8784
8785 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
8786
8787         * config.gcc (need_64bit_hwint): New variable.
8788         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
8789         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
8790         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
8791         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
8792         Set it.
8793         (powerpc*-*-darwin*): Unset it.
8794         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
8795         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
8796         deleted/nonexistent xm-*.h headers.
8797         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
8798         target set need_64bit_hwint in config.gcc.
8799         * configure, config.in: Regenerate.
8800
8801         * hwint.h: Overhaul.  Don't bother trying int for
8802         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
8803         decision to force 64-bit HOST_WIDE_INT on
8804         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
8805         not visible at this point.  Don't allow prior definition of
8806         any macro defined by this file.
8807
8808         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
8809         HOST_BITS_PER_WIDE_INT.
8810         * config/c4x/c4x.h: Adjust redefinition of
8811         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
8812         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
8813         config/i386/xm-i386-interix.h: Delete file.
8814
8815 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
8816             John David Anglin  <dave@hiauly1.hia.nrc.ca>
8817
8818         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
8819         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
8820
8821 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
8822
8823         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
8824
8825 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
8826
8827         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
8828         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
8829         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
8830         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
8831         config/v850/t-v850:  Correct dependencies and normalize
8832         compilation commands for files that include coretypes.h and tm.h.
8833
8834         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
8835         not config.h and system.h.
8836
8837 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
8838
8839         * i386.c (flags_reg_operand):  New function.
8840         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
8841         * i386.md (cmov splitter, movqicc): Use new predicate.
8842
8843 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8844
8845         * i386.md (movqicc splitter): Fix template.
8846
8847 2002-12-13  Jason Merrill  <jason@redhat.com>
8848
8849         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
8850         * calls.c (expand_call): Handle it.
8851         * tree-inline.c (struct inline_data): Remove target_exprs field.
8852         (optimize_inline_calls): Don't initialize it.
8853         (expand_call_inline): Don't modify it.  Handle
8854         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
8855         (declare_return_variable): Take return slot addr.
8856         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
8857         to return_slot_addr.
8858         * langhooks-def.h, langhooks.c: Adjust.
8859         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
8860         a decl with no DECL_INITIAL.
8861
8862         * expr.c (expand_expr): Don't discard the target of a call which
8863         returns in memory.
8864
8865 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
8866
8867         * cppinit.c (path_include): Take an environment variable name.
8868         Tidy up.
8869         (init_standard_includes): Simplify environment handling, and
8870         move to ...
8871         (cpp_read_main_file): ...here as -nostdinc should not affect
8872         environment variable paths.
8873
8874 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8875
8876         * pa.c (output_millicode_call): Correct typo.
8877         (output_call): Likewise.
8878
8879 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
8880
8881         * config/mn10300/mn10300.c (print_operand) <case N>: Check
8882         operand's range.  Print value directly, without aid from
8883         output_address.
8884         <case U>: New.
8885         <case S>: Make sure argument to fprintf has the right type.
8886         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
8887         (EXTRA_CONSTRAINT): Adjust.
8888         * config/mn10300/mn10300.md: Add new all-QImode pattern for
8889         bclr.  Use %U for immediate operands of bset and bclr.
8890         (iorqi3): New expand, with insns for AM33 and mn10300.
8891
8892 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
8893
8894         * sh.c (sh_register_operand): New function.
8895         (prepare_move_operands): Use it.
8896         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
8897         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
8898         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
8899         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
8900         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
8901         (movv2si_i): Likewise.
8902
8903 2002-12-13  Jim Wilson  <wilson@redhat.com>
8904
8905         * doc/extend.texi (Complex Numbers): Update info on debug info.
8906
8907 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
8908
8909         * config/h8300/h8300.md (addhi3_h8300): Remove the last
8910         alternative.
8911
8912 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8913
8914         * hooks.h (hook_tree_tree_bool_false): Declare
8915         hook_bool_tree_tree_false instead.
8916
8917 2002-12-12  Devang Patel  <dpatel@apple.com>
8918
8919         * doc/invoke.texi: Document Darwin linker options, -bundle
8920         -bind_at_load, -all_load and -arch_errors_fatal
8921
8922 2002-12-12  Jim Wilson  <wilson@redhat.com>
8923
8924         * dbxout.c (dbxout_fptype_value): New.
8925         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
8926
8927 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
8928
8929         * c-decl.c: Fix a comment typo.
8930         * cfg.c: Likewise.
8931         * cfgcleanup.c: Likewise.
8932         * cfglayout.c: Likewise.
8933         * cfgrtl.c: Likewise.
8934         * c-typeck.c: Likewise.
8935         * dominance.c: Likewise.
8936         * dwarf2asm.c: Likewise.
8937         * dwarfout.c: Likewise.
8938         * expmed.c: Likewise.
8939         * expr.c: Likewise.
8940         * final.c: Likewise.
8941         * flow.c: Likewise.
8942         * function.c: Likewise.
8943         * gcc.c: Likewise.
8944         * genautomata.c: Likewise.
8945         * integrate.c: Likewise.
8946         * loop.c: Likewise.
8947         * loop.h: Likewise.
8948         * output.h: Likewise.
8949         * profile.c: Likewise.
8950         * ra.h: Likewise.
8951         * reload1.c: Likewise.
8952         * reload.c: Likewise.
8953         * sched-rgn.c: Likewise.
8954         * stmt.c: Likewise.
8955         * tree.h: Likewise.
8956         * vmsdbgout.c: Likewise.
8957
8958 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
8959
8960         * config/h8300/h8300.md: Add a new peephole2.
8961
8962 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
8963
8964         * config/h8300/h8300.md (a peephole2): Accept a constant
8965         that's accepted by CONST_OK_FOR_J.
8966
8967 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
8968
8969         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
8970         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
8971         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
8972         (*addhi_h8300hs): Likewise.
8973
8974 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
8975
8976         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
8977         (sh_register_move_cost): Add clause for SImode fp-fp moves.
8978         Increase cost for moves involving multiple general purpose registers.
8979         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
8980         TARGET_FMOVD.
8981         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
8982         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
8983         (enum reg_class reg_class_from_letter): No longer const.
8984         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
8985         REGCLASS_HAS_GENERAL_REG.
8986         Handle SImode moves from/to fp registers.
8987         ! TARGET_SHMEDIA && TARGET_FMOVD.
8988         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
8989         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
8990
8991 2002-12-12  Andreas Schwab  <schwab@suse.de>
8992
8993         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
8994         change and some warnings.
8995
8996 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
8997
8998         * doc/md.texi (pushm): Fix a typo.
8999
9000 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
9001
9002         * config/mips/mips.c (mips_output_conditional_branch): Support
9003         PIC-safe out-of-range branch and branch-likely.
9004         * config/mips/mips.md (attr length): PIC-safe out-of-range
9005         branches are longer.
9006         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
9007         unused code to support indirect jumps.
9008
9009 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
9010
9011         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
9012         $(tm_file_list).
9013
9014 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
9015
9016         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
9017
9018 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
9019
9020         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
9021
9022 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9023
9024         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
9025         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
9026         BIGGEST_ALIGNMENT.
9027         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
9028         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
9029
9030 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
9031
9032         * doc/invoke.texi: Correct dump file names.
9033
9034 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
9035
9036         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
9037         name to globalize_label or assemble_name.
9038
9039 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
9040
9041         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
9042         if not TARGET_SHMEDIA.
9043
9044 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
9045
9046         * sh.h (REG_CLASS_HAS_FP_REG): New.
9047         (REGISTER_MOVE_COST) Use it.  Put body into a function and
9048         move it into:
9049         * sh.c (sh_register_move_cost).
9050         * sh-protos.h (sh_register_move_cost): Declare.
9051
9052         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
9053         (sh_adjust_cost): Always return a value.
9054
9055 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
9056
9057         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
9058         (REGISTER_MOVE_COST): Use it.
9059
9060 2002-12-11  Richard Henderson  <rth@redhat.com>
9061
9062         * tree.h (MODULE_LOCAL_P): Kill.
9063         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
9064
9065 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
9066
9067         * config/h8300/h8300.md (two define_peephole2): New.
9068
9069 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
9070
9071         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
9072         (CONST_OK_FOR_K): Likewise.
9073         (CONST_OK_FOR_M): Likewise.
9074         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
9075
9076 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
9077
9078         * c-common.c (builtin_define_type_max): Handle unsigned
9079         types too.
9080
9081 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
9082
9083         * haifa-sched.c (rank_for_schedule): Correct style.
9084
9085 2002-12-10  Per Bothner  <pbothner@apple.com>
9086
9087         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
9088         directive_index into an unsigned field and a new is_directive field.
9089         * cppinit.c (mark_named_operators):  Update to set new fields.
9090         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
9091         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
9092         No longer need to subtract 1 from directive_index.
9093         (_cpp_init_directives):  No longer need to add 1 to directive_index.
9094         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
9095
9096 2002-12-10  Roger Sayle  <roger@eyesopen.com>
9097
9098         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
9099         check for evaluating sqrt of a constant at compile time.
9100         * simplify-rtx.c (simplify_unary_operation): Likewise.
9101
9102 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
9103
9104         PR other/8882
9105         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
9106
9107 2002-12-10  Devang Patel  <dpatel@appple.com>
9108
9109         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
9110         * doc/invoke.texi: Add new "Darwin Options" section.
9111
9112 2002-12-10  Jim Wilson  <wilson@redhat.com>
9113
9114         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
9115         memory.
9116
9117 2002-12-10  Andrew Haley  <aph@redhat.com>
9118
9119         * cse.c (cse_insn): Don't cse past a basic block boundary.
9120
9121 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
9122
9123         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
9124         -shared.
9125         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
9126         * config/alpha/linux.h (LIB_SPEC): Likewise.
9127         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
9128         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
9129         * config/sparc/linux.h (LIB_SPEC): Likewise.
9130         * config/sparc/linux64.h (LIB_SPEC): Likewise.
9131
9132 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
9133
9134         * doc/invoke.texi: Document UltraSparc III option.
9135
9136 2002-12-09  Richard Henderson  <rth@redhat.com>
9137
9138         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
9139         __tune_pentium2__ and __tune_pentium3__ as necessary.
9140
9141 2002-12-09  Richard Henderson  <rth@redhat.com>
9142
9143         * target.h (gcc_target): Add cannot_force_const_mem.
9144         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
9145         (TARGET_INITIALIZER): Add it.
9146         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
9147         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
9148         * reload1.c (reload): Likewise.
9149         * hooks.c (hook_bool_rtx_false): New.
9150         * hooks.h: Declare it.
9151
9152         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
9153         (TARGET_CANNOT_FORCE_CONST_MEM): New.
9154         (ix86_expand_move): Remove de-const-pooling hack.
9155
9156 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
9157
9158         * toplev.c (dump_file): Fix order to match reality.
9159
9160 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
9161
9162         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
9163         (store_multiple): Likewise.
9164
9165 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9166
9167         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
9168         function pointers in page 0.
9169
9170 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
9171
9172         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
9173         definition
9174         (MEMBER_TYPE_FORCES_BLK): Move.
9175         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
9176         aggregate arguments.
9177         (ia64_function_value): Use PARALLEL to return aggregate values.
9178
9179 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
9180
9181         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
9182         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
9183         * calls.c (store_unaligned_arguments_into_pseudos) Remove
9184         FUNCTION_ARG_REG_LITTLE_ENDIAN.
9185         * stmt.c (expand_return): Ditto.
9186         * expr.c (move_block_from_reg): Ditto.
9187         (copy_blkmode_from_reg): Ditto.
9188         * expmed.c (store_bit_field): Ditto.
9189
9190 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
9191
9192         * config.gcc: Added tic4x-* target as an alias to c4x-*
9193
9194 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9195
9196         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
9197         constructing insn directly.
9198
9199 2002-12-06  Per Bothner  <pbothner@apple.com>
9200
9201         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
9202         char to an int bit-field, for hosts where char is unsigned.
9203
9204 2002-12-07  Roger Sayle  <roger@eyesopen.com>
9205             Richard Henderson <rth@redhat.com>
9206
9207         * real.c (ieee_extended_motorola_format,
9208         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9209         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
9210         Provide appropriate values for new signbit field.
9211
9212 2002-12-07  Roger Sayle  <roger@eyesopen.com>
9213
9214         * real.h (real_format): Add signbit field.
9215         * real.c (ieee_single_format, ieee_double_format,
9216         ieee_extended_motorola_format, ieee_extended_intel_96_format,
9217         ieee_extended_intel_128_format, ibm_extended_format,
9218         ieee_quad_format, vax_f_format, vax_d_format,
9219         vax_g_format, i370_single_format, i370_double_format,
9220         c4x_single_format, c4x_extended_format, real_internal_format):
9221         Provide suitable signbit value, or -1 to avoid bit twiddling.
9222
9223         * optabs.c (expand_unop): Try implementing negation of
9224         floating point modes by flipping the sign bit.
9225         (expand_abs): Try implementing abs of floating point modes
9226         by clearing the sign bit.
9227
9228 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
9229
9230         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
9231         of constructing insn directly.
9232
9233 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
9234
9235         * config/h8300/h8300.md (*iorhi_shift_8): New.
9236
9237 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
9238
9239         * doc/invoke.texi: Document FRV port options.
9240         * doc/md.texi: Document FRV register classes.
9241
9242 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9243
9244         * doc/install.texi (Configuration): Improve description of cases
9245         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
9246
9247 2002-12-06  Per Bothner  <pbothner@apple.com>
9248
9249         * cpplib.h (NODE_MACRO_ARG):  New flag.
9250         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
9251         Remove value.operator field.  Move arg_index field to value union.
9252         (directive_index):  Make signed, since also used for C++ operators.
9253         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
9254         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
9255         Save node->value, and set node->value.arg_index.
9256         (_cpp_create_definition):  For each paramater, restore node->value.
9257         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
9258         * cpptrad.c (scan_out_logical_line): Likewise.
9259         (scan_out_logical_line): Check for directive > 0.
9260         * cpplib.c (cpp_handle_directive):  Likewise.
9261         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
9262         by negative of directive_index.
9263         * cppinit.c (mark_named_operators):  Likewise.
9264
9265         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
9266
9267 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
9268
9269         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
9270         FPU.
9271         (push): Generate push_fpscr.
9272         (pop): Generate pop_fpscr.
9273         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
9274         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
9275
9276 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
9277
9278         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
9279         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
9280
9281 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9282
9283         * sh.md (movdi_i): Name.  Remove inappropriate comment.
9284
9285 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
9286         Merged from basic improvements branch (excerpt):
9287
9288         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
9289         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
9290
9291 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
9292
9293         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
9294
9295 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
9296
9297         * i386.md (dimode peep2s): Re-add "&& 1".
9298
9299 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9300
9301         * i386.c (ix86_expand_prologue):  Add comment, do not use
9302         fast prologues for cold and normal functions.
9303
9304 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
9305
9306         * i386.c (x86_rep_movl_optimal): New variable.
9307         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
9308         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
9309
9310         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
9311         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
9312         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
9313         generate unnecesary subregs.
9314
9315 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9316
9317         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
9318         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
9319
9320 2002-12-05  Dale Johannesen  <dalej@apple.com>
9321
9322         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
9323
9324 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
9325
9326         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
9327         PROFILE_HOOK.
9328         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
9329
9330 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
9331
9332         * config/rs6000/spe.h (__ev_mwlufi): Remove.
9333         (__ev_mwlufia): Remove.
9334         (__ev_mwlumfaaw): Remove.
9335         (__ev_mwlusfaaw): Remove.
9336         (__ev_mwlumfanw): Remove.
9337         (__ev_mwlusfanw): Remove.
9338
9339 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
9340
9341         * config/h8300/h8300.md (*andorsi3_shift_8): New.
9342
9343 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
9344
9345         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
9346         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
9347         (get_shift_alg): Return optimal assembly instructions for the
9348         shifts mentioned above.
9349
9350 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
9351
9352         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
9353         condtiional moves.
9354
9355 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
9356
9357         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
9358         implement ashiftrt:HI by 13 bits on H8S.
9359
9360 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9361
9362         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
9363         * pa.md (canonicalize_funcptr_for_compare): Output library call to
9364         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
9365         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
9366         CTOR_LIST_BEGIN): New defines.
9367         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
9368         (fptr.c): Add make rules.
9369
9370 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
9371
9372         * combine.c (combine_simplify_rtx): Add new canonicalizations.
9373         * doc/md.texi (Insn Canonicalizations): Document new
9374         canonicalizations for multiply/add combinations.
9375         * config/rs6000/rs6000.md: Add and modify floating add/multiply
9376         patterns to ensure they're used whenever they can be.
9377
9378 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
9379
9380         * config/h8300/h8300.c: Update the comments related to shifts.
9381
9382 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
9383
9384         * config/mips/mips.md (get_fnaddr): Correct length attribute.
9385
9386 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
9387
9388         * config/h8300/h8300.md (*extzv_8_8): New.
9389         (*extzv_8_16): Likewise.
9390
9391 2002-12-04  Jason Merrill  <jason@redhat.com>
9392
9393         PR c++/8461, c++/8625
9394         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
9395         references.
9396         * tree-inline.c (initialize_inlined_parameters): Likewise.
9397
9398         * tree.c (variably_modified_type_p): Just return an error_mark_node.
9399
9400 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
9401
9402         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
9403         macro instruction in a branch delay slot, to avoid assembler
9404         warnings.
9405
9406 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
9407
9408         PR c/7622
9409         * c-semantics (genrtl_scope_stmt): Do not output inlined
9410         nested functions that contain no code.
9411
9412 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9413
9414         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
9415         to be forced into nonfallthru.
9416
9417 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
9418
9419         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
9420
9421 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
9422
9423         * config/rs6000/spe.md (*movv1di_const0): New pattern.
9424
9425 2002-12-03  Richard Henderson  <rth@redhat.com>
9426
9427         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
9428
9429 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
9430
9431         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
9432         Initialize tmp.using_obstack to 0.
9433
9434 2002-12-03  Andreas Schwab  <schwab@suse.de>
9435
9436         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
9437         (EH_RETURN_STACKADJ_RTX): Define.
9438         (EH_RETURN_HANDLER_RTX): Define.
9439         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9440         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
9441         registers and don't save fixed registers.
9442         (m68k_output_function_prologue): Use it.
9443         (use_return_insn): Likewise.
9444         (m68k_output_function_epilogue): Likewise.
9445
9446 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
9447
9448         * config/h8300/h8300.c (single_one_operand): Fix a warning.
9449         (single_zero_operand): Likewise.
9450
9451 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
9452
9453         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
9454         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
9455         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
9456         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
9457         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
9458         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
9459         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
9460         doc/install-old.texi: Replace hconfig.h with bconfig.h.
9461         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
9462
9463 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
9464
9465         * config/rs6000/rs6000.md (ffssi): Convert to expander.
9466         (ffsdi): Likewise.
9467         (cntlzw2, cntlzd2): New patterns.
9468
9469 2002-12-02  H.J. Lu <hjl@gnu.org>
9470
9471         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
9472         (mips*-*-linux*): Remove mips/t-linux.
9473
9474 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
9475
9476         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
9477
9478 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
9479
9480         * config/h8300/h8300.c (dosize): Replace argument op with
9481         sign.
9482         (h8300_output_function_prologue): Update the call to dosize.
9483         (h8300_output_function_epilogue): Likewise.
9484
9485 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
9486
9487         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
9488
9489 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
9490
9491         * configure.in: Use "missing" script to generate warning if
9492         flex or bison programs not found, instead of invoking "false".
9493         * configure: Rebuilt.
9494
9495 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
9496
9497         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
9498
9499 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
9500
9501         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
9502
9503 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
9504
9505         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
9506         (push): Likewise.
9507         (pop): Likewise.
9508         (h8300_output_function_prologue): Likewise.
9509         (h8300_output_function_epilogue): Likewise.
9510
9511 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
9512
9513         * expmed.c (store_bit_field): Use int_mode_for_mode to find
9514         corresponding mode of non-integer mode, unless it is VOIDmode.
9515
9516 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
9517
9518         * config/h8300/h8300.md (stm_h8300s_2): New.
9519         (stm_h8300s_3): Likewise.
9520         (stm_h8300s_4): Likewise.
9521         (five define_peephole2): Likewise.
9522
9523 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
9524
9525         * ra-build.c: Fix a comment typo.
9526
9527 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
9528
9529         * i386.c (ix86_expand_int_movcc): fix
9530         reversed BRANCH_COST test; be curefull about infinite recursion.
9531
9532 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
9533
9534         * config/h8300/h8300.c (h8300_output_function_prologue):
9535         Remove variable idx.
9536         (h8300_output_function_epilogue): Likewise.
9537
9538 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
9539
9540         * config/frv/xm-frv.h: Delete, unnecessary.
9541
9542 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
9543
9544         * config/h8300/h8300.md: Add comments for define_peephole2.
9545
9546 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
9547
9548         * builtin-types.def (BT_SIZE): Use size_type_node.
9549         * builtins.c (fold_builtin): Make the builtin strlen returns a
9550         size_t, not a sizetype.
9551         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
9552         c_size_type_node.
9553         (c_alignof_expr): Likewise.
9554         (c_common_nodes_and_builtins): Likewise.
9555         * c-common.h (CTI_C_SIZE_TYPE): Remove.
9556         (c_size_type_node): Likewise.
9557         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
9558         * tree.h (TI_SIZE_TYPE): New enumeral.
9559         (size_type_node): Likewise.
9560
9561 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
9562
9563         * configure.in: Don't put ${tm_file} into host_xm_file,
9564         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
9565         Take location of tm-preds.h into account when calculating
9566         tm_p_file_list.
9567         * configure: Regenerate.
9568         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
9569         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
9570         Remove special case code for tm_p.h and *config.h; add new
9571         special case code for tm.h and tconfig.h. Clean up a bit.
9572
9573         * Makefile.in (tm_file, tm_file_list): New variables set from
9574         @-substitutions.
9575         (GCONFIG_H): Deleted.
9576         (GTM_H, TM_H): New.
9577         (CONFIG_H): Is now just config.h $(host_xm_file_list).
9578         (TM_P_H): Move up with the other mkconfig.sh-generated
9579         headers; don't mention tm-preds.h explicitly.
9580         (tm.h, cs-tm.h): New rule.
9581         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
9582         invocations of mkconfig.sh for changes to that program.
9583         (mostlyclean): Delete print-rtl1.c.
9584         (clean): Delete tm.h.
9585         Update dependencies for the files listed below.
9586
9587         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
9588
9589         * coretypes.h: New file.
9590         * system.h: #define malloc to xmalloc and realloc to xrealloc
9591         when FLEX_SCANNER or YYBISON is defined, independent of the
9592         value of GCC_VERSION.
9593         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
9594         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
9595         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
9596         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
9597         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
9598         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
9599         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
9600         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
9601         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
9602         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
9603         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
9604         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
9605         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
9606         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
9607         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
9608         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
9609         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
9610         genconstants.c, genemit.c, genextract.c, genflags.c,
9611         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
9612         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
9613         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
9614         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
9615         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
9616         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
9617         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
9618         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
9619         print-tree.c, profile.c, protoize.c, ra-build.c,
9620         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
9621         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
9622         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
9623         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
9624         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
9625         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
9626         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
9627         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
9628         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
9629         xcoffout.c, config/darwin-c.c, config/darwin.c,
9630         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
9631         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
9632         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
9633         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
9634         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
9635         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
9636         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
9637         config/i960/i960-c.c, config/i960/i960.c,
9638         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
9639         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
9640         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
9641         config/mips/irix6-libc-compat.c, config/mips/mips.c,
9642         config/mmix/mmix.c, config/mn10200/mn10200.c,
9643         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
9644         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
9645         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
9646         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
9647         config/sparc/sparc.c, config/stormy16/stormy16.c,
9648         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
9649         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
9650         Include coretypes.h and tm.h.
9651
9652         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
9653         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
9654         genrecog.c: Include coretypes.h and tm.h from the file
9655         generated by this program.
9656
9657         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
9658         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
9659         coretypes.h and tm.h, and tsystem.h when not already included.
9660         No need to include stddef.h nor stdlib.h.
9661
9662         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
9663         include auto-host.h or ansidecl.h/
9664         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
9665         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
9666         include auto-host.h, ansidecl.h, or system.h.
9667         * fixinc/server.c: Likewise.  Also, do not include signal.h,
9668         and do not redefine volatile.
9669
9670 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
9671
9672         * i386.md (movdf_integer):  Always enable in 64bit.
9673         (movdf_nointeger): Always disable in 64bit.
9674
9675 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9676
9677         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
9678         pseudo register number plus 1.
9679
9680 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
9681
9682         * expmed.c (store_bit_field): Use int_mode_for_mode to find
9683         corresponding mode of non-integer mode, unless it is VOIDmode.
9684
9685 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
9686
9687         * cpplib.c (_cpp_test_assertion): Default *value to 0.
9688
9689         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
9690
9691 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
9692
9693         * config/s390/t-crtstuff: New target makefile fragment.
9694         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
9695
9696 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
9697
9698         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
9699         alternatives to correct the length when the memory operand is
9700         either pre_dec or post_inc.
9701
9702 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
9703
9704         * config/h8300/h8300.md (an anonymous pattern): Give an
9705         internal name *tst_extzv_bitqi_1_n.
9706         Accept bit_operand instead of bit_memory_operand.
9707         Do not accept bit tests with the MSB.
9708         (*tst_extzv_memqi_1_n): New.
9709
9710 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9711
9712         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
9713         sharing when operand is SUBREG.
9714
9715 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
9716
9717         * athlon.md (athlon-decodev): New reservation unit.
9718         (athlon-direct0): New reservation.
9719         (athlon-vector): New use athlon-decodev.
9720         (athlon-double, athlon-direct): Better model.
9721         (athlon_imul_k8): Use athlon-direct0.
9722         (athlon_movlpd_load): New insn reservation.
9723
9724 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
9725
9726         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9727         Fix a comment typo.
9728         (h8300_tiny_constant_address_p): Likewise.
9729
9730 2002-11-28  Michael Matz  <matz@suse.de>
9731
9732         * doc/passes.texi: Mention the other register allocator.
9733
9734 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
9735
9736         * config/h8300/h8300.md (6 new peephole2 patterns): New.
9737
9738 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
9739
9740         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
9741         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
9742         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
9743
9744 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
9745
9746         * config/h8300/h8300.c (h8300_and_costs): New.
9747         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
9748         * config/h8300/h8300-protos.h: Add a prototype for
9749         h8300_and_costs.
9750
9751 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
9752
9753         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
9754         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
9755         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
9756         * i386.md (truncdfsf patterns and splitters): Use
9757         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
9758
9759 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
9760
9761         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
9762         pointer argument in the prototypes of the following builtins
9763         be (const TYPE *) rather than (TYPE *):
9764          + __builtin_altivec_ld_internal_4sf
9765          + __builtin_altivec_ld_internal_4si
9766          + __builtin_altivec_ld_internal_8hi
9767          + __builtin_altivec_ld_internal_16qi
9768          + __builtin_altivec_lvsl
9769          + __builtin_altivec_lvsr
9770          + __builtin_altivec_lvebx
9771          + __builtin_altivec_lvehx
9772          + __builtin_altivec_lvewx
9773          + __builtin_altivec_lvxl
9774          + __builtin_altivec_lvx
9775          + __builtin_altivec_dst
9776          + __builtin_altivec_dstt
9777          + __builtin_altivec_dstst
9778          + __builtin_altivec_dststt
9779
9780 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9781
9782         * except.c (default_exception_section): Move variable into the
9783         scope where it is used.
9784
9785 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
9786
9787         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
9788         correct version.
9789
9790 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
9791
9792         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
9793
9794 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
9795
9796         * config/h8300/h8300.c (h8300_shift_costs): New.
9797         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
9798         * config/h8300/h8300-protos.h: Add a prototype for
9799         h8300_shift_costs.
9800
9801 2002-11-27  Jim Wilson  <wilson@redhat.com>
9802
9803         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
9804         in output template.
9805
9806 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
9807
9808         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
9809         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
9810         DLL_IMPORT_EXPORT_PREFIX, not '@'.
9811         (i386_pe_dllimport_name_p): Likewise.
9812         (i386_pe_mark_dllexport): Likewise.
9813         (i386_pe_mark_dllimport): Likewise.
9814         (i386_pe_encode_section_info): Likewise.
9815         (i386_pe_strip_name_encoding): Likewise.
9816
9817 2002-11-27  Richard Henderson  <rth@redhat.com>
9818
9819         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
9820         (nm && NF == 3): Set sawsymbol true.
9821         (END): Exit if no symbols seen.
9822         (output): Fix map syntax error if no globals for the version.
9823
9824 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
9825
9826         * builtins.def (DEF_C99_BUILTIN): Fix.
9827
9828 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
9829
9830         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
9831         (all): Add .size and .type information.
9832
9833 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9834
9835         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
9836         partial_reg_stall target.
9837
9838 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
9839
9840         * i386.md (movhicc): Allow general operand.
9841         (movqicc): New expander.
9842         (movqicc_noc): New pattern.
9843         * i386.c (ix86_expand_carry_flag_compare): New function.
9844         (ix86_expand_int_movcc): Optimize harder using sbb; support more
9845         HImode conversion; support QImode conditional moves
9846
9847 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
9848
9849         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
9850         (ix86_expand_prologue): Multiply the count by amount of registers to be
9851         pushed.
9852
9853 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
9854
9855         * i386.c (override_options): Error about wrong -mcpu on x86-64
9856         compilation.
9857
9858 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
9859
9860         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
9861
9862 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
9863
9864         * i386-protos.h (x86_extended_QIreg_mentioned_p,
9865         x86_extended_reg_mentioned_p): Declare.
9866         * i386.c (extended_reg_mentioned_1): New static function.
9867         (x86_extended_QIreg_mentioned_p,
9868         x86_extended_reg_mentioned_p): New global functions.
9869         * i386.h (REX_SSE_REGNO_P): New macro.
9870         * i386.md (prefix_rex): New attribute.
9871         (length attribute): Add rex.
9872
9873 2002-11-26  Andrew Haley  <aph@redhat.com>
9874
9875         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
9876         from_Unwind_Find_Enclosing_Function.
9877         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
9878         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
9879         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
9880         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
9881         * unwind.h (_Unwind_FindEnclosingFunction): Add.
9882
9883 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
9884
9885         * config/s390/s390.c (390_output_constant_pool): Set alignment
9886         before label in 64 bit mode, behind otherwise.
9887
9888 2002-11-26  Richard Henderson  <rth@redhat.com>
9889
9890         * c-common.c (handle_visibility_attribute): Accept "default".
9891         * tree.h (enum symbol_visibility): New.
9892         (decl_visibility): Declare.
9893         * target.h (gcc_target.visibility): Take visibility arg as integer.
9894         * varasm.c (default_assemble_visibility): Likewise.
9895         (decl_visibility): New.
9896         (maybe_assemble_visibility): Use it.
9897         * output.h (default_assemble_visibility): Update prototype.
9898         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
9899         visibility arg as integer.
9900         * doc/extend.texi: Document default visibility.
9901
9902 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
9903
9904         * config/h8300/h8300.c: Adjust spacing.
9905         * config/h8300/h8300.h: Likewise.
9906
9907 2002-11-26  Richard Henderson  <rth@redhat.com>
9908
9909         * hooks.c (hook_bool_void_false, hook_void_tree_int,
9910         hook_void_FILEptr_constcharptr): Rename so that the return
9911         type is first.
9912         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
9913         hook_bool_tree_false): New.
9914         * hooks.h: Update.
9915         * langhooks-def.h: Update for renames.
9916         * target-def.h: Likewise.
9917         * tree.c (default_comp_type_attributes,
9918         default_set_default_type_attributes, default_insert_attributes,
9919         default_function_attribute_inlinable_p,
9920         default_ms_bitfield_layout_p): Remove.
9921         * tree.h: Update.
9922
9923 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9924
9925         * pa-protos.h (function_value): New prototype.
9926         * pa.c (function_value): Use a PARALLEL to return small aggregates on
9927         TARGET_64BIT.
9928         * pa.h (FUNCTION_VALUE): Use function_value.
9929         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
9930         call_value_internal_reg, sibcall_value_internal_symref,
9931         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
9932         value.
9933
9934 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9935
9936         * expr.c (gen_group_rtx, emit_group_move): New functions.
9937         * expr.h (gen_group_rtx, emit_group_move): Prototype.
9938         * function.c (expand_function_start): Use gen_group_rtx to create a
9939         PARALLEL rtx to hold the return value when the real return rtx is a
9940         PARALLEL.
9941         (expand_function_end): Use emit_group_move to move the return value
9942         from a PARALLEL to the real return registers.
9943         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
9944         in PARALLELs.
9945
9946 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
9947
9948         * config/t-libc-ok: Fix typo.
9949
9950 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
9951
9952         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
9953         before AC_PROG_CC.
9954         * configure: Rebuilt.
9955
9956 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
9957
9958         * c-decl.c: (start_struct): Commonize flag setting.
9959
9960 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
9961
9962         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
9963         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
9964         RS6000_CPU_CPP_ENDIAN_BUILTINS.
9965         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
9966
9967 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
9968
9969         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
9970         insns.
9971         * config/s390/s390.c (struct machine_function): Introduction of
9972         struct machine_function.
9973         (s390_output_symbolic_const): Use of cfun.
9974         (s390_optimize_prolog): Likewise.
9975         (s390_fixup_clobbered_return_reg): Likewise.
9976         (s390_frame_info): Likewise.
9977         (s390_emit_prologue, s390_emit_epilogue): Likewise.
9978         (s390_init_machine_status): New function.
9979         (override_options): call s390_init_machine_status.
9980         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
9981         prototype.
9982
9983 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
9984
9985         * varasm.c (output_constant_pool): For pool constants in mergeable
9986         section ensure each constant is padded to multiple of entity size.
9987
9988 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
9989
9990         * varasm.c (default_exception_section): Move to...
9991         * except.c (default_exception_section): ... here. Make
9992         .gcc_except_table read-only if it is not expected to have any
9993         dynamic relocations and linker handles it.
9994         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
9995         if it is not expected to have any dynamic relocations and linker
9996         handles it.
9997         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
9998         when linking read-only and read-write sections together.
9999         * configure, config.in: Rebuilt.
10000         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
10001         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
10002
10003 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
10004
10005         * i386.md (pushsf_rex64): Fix typo.
10006
10007 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
10008
10009         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
10010         new function.
10011         (__ev_create_ufix32_fs): Same.
10012         (__ev_get_sfix32_fs_internal): New.
10013         (__ev_get_sfix32_fs): Define to use function.
10014         (__ev_get_ufix32_fs_internal): New.
10015         (__ev_get_ufix32_fs): Define to use function.
10016         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
10017         (__ev_get_lower_ufix32_fs): Same.
10018         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
10019         (__ev_get_lower_sfix32_fs): Same.
10020         (__ev_set_sfix32_fs_internal): New.
10021         (__ev_set_ufix32_fs_internal): New.
10022         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
10023         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
10024         (__ev_set_upper_sfix32_fs): Call function.
10025         (__ev_set_lower_sfix32_fs): Same.
10026         (__ev_set_upper_ufix32_fs): Same.
10027         (__ev_set_lower_ufix32_fs): Same.
10028
10029 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
10030
10031         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
10032
10033 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
10034
10035         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
10036         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
10037         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
10038         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
10039         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
10040         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
10041         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
10042         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
10043         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
10044         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
10045         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
10046         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
10047         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
10048         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
10049         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
10050         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
10051         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
10052         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
10053         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
10054         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
10055         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
10056         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
10057         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
10058         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
10059         defining.
10060         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
10061         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
10062
10063 2002-11-25  Dave Pitts  <dpitts@cozx.com>
10064
10065         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
10066
10067 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
10068
10069         * config/h8300/h8300.md (an anonymous pattern): New.
10070
10071 2002-11-25  Richard Henderson  <rth@redhat.com>
10072
10073         * alias.c (find_base_value): Use new_reg_base_value if it's live.
10074         (copying_arguments): Make boolean.
10075
10076 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
10077
10078         * gcc.c (static_spec_functions): Add if-exists-else spec
10079         function.
10080         (if_exists_else_spec_function): New function.
10081         * doc/invoke.texi: Document the if-exists-else spec function.
10082
10083         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
10084         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
10085
10086 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
10087
10088         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
10089         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
10090         "${tmake_file} rs6000/t-netbsd".
10091         * config/rs6000/netbsd.h: Rewrite.
10092         * config/rs6000/t-netbsd: New file.
10093
10094 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
10095
10096         * config/h8300/h8300.md (an anonymous pattern): Relax the
10097         condition for the pattern.
10098
10099 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
10100
10101         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
10102         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
10103         evmwlssfanw, evmwlsmfanw.
10104
10105         * config/rs6000/rs6000.c (bdesc_2arg): Same.
10106
10107         * config/rs6000/spe.md: Same for patterns.
10108
10109 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
10110
10111         PR c/8639
10112         * fold-const.c (extract_muldiv): Don't propagate division unless
10113         both arguments are multiples of C.
10114
10115 2002-11-25  Andrew Haley  <aph@redhat.com>
10116
10117         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
10118         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
10119         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
10120         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
10121
10122 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
10123
10124         * i386.c (x86_use_ffreep): New global variable.
10125         * i386.h (x86_use_frfeep): Declare
10126         (TARGET_USE_FFREEP): New macro
10127         * i386.md  (movs?f*): Use freep when asked for.
10128         (push?f): Remove dead code.
10129
10130 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
10131
10132         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
10133         target help message.
10134
10135 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
10136
10137         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
10138         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
10139         crtbeginT.o".
10140         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
10141         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
10142         to "" for a.out configurations.
10143         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
10144
10145 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
10146
10147         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
10148         NETBSD_CPP_SPEC directly.
10149         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
10150         netbsd_endfile_spec.
10151         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
10152
10153 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
10154
10155         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
10156         NETBSD_STARTFILE_SPEC.
10157         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
10158         (ENDFILE_SPEC): Likewise.
10159         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
10160
10161 2002-11-24  Andreas Schwab  <schwab@suse.de>
10162
10163         * Makefile.in (install-driver): Remove versioned link before
10164         trying to create it.
10165
10166         * config/m68k/m68k.c: Fix typo in last change defining
10167         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
10168
10169 2002-11-23  H.J. Lu <hjl@gnu.org>
10170
10171         * aclocal.m4: Include ../config/accross.m4.
10172         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
10173         (gcc_AC_C_COMPILE_ENDIAN): Removed.
10174         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
10175         instead of $ac_cv_c_compile_endian.
10176
10177         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
10178         AC_COMPILE_CHECK_SIZEOF.
10179         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
10180         * configure: Rebuild.
10181
10182 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
10183
10184         * config/h8300/h8300.c (print_operand): Update the use of
10185         h8300_tiny_constant_address_p.
10186         (h8300_adjust_insn_length): Likewise.
10187         (h8300_tiny_constant_address_p): Check if the given rtx is a
10188         variable declared with __attribute__ ((tiny_data)).
10189
10190 2002-11-22  Dale Johannesen  <dalej@apple.com>
10191
10192         * toplev.c (rest_of_compilation):  Fix comments.
10193
10194 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
10195
10196         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
10197         allow mmap from /dev/zero.  Don't make decisions for the host
10198         based on presence or absence of /dev/zero on the build machine.
10199         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
10200         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
10201         * configure: Regenerate.
10202
10203 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
10204
10205         * gcc.c (make_relative_prefix, split_directories)
10206         (free_split_directories): Removed.
10207
10208 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
10209
10210         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
10211         * configure: Regenerated.
10212
10213 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
10214
10215         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
10216         length computation when xor.l is output.
10217
10218 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
10219
10220         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
10221         (call_vms_1, call_value_vms_1): Cleanup syntax.
10222
10223 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
10224
10225         * athlon.md (define_atuomaton): Add athlon_load.
10226         (athlon-double): New reservation.
10227         (athlon-ieu0): New CPU unit.
10228         (athlon-load?): Use athlon_load automaton.
10229         (*_k8 reservations): New.
10230         (other insn revervations): Activate for K8.
10231
10232 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
10233
10234         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
10235
10236 2002-11-21  Jim Wilson  <wilson@redhat.com>
10237
10238         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
10239         vectors to SI.
10240
10241 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
10242
10243         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
10244         * config/xtensa/xtensa.c (struct machine_function): Add
10245         incoming_a7_copied flag.
10246         (xtensa_copy_incoming_a7): Define.
10247         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
10248         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
10249
10250 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
10251
10252         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
10253         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
10254         x86_64_nonmemory_operand, x86_64_movabs_operand,
10255         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10256         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
10257         (local_symbolic_operand): Do not care the 64bit limits.
10258         (x86_64_sign_extended_value): Remove allow_rip support.
10259         (legitimate_pic_address_disp_p): Handle all cases allowed
10260         with RIP addressing.
10261         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
10262         (legitimize_pic_address): Reorganize.
10263         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
10264
10265 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
10266
10267         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
10268         * config/arm/netbsd-elf.h: New file.
10269
10270 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
10271
10272         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
10273         subtarget_asm_float_spec.
10274         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
10275         defaults from...
10276         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
10277
10278 2002-11-21  Nick Clifton  <nickc@redhat.com>
10279
10280         * config/fr30/fr30.md (movsf_constant_store): Move code to
10281         detect 0.0 into fr30.c.
10282         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
10283         Prototype.
10284         * config/fr30/fr30.c (fr30_const_double_is_zero): New
10285         function.  Return true if the rtx is 0.0.
10286
10287 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
10288
10289         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
10290         if -mlittle-endian is specified.
10291
10292 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
10293
10294         PR optimization/2903
10295         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
10296         (anddi_notsesidi_di): Likewise.
10297
10298 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
10299
10300         * config/h8300/h8300.c (print_operand): Use
10301         h8300_eightbit_constant_address_p and
10302         h8300_tiny_constant_address_p.
10303         (h8300_adjust_insn_length): Likewise.
10304         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
10305         (TINY_CONSTANT_ADDRESS_P): Likewise.
10306         (OK_FOR_U): Use eightbit_constant_address_p.
10307
10308 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
10309
10310         * config/s390/libgcc-libc.ver: Add multilib support.
10311         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
10312         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
10313         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
10314         EXTRA_MULTILIB_PARTS): Define.
10315
10316 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
10317
10318         * arm.c (arm_get_frame_size): A leaf function does not need its
10319         stack padding to an aligned boundary if it has no frame.
10320         (thumb_get_frame_size): Likewise.
10321
10322 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
10323
10324         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
10325         (override_options): Likewise.
10326
10327 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
10328
10329         * config.gcc: Add k8 target alias support
10330         * i386.c (_cost): Declare costs for various variants of divides and
10331         multiplies.
10332         (k8_cost): New.
10333         (m_K8, m_ATHLON_K8): New macros.
10334         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
10335         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
10336         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
10337         x86_integer_DFmode_moves, x86_partial_reg_dependency,
10338         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
10339         x86_prologue_using_move, x86_epilogue_using_move,
10340         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
10341         x86_sse_typeless_stores): Set for K8
10342         (override_options): Add k8 support; fix athlon alignment;
10343         complain about non-x86-64 capable CPU being used in x86-64 compilation.
10344         (ix86_issue_rate): Set for K8.
10345         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
10346         x86_machine_dependent_reorg): Handle K8 like
10347         * i386.h
10348         (x86_costs):  Change mult_init and divide into array.
10349         (TARGET_K8, TARGET_ATHLON): New macros.
10350         (MODE_INDEX): New macro.
10351         (RTX_COST): Use new costs.
10352         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
10353         (TARGET_CPU_DEFAULT_NAMES): Add k8
10354         (TARGET_CPU_DEFAULT_k8): New constant
10355         (enum processor_type): Add PROCESSOR_K8.
10356         * i386.md (cpu attribute): Add k8.
10357
10358         * invoke.texi: Document -march=k8.
10359
10360         * i386.md (type attribute): Add leave
10361         (mode attribute): Remove unknownfp.
10362         (length_immediate, modrm, memory attributes): Handle leave correctly.
10363         (fp comparison patterns): Determine FP mode.
10364         (leave, leave_rex64): Remove special cases.
10365         * ppro.md (ppro_uops, ppro_p2): Add leave
10366         * pentiun.md (pent_pop): Handle leave too.
10367         * k6.md (k6_load): Handle leave.
10368         * athlon.md (athlon_leave, athlon_pop): Fix.
10369         (athlon_decode): Handle leave.
10370
10371 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
10372
10373         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
10374         to component type using GET_MODE_INNER.
10375         * expr.c (emit_move_insn_1): Ditto.
10376         * optabs.c (expand_binop): Ditto.
10377         (expand_unop): Ditto.
10378         (expand_complex_abs): Ditto.
10379
10380 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
10381
10382         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
10383
10384 2002-11-20  DJ Delorie  <dj@redhat.com>
10385
10386         * config/stormy16/stormy16.c (s16builtins,
10387         xstormy16_init_builtins, xstormy16_expand_builtin): New.
10388         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
10389
10390 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
10391
10392         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
10393         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
10394         (executing gencheck, genconfigs, genconditions, genflags,
10395         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
10396         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
10397         gengtype, genprotos): Prepend $(RUN_GEN).
10398         * configure.in: Move host compiler tests before --enable-checking
10399         tests.
10400         (--enable-checking=valgrind): New.
10401         * config.in, configure: Regenerate.
10402         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
10403         Define as empty.
10404         (read_include_file): When doing the mmap+1 trick,
10405         valgrind-annotate the byte after the mmap:ed area as readable.
10406         (purge_cache): Remove above annotation.
10407         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
10408         VALGRIND_PATH -q to each command.
10409
10410         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
10411         Define as empty.
10412         (ggc_realloc): Update valgrind annotations.
10413         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
10414         Define as empty.
10415         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
10416         valgrind-annotate memory.
10417
10418 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
10419
10420         * recog.c (constrain_operands): Prefer exact match over reloadable
10421         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
10422
10423         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
10424         operands in Pmode.
10425
10426 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
10427
10428         PR c/8518
10429         * c-decl.c (duplicate_decls): Outline the second definition
10430         of an extern inline function in all cases.
10431
10432 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
10433
10434         * stor-layout.c (place_field): Update rli->offset as well as
10435         rli->bitpos.
10436
10437 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
10438
10439         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
10440
10441 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
10442
10443         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
10444         into a libcall block.
10445         (divsi3): Likewise divsi3_i4_media.
10446
10447 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
10448
10449         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
10450         out another register.
10451
10452 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
10453
10454         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
10455         (not just mask) are set in C.
10456
10457 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
10458
10459         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
10460
10461 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10462
10463         * profile.c (index_counts_file): Fix obvious mistake.
10464
10465 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10466
10467         * Makefile.in (profile.o): Add hashtab.h dependency.
10468         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
10469         * profile.c: Include hashtab.h.
10470         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
10471         cleanup_counts_index, index_counts_file, struct section_reference,
10472         struct da_index_entry, counts_file_name, counts_file_index): New.
10473         (get_exec_counts, init_branch_prob): Modified.
10474
10475 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
10476
10477         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
10478         to tmake_file. Remove setting gas and gnu_ld here.
10479         * config/sh/libgcc-glibc.ver: New file.
10480         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
10481         (SHLIB_MAPFILES): New.
10482         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
10483         (MD_STARTFILE_PREFIX): Likewise.
10484         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
10485         (DWARF2_UNWIND_INFO): Redefine.
10486         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10487         (LINK_EH_SPEC): Redefine.
10488         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
10489         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
10490         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
10491         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
10492         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
10493         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
10494         SH_DWARF_FRAME_FPSCR): Likewise.
10495         * config/sh/sh-protos.h (sh_set_return_address): Declare.
10496         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
10497         registers if the current function calls EH return.
10498         (sh_expand_epilogue): Handle EH stack adjustments.
10499         (sh_set_return_address): New function.
10500         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
10501         Don't abort even if the number is mapped to -1.
10502         (EH_RETURN_DATA_REGNO): Define.
10503         (EH_RETURN_STACKADJ_RTX): Define.
10504         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
10505         (eh_return): New pattern.
10506         (eh_set_ra_di, eh_set_ra_si): Likewise.
10507         Add splitter to perform EH return after reload.
10508
10509 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
10510
10511         * stor-layout.c (excess_unit_span): New function.
10512         (place_field): Use it.
10513
10514 2002-11-19  Andreas Schwab  <schwab@suse.de>
10515
10516         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
10517         not valid in C++.
10518
10519 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
10520
10521         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
10522         * configure: Regenerate.
10523
10524 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
10525
10526         * convert.c (strip_float_extensions): New function.
10527         (convert_to_real): Optimize some cases.
10528
10529 2002-11-19  Andreas Jaeger  <aj@suse.de>
10530
10531         * loop.c (record_giv): Initialize not_replaceable.
10532         (check_final_value): Likewise.
10533
10534 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
10535
10536         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
10537         MASK_H8300S.
10538
10539 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
10540
10541         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
10542         only if -mh or -ms present.
10543         (h8300_eightbit_constant_address_p): Support the normal mode.
10544         (h8300_tiny_constant_address_p): Likewise.
10545         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
10546         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
10547         (Pmode): Evaluate to HImode for the normal mode.
10548         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
10549         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
10550         (ASM_WORD_OP): Evaluate to word for the normal mode.
10551         * config/h8300/h8300.md (tablejump_normal_mode): New.
10552         (indirect_jump_normal_mode): New.
10553         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
10554         directory.
10555         (MULTILIB_DIRNAMES): Create target dependent directory
10556         'normal'.
10557         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
10558         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
10559
10560 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
10561
10562         * i386.md (length_immediate): Do not refer to insn address.
10563         (jcc*, jmp patterns):  Compute length explicitly.
10564
10565 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
10566
10567         PR c/8588
10568         * optabs.c (expand_binop): Convert CONST_INTs in shift
10569         operations too.
10570
10571 2002-11-19  Roger Sayle  <roger@eyesopen.com>
10572
10573         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
10574
10575 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
10576
10577         * config/h8300/h8300.md (an anonymous pattern): Relax the
10578         condition to accept the same operands and/or subregs.
10579
10580 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
10581
10582         * config/sh/sh.c (gen_shl_and): Revert previous patch.
10583         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
10584         reload_completed.
10585
10586 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
10587
10588         * config/h8300/h8300.c (print_operand): Update the use of
10589         EIGHTBIT_CONSTANT_ADDRESS_P.
10590         (h8300_adjust_insn_length): Likewise.
10591         (h8300_eightbit_constant_address_p): Check if the given rtx is
10592         a variable with __attribute__((eightbit_data)).
10593         * config/h8300/h8300.h (OK_FOR_U): Update the use of
10594         EIGHTBIT_CONSTANT_ADDRESS_P.
10595
10596 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10597
10598         * doc/contrib.texi (Contributors): Add self as second contact in
10599         addition to Jeff Law.
10600
10601 2002-11-19  Andreas Jaeger  <aj@suse.de>
10602
10603         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
10604         find_alloca_call to right place.
10605
10606 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
10607
10608         * cppfiles.c: Fix formatting.
10609
10610 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
10611
10612         * gcc.c (The Specs Language): Document spec functions.
10613         (static_spec_functions, lookup_spec_function)
10614         (eval_spec_function, handle_spec_function)
10615         (if_exists_spec_function, alloc_args): New.
10616         (execute): Abort if processing_spec_function is true.
10617         (do_spec_1): Hand off spec to handle_spec_function if %:
10618         is encountered.  If processing_spec_function is true,
10619         end any pending argument when the end of the string is reached.
10620         (main): Use alloc_args to allocate the initial argument vector.
10621         * gcc.h (struct spec_function): New.
10622         (lang_specific_spec_functions): New extern.
10623
10624         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
10625         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
10626         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
10627
10628         * doc/invoke.texi: Document spec functions.
10629
10630         * cppspec.c (lang_specific_spec_functions): New.
10631         * gccspec.c: Likewise.
10632
10633 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
10634
10635         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
10636         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
10637         (fixunstfsi_libfunc): Change.
10638         (fixunstfdi_libfunc): Change.
10639         (sdiv_optab): Don't zero out SImode handler.
10640         (udiv_optab): Don't zero out SImode handler.
10641         (smod_optab): Don't zero out SImode handler.
10642         (umod_optab): Don't zero out SImode handler.
10643
10644 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
10645
10646         PR preprocessor/8524
10647         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
10648         Add a new one in its place, which hopefully works.
10649         (skip_rest_of_line): Change test for bottom-of-context-stack.
10650
10651 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
10652
10653         * i386.md (addqi_1_slp): Fix output template.
10654         (subqi_1_slp): Fix type.
10655
10656 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
10657
10658         * calls.c (alloca_call_p): New global function.
10659         * tree.h (alloca_call_p): New.
10660         * tree-inline.c (inlinable_function_p):  Do not inline when
10661         function calls alloca.
10662         (find_alloca_call, find_alloca_call_1): New functions.
10663
10664 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
10665
10666         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
10667         bst.  Update the insn length.
10668         (*andorhi3): Likewise.
10669         (*andorsi3): Likewise.
10670
10671 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
10672
10673         * config/sh/sh-protos.h (sh_mark_label): Declare.
10674         * config/sh/sh.c (sh_mark_label): New function, taken from
10675         movdi_const, but fixing the case when the address has an addend.
10676         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
10677
10678 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
10679
10680         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
10681         (add_constant): Set it.
10682         (dump_table): Don't reorder a constant if part_of_sequence_p.
10683         (machine_dependent_reorg): Assume that float constants will
10684         stay in their original order if used as a sequence.
10685
10686 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
10687
10688         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
10689         in compact code.
10690
10691 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
10692
10693         * config/sh/sh.md (initialize_trampoline): Do not force the
10694         trampoline address into R0_REGS here.
10695
10696 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
10697
10698         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
10699         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
10700         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
10701         generate unnecesary subregs.
10702
10703 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
10704
10705         * df.c: Fix formatting.
10706
10707 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
10708
10709         * config/h8300/h8300.md (two anonymous patterns): Fix insn
10710         lengths.
10711
10712 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
10713
10714         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
10715         is not an arith_reg_operand.
10716
10717 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
10718
10719         * real.c (real_to_decimal): Fix buffer overrun when buffer size
10720         is smaller than representation.
10721
10722 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
10723
10724         * builtins.c: Fix formatting.
10725
10726 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
10727
10728         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
10729         floats?dff2_i387):
10730         Work around regclass stupidity.
10731         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
10732
10733 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
10734
10735         * i386.md (fop_df_6): New pattern.
10736         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
10737         (fop_xf_6): Rewrite
10738         (fop_xf_7): Delete.
10739         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
10740         (fop_tf_6): Rewrite
10741         (fop_tf_7): Delete.
10742
10743 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10744
10745         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
10746
10747 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10748
10749         * config/h8300/h8300.md: Fix formatting.
10750
10751 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10752
10753         * config/h8300/h8300.md: Replace spaces with tabs.
10754         * config/h8300/t-h8300: Remove a trailing empty line.
10755
10756 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10757
10758         * tlink.c: Fix formatting.
10759
10760 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
10761
10762         PR 8362
10763         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
10764         * config/rs6000/rs6000.md (movti_string): Remove output modifier
10765         when scratch register never needed.
10766         (ldmsi[3-8]): New patterns.
10767
10768 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10769
10770         * hard-reg-set.h: Follow spelling conventions.
10771         * real.c: Likewise.
10772         * target.h: Likewise.
10773
10774 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
10775
10776         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
10777
10778 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
10779
10780         * optabs.c: Fix formatting.
10781
10782 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
10783
10784         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
10785         * i386.md (attribute type): Add type shift1 and rotate1.
10786         (*_slp): Rewrite to have just two operands to avoid reload problems.
10787
10788 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
10789
10790         * config/h8300/h8300.md (4 anonymous patterns): New.
10791
10792 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
10793
10794         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
10795         * doc/invoke.texi: Correct description of what needs to be done to
10796         force collection at every ggc_collect call.
10797
10798 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
10799
10800         * config/s390/s390.c (optimization_options): Set
10801         flag_asynchronous_unwind_tables to 1 by default.
10802
10803 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
10804
10805         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10806
10807 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
10808
10809         * i386-protos.h (x86_function_profiler): New function
10810         * i386.h (MCOUNT_NAME): New.
10811         (PROFILE_COUNT_REGISTER): New.
10812         (FUNCTION_PROFILER): Move offline to ...
10813         * i386.c (x86_function_profiler) ... here; fix 64bit support
10814         * beos-elf.h (FUNCTION_PROFILER): Kill.
10815         (MCOUNT_NAME): New.
10816         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
10817         (MCOUNT_NAME): New.
10818         (PROFILE_COUNT_REGISTER): New.
10819         * linux.h (FUNCTION_PROFILER): Kill.
10820         (MCOUNT_NAME): New.
10821         * x86-64.h (FUNCTION_PROFILER): Kill.
10822         (MCOUNT_NAME): New.
10823         * freebsd.h (FUNCTION_PROFILER): Kill.
10824         (MCOUNT_NAME): New.
10825
10826 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
10827
10828         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
10829         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
10830         * config/arm/arm.c (arm_va_arg,
10831         arm_function_arg_pass_by_reference): New.
10832         * config/arm/arm-protos.h: Add prototypes.
10833
10834 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
10835
10836         * gthr-single.h: Fix formatting.
10837
10838 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
10839
10840         * tree.c (tree_vec_elt_check_failed): New function.
10841         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
10842         (TREE_VEC_ELT): Use it.
10843
10844         * tree-inline.c (optimize_inline_calls): Don't copy a
10845         zero-length vector.
10846
10847 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10848
10849         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
10850
10851 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
10852
10853         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
10854         both operands contain local relocations.
10855         (categorize_decl_for_section): Don't use mergeable sections if
10856         initializer has any relocations.
10857
10858 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
10859
10860         * gthr-vxworks.h: Fix formatting.
10861
10862 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
10863
10864         * doc/install.texi (Testing): Document extra Java testing.
10865         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
10866
10867 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10868
10869         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
10870         beginning of the spec.
10871         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
10872         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
10873         regarding problems with global constructors when using GNU ld.
10874
10875 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
10876
10877         * gthr-solaris.h: Fix formatting.
10878
10879 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
10880
10881         * gthr-posix.h: Fix formatting.
10882
10883 2002-11-12  Devang Patel <dpatel@apple.com>
10884         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
10885         (process_command): Same.
10886         * doc/invoke.texi: Info about these two new options.
10887
10888 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
10889
10890         * config/h8300/h8300.md (*andorsi3): New.
10891
10892 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10893
10894         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
10895
10896 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
10897
10898         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
10899         expressions appropriately.
10900
10901 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
10902
10903         * gthr-win32.h: Fix formatting.
10904
10905 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
10906
10907         * config/h8300/h8300.c (single_one_operand): Correctly compute
10908         mask when mode is SImode.
10909         (single_zero_operand): Likewise.
10910         * config/h8300/h8300.md (two new anonymous insns): New.
10911
10912 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10913
10914         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
10915         to that entire project.
10916
10917 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10918
10919         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
10920         directories.
10921
10922 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
10923
10924         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
10925         * doc/invoke.texi: Document them.
10926
10927         * ggc-page.c: Include params.h.  Remove definitions of
10928         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
10929         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
10930         (init_gcc): Don't set G.allocated_last_gc here.
10931         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
10932         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
10933         perform collection.
10934         * ggc-simple.c: Similarly.
10935         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
10936         dependencies.
10937
10938 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
10939
10940         * gthr-dce.h: Fix formatting.
10941
10942 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10943
10944         PR c/8467
10945         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
10946         mode of DECL_RTL case.
10947
10948 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
10949
10950         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
10951
10952 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
10953
10954         * i386.c (construct_container): Fix handling of SSE_CLASS.
10955
10956 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
10957
10958         * config/m68k/t-crtstuff (crti.o): Use this...
10959         ($(T)crti.o): ... instead.
10960         (crtn.o): Use this...
10961         ($(T)crtn.o): ... instead.
10962
10963 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
10964
10965         PR c/8439
10966         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
10967         if there is something new to be simplified.
10968
10969 2002-11-10  H.J. Lu <hjl@gnu.org>
10970
10971         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
10972         * expr.c (PUSH_ARGS_REVERSED): Likewise.
10973
10974         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
10975
10976 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
10977
10978         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
10979         * config/rs6000/linux.h, config/rs6000/linux64.h,
10980         config/rs6000/windiss.h: ... not here.
10981
10982 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
10983
10984         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
10985         __ABICALLS__ if TARGET_ABICALLS.
10986
10987 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
10988
10989         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
10990
10991 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
10992
10993         * c-decl.c (grokdeclarator): Make error for duplicate type
10994         qualifiers into a pedwarn, disabled for C99.
10995
10996 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
10997
10998         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
10999         as FUNCTION_ARG_PASS_BY_REFERENCE.
11000
11001 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
11002
11003         * doc/install.texi: Add *-*-vxworks* specific installation
11004         instructions.
11005
11006         * config/vxlib.c: Rewrite using generation numbers to identify
11007         valid TSD keys.
11008
11009 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
11010
11011         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
11012
11013 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11014
11015         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
11016
11017         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
11018         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
11019         * pa.c (output_millicode_call): Use symbol difference rather than
11020         $PIC_pcrel$0 when using HP assembler.
11021         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
11022         not elfos.h (i.e., gas) is being used.
11023         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
11024         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
11025         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
11026         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
11027         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
11028         using elfos.h.
11029         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
11030         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
11031         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
11032         using elfos.h.
11033         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
11034         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
11035         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
11036         Don't define when not using elfos.h.
11037         (ASM_DECLARE_RESULT): Don't define.
11038         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
11039         doesn't work on hppa64-hp-hpux11.
11040         (hppa*-hp-hpux11): Update.
11041
11042 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
11043
11044         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
11045         to the assembler if -mno-abicalls was specified.
11046
11047 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11048
11049         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
11050         ASM_OUTPUT_DEF): Delete.
11051
11052 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
11053
11054         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
11055
11056 2002-11-08  Roger Sayle  <roger@eyesopen.com>
11057
11058         * real.c (real_sqrt): Update comment with bibliographic reference.
11059
11060 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
11061
11062         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
11063
11064 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
11065
11066         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
11067
11068 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
11069
11070         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
11071         (expand_builtin): Likewise.
11072         * builtins.def: Add
11073         __builtin_floor, __builtin_floorf, __builtin_floorl
11074         __builtin_ceil, __builtin_ceilf, __builtin_ceill
11075         __builtin_round, __builtin_roundf, __builtin_roundl
11076         __builtin_trunc, __builtin_truncf, __builtin_truncl
11077         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
11078         * genopinit.c (optabs): Initialize the new optabs.
11079         * optab.c (init_optabs): Likewise.
11080         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
11081         OTI_round, OTI_nearbyint.
11082         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
11083         * doc/md.texi: Document new named patterns.
11084         * doc/extend.texi (builtin functions)  Document
11085         floor, floorf, floorl, ceil, ceilf,
11086         ceill, round, roundf, roundl, trunc,
11087         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
11088
11089 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
11090
11091         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
11092
11093 2002-11-08  Dale Johannesen  <dalej@apple.com>
11094
11095         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
11096
11097 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
11098
11099         PR preprocessor/8497
11100         PR preprocessor/8501
11101         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
11102         start a directive.  In assembler, #NUM is not a line directive.
11103
11104 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
11105
11106         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
11107         buffers.
11108
11109 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
11110
11111         * config/h8300/h8300.md (two anonymous test insns): New.
11112
11113 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
11114
11115         * jump.c (mark_jump_label): Handle subregs of label_refs.
11116
11117 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
11118
11119         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
11120         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
11121
11122 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
11123
11124         * config/ia64/crtend.asm: Include "auto-host.h".
11125         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
11126         * config/ia64/crtbegin.asm: Similarly.
11127         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
11128         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
11129
11130         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
11131         * configure.in: Use it if --enable-initfini-array not specified.
11132         * doc/install.texi (Configuration): Document --enable-initfini-array.
11133         * configure, config.in: Rebuild.
11134
11135 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
11136
11137         * config/arm/arm-protos.h (arm_get_frame_size)
11138         (thumb_get_frame_size): New prototypes.
11139         * config/arm/arm.c (arm_get_frame_size)
11140         (thumb_get_frame_size): New functions.
11141         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
11142         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
11143         arm_get_frame_size.
11144         (thumb_expand_prologue, thumb_expand_epilogue): Use
11145         thumb_get_frame_size.
11146         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
11147         (machine_function): Add frame_size member.
11148         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
11149
11150 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
11151
11152         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
11153         Adjust code to use portable unsigned bit manipulation.
11154         (insn_flags, tune_flags): Change type to unsigned.
11155         (struct processors): Make flags unsigned long.
11156         (arm_override_options): Change type of count and current_bit_count
11157         to unsigned.
11158
11159 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
11160
11161         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
11162
11163 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
11164
11165         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
11166
11167 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
11168
11169         * reg-stack.c (compensate_edge): Fix sanity check.
11170
11171 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
11172
11173         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
11174         crt2.o.  Rearrange t-darwin makefiles.
11175         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
11176         * unwind-dw2-fde-darwin.c: New.
11177         * unwind-dw2-fde-glibc.c: Correct comment.
11178         * unwind-dw2-fde.c (__register_frame_info_bases)
11179         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
11180         (classify_object_over_fdes): Use last_fde.
11181         (add_fdes): Likewise.
11182         (linear_search_fdes): Likewise.
11183         * unwind-dw2-fde.h (struct object)
11184         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
11185         (last_fde): New.
11186         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
11187         (ENDFILE_SPEC): No crtend.o.
11188         * config/t-darwin: New.
11189         * config/i386/t-darwin: Delete.
11190         * config/darwin-crt2.c: New.
11191         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
11192         or config/t-darwin.
11193
11194 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
11195
11196         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
11197         MASK_MS_BITFIELD_LAYOUT
11198         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
11199         MS bitfields for Objective-C.
11200         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
11201         defines.
11202
11203         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
11204         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
11205         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
11206
11207         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
11208         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
11209         (TARGET_SWITCHES): Add above mask.
11210
11211         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
11212         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
11213         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
11214         flags for interix.
11215
11216 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
11217
11218         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
11219         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
11220         assembler.
11221         * config/mips/mips.md (tablejump_internal3): Output .cpadd
11222         before jump on ABI_N32 too.
11223         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
11224         length to match.
11225
11226 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
11227
11228         * i386.md (negsf splitter): Accept memory operand in second register.
11229         (abssf/absdf splitters): Simplify
11230         (sse_loadss, sse_loadsd): Turn into expander.
11231
11232 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
11233
11234         PR target/8480
11235         * config/rs6000/rs6000.md (movdi_internal64): Discourage
11236         FPR to FPR moves.
11237
11238 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
11239
11240         * doc/contrib.texi: Merge in the list from the Java web pages.
11241
11242 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
11243
11244         * config/sparc/freebsd: Fix typo.
11245
11246 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11247
11248         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
11249
11250 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
11251
11252         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
11253         non-SImode addresses.
11254
11255 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
11256
11257         * i386.md (float_truncate SSE splitter): Ensure that operand is not
11258         stack register.
11259         (float SSE splitters): Reorder conditional.
11260
11261 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
11262
11263         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
11264
11265 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
11266
11267         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
11268         (STARTFILE_SPEC): Remove p and pg options.
11269
11270 2002-11-05  Andrew Haley  <aph@redhat.com>
11271
11272         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
11273         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
11274
11275 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
11276
11277         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
11278         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
11279
11280 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
11281
11282         * gthr-vxworks.h: Rewritten from scratch.
11283         * config/vxlib.c: New file.
11284         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
11285         * config/rs6000/t-vxworks: Add config/vxlib.c to
11286         LIB2FUNCS_EXTRA here too, because of clash with
11287         config/rs6000/t-ppccomm.
11288
11289 2002-11-04  Dale Johannesen  <dalej@apple.com>
11290
11291         * doloop.c (doloop_modify_runtime):  Fix loop count computation
11292         for unrolled loops.
11293         * loop.c (loop_invariant_p):  Support calling from unroller.
11294
11295 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
11296
11297         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
11298         for comparison.
11299
11300 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
11301
11302         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
11303
11304         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
11305         (CLASS_CANNOT_CHANGE_MODE): Remove.
11306         (CANNOT_CHANGE_MODE_CLASS): New.
11307
11308         * config/alpha/alpha.h: Same.
11309
11310         * config/ia64/ia64.h: Same.
11311
11312         * config/mips/mips.h: Same.
11313
11314         * config/s390/s390.h: Same.
11315
11316         * config/sh/sh.h: Same.
11317
11318         * config/pa/pa64-regs.h: Same.
11319
11320         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
11321
11322         * config/sh/sh.c (sh_cannot_change_mode_class): New.
11323
11324         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
11325         prototype.
11326
11327         * config/mips/mips.c (mips_cannot_change_mode_class): New.
11328
11329         * doc/tm.texi (Register Classes): Remove
11330         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
11331         Document CANNOT_CHANGE_MODE_CLASS.
11332
11333         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
11334         (push_reload): Same.
11335
11336         * simplify-rtx.c (simplify_subreg): Same.
11337
11338         * reload1.c (choose_reload_regs): Same.
11339
11340         * recog.c (register_operand): Same.
11341
11342         * regrename.c (mode_change_ok): Change to use new
11343         CANNOT_CHANGE_MODE_CLASS infrastructure.
11344
11345         * regclass.c (cannot_change_mode_set_regs): New.
11346         Declare subregs_of_mode.
11347         (regclass): Use subregs_of_mode.
11348         Remove references to reg_changes_mode.
11349         (init_reg_sets_1): Remove class_can_change_mode and
11350         reg_changes_mode code.
11351         (invalid_mode_change_p): New.
11352         (dump_regclass): Use invalid_mode_change_p instead of
11353         class_can_change_mode.
11354         (regclass): Same.
11355         (record_operand_costs): Do not set reg_changes_mode.
11356
11357         * local-alloc.c (struct qty): Remove changes_mode field.
11358         (alloc_qty): Remove changes_mode initialization.
11359         (update_qty_class): Remove set of changes_mode.
11360         (find_free_reg): Use subregs_of_mode.
11361
11362         * global.c (find_reg): Use subregs_of_mode info.
11363
11364         * rtl.h (cannot_change_mode_set_regs): New prototype.
11365         (invalid_mode_change_p): Same.
11366         (REG_CANNOT_CHANGE_MODE_P): New macro.
11367
11368         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
11369         REG_CHANGES_MODE.
11370         (life_analysis): Clear subregs_of_mode.
11371
11372         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
11373         Remove use of CLASS_CANNOT_CHANGE_MODE.
11374         (simplify_set): Same.
11375         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
11376         REG_CHANGES_MODE.
11377
11378         * regs.h: Add extern for subregs_of_mode;
11379         Include hard-reg-set and basic-block.
11380         (REG_CHANGES_MODE): Delete.
11381
11382 2002-11-03  Roger Sayle  <roger@eyesopen.com>
11383
11384         * real.c (real_sqrt): New function to calculate square roots.
11385         * real.h (real_sqrt): Add function prototype.
11386         * builtins.c (fold_builtin): Fold sqrt of constant argument.
11387         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
11388         of constant argument.
11389
11390 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11391
11392         * jump.c (never_reached_warning): Don't set contains_insn until the
11393         first line note is seen.
11394
11395 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
11396
11397         * config/rs6000/rs6000.md (movti_string): Use string instructions.
11398
11399 2002-11-03  Roger Sayle  <roger@eyesopen.com>
11400
11401         PR c/7128
11402         * c-typeck.c (c_expand_asm_operands): Defend against
11403         error_mark_nodes in the output argument to avoid ICE.
11404
11405 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
11406
11407         PR middle-end/8408
11408         * genrecog.c (preds): Handle ADDRESSOF.
11409         (validate_pattern): Mark it as an lvalue.
11410
11411 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
11412
11413         * config/rs6000/rs6000.c (rs6000_override_options): Use string
11414         instructions when optimizing for size.
11415
11416 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
11417
11418         * config/h8300/h8300.h: Fix comment typos.
11419         * config/h8300/h8300.md: Likewise.
11420         * config/h8300/lib1funcs.asm: Likewise.
11421
11422 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11423
11424         Revert this change:
11425
11426         *doc/install.texi (Installing GCC: Configuration): Clarify
11427         the only supported ways to configure gcc.
11428
11429 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
11430
11431         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
11432         instead of 'O' for the constraint for the second operand.
11433
11434 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
11435
11436         PR c++/8391
11437         * toplev.c (rest_of_compilation): Do not refuse to output code for
11438         an inline function in a local class.
11439
11440 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
11441
11442         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
11443         (TRANSFER_FROM_TRAMPOLINE): Reformat.
11444         Add comment.
11445
11446 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
11447
11448         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
11449
11450 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
11451
11452         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
11453
11454 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
11455
11456         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
11457         (MASK_INLINE_DIV_THR): Remove.
11458         (TARGET_INLINE_DIV_LAT): Remove.
11459         (TARGET_INLINE_DIV_THR): Remove.
11460         (TARGET_INLINE_DIV): Remove.
11461         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
11462         (MASK_INLINE_FLOAT_DIV_THR): New macro.
11463         (MASK_INLINE_INT_DIV_LAT): New macro.
11464         (MASK_INLINE_INT_DIV_THR): New macro.
11465         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
11466         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
11467         (TARGET_INLINE_INT_DIV_LAT): New macro.
11468         (TARGET_INLINE_INT_DIV_THR): New macro.
11469         (TARGET_INLINE_FLOAT_DIV): New macro.
11470         (TARGET_INLINE_INT_DIV): New macro.
11471         * config/ia64/ia64.md (divsi3): Change to use new macros.
11472         (modsi3): Ditto.
11473         (udivsi3): Ditto.
11474         (umodsi3): Ditto.
11475         (divsi3_internal): Ditto.
11476         (divdi3): Ditto.
11477         (moddi3): Ditto.
11478         (udivdi3): Ditto.
11479         (umoddi3): Ditto.
11480         (divdi3_internal_lat): Ditto.
11481         (divdi3_internal_thr): Ditto.
11482         (divsf3): Ditto.
11483         (divsf3_internal_lat): Ditto.
11484         (divsf3_internal_thr): Ditto.
11485         (divdf3): Ditto.
11486         (divdf3_internal_lat): Ditto.
11487         (divdf3_internal_thr): Ditto.
11488         (divtf3): Ditto.
11489         (divtf3_internal_lat): Ditto.
11490         (divtf3_internal_thr): Ditto.
11491         * config/ia64/ia64.c (ia64_override_options): Change
11492         to check new macros for conflicts in settings.
11493         * doc/invoke.texi (-minline-divide-min-latency): Remove.
11494         (-minline-divide-max-throughput): Remove.
11495         (-minline-float-divide-min-latency): New.
11496         (-minline-float-divide-max-throughput): New.
11497         (-minline-int-divide-min-latency): New.
11498         (-minline-int-divide-max-throughput): New.
11499
11500 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
11501
11502         PR target/7856
11503         * arm.c (use_return_insn): Don't use a return insn if there are
11504         saved integer regs, but LR is not one of them.
11505
11506 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
11507
11508         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
11509         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
11510
11511 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
11512
11513         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
11514         (movps, movpd splitters): Use canonical form.
11515         (movv2di): Fix merge problem.
11516
11517 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
11518
11519         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
11520
11521 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11522
11523         PR optimization/6162
11524         * doc/md.texi: Document restriction on commutative operand
11525         specification.
11526
11527 2002-10-31  Eric Christopher  <echristo@redhat.com>
11528
11529         * explow.c (convert_memory_address): Use shallow_copy_rtx.
11530
11531 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
11532
11533         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
11534
11535 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
11536
11537         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
11538
11539 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
11540
11541         * config/rs6000/darwin.h:  Correct formatting in previous.
11542
11543 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
11544
11545         * config/rs6000/darwin.h:  Enable -falign-xxx options.
11546
11547 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
11548
11549         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
11550         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
11551         * i386.c (optimization_options): Set flag_omit_frame_pointer,
11552         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
11553         Do not clear -momit-leaf-frame-pointer when profiling.
11554         (ix86_frame_pointer_required): Frame pointer is always required when
11555         profiling.
11556
11557 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
11558
11559         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
11560
11561 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
11562
11563         * sh.h (binary_logical_operator): Declare.
11564         * sh.c (binary_logical_operator): New function.
11565         * sh.md (xordi3+1): New combiner splitter pattern.
11566
11567 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
11568
11569         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
11570         __enable_execute_stack function.
11571
11572 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
11573
11574         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
11575         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
11576         * unwind-sjlj.c (fc_key_dtor): Delete.
11577         (fc_key_init): Adjust __gthread_key_create call to match.
11578
11579 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
11580
11581         * c-common.c: Add GTY to vector_type_node_list.
11582
11583 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
11584
11585         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
11586         * pa-protos.h (attr_length_millicode_call, attr_length_call,
11587         pa_init_machine_status): Declare new global functions.
11588         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
11589         implement new functions.
11590         (attr_length_millicode_call, attr_length_call): Implement.
11591         (total_code_bytes): Change type to long.
11592         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
11593         Reset counter if flag_function_sections.
11594         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
11595         (output_cbranch): Move call to gen_label_rtx.
11596         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
11597         delay slot in all variants, shorten pc-relative calls.
11598         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
11599         slot usage and exposure, various new call variants, and shortened
11600         sequences for some variants on TARGET_PA_20.
11601         Miscellaneous format changes.
11602         * pa.h (total_code_bytes): Change type to long.
11603         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
11604         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
11605         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
11606         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
11607         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
11608         stores on TARGET_ELF32.
11609         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
11610         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
11611         canonicalize_funcptr_for_compare expanders): Calculate attribute length
11612         attr_length_millicode_call().
11613         (call_internal_symref, call_value_internal_symref): Clobber register 1.
11614         Calculate attribute length using attr_length_call().
11615         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
11616         to delay slot.
11617         (sibcall, sibcall_value): Rewrite.
11618         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
11619         register 1.  Use attr_length_call().
11620         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
11621         New patterns.
11622         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
11623         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
11624         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
11625         * doc/invoke.texi (mlong-calls): Document.
11626
11627 2002-10-30  Roger Sayle  <roger@eyesopen.com>
11628
11629         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
11630         handling of cases where one or both branches of the conditional
11631         have void type, i.e. throw an exception or don't return.
11632         (fold): Only apply (and undo) type conversion to the non-void
11633         branches of a COND_EXPR.
11634
11635 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
11636
11637         PR c++/8333
11638         * varasm.c (asm_output_aligned_bss): Do not call
11639         ASM_GLOBALIZE_LABEL.
11640
11641 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
11642             Torbjorn Granlund  <tege@swox.com>
11643
11644         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
11645         for addressibility.
11646         (load_toc_v4_PIC_1b): Same.
11647
11648 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
11649
11650         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
11651         Truncate the addresses for H8/300 using HImode.
11652
11653 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
11654
11655         * i386.md (negdf splitter): Fix construction of the constant.
11656
11657 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
11658
11659         * i386.md (negsf, negdf): Reorganize to use vector modes
11660         for SSE variants.
11661         (abssf, absdf): Use force_reg.
11662         (movv4sf, movv2df): New splitters.
11663         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
11664         * i386.c (zero_extended_scalar_load_operand
11665
11666         * i386-protos.h (ix86_expand_call): Update prototype.
11667         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
11668         (ix86_expand_call): Use r11 for indirect sibcalls.
11669         * i386.md (call, call_value, untyped_call, call_value_pop):
11670         update x86_expand_call call.
11671         (sibcall, sibcall_value): new patterns
11672         (call_rex64, call_value_rex64): Do not accept sibcalls.
11673         (sibcall_rex64, sibcall_value_rex64,
11674         sibcall_rex64_v, sibcall_value_rex64_v): New.
11675
11676 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
11677
11678         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
11679         before final pass.
11680
11681 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
11682
11683         * toplev.c (rest_of_type_compilation): Return early in case of
11684         errors.
11685         (check_global_declarations): Don't call debug_hooks->global_decl
11686         in case of errors.
11687
11688 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
11689
11690         * doc/c-tree.texi (Tree overview): Fix typos.
11691
11692 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
11693
11694         * Makefile.in (gnucompare*):  Only record bad comparisons
11695         if there really was a bad comparison.
11696
11697 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
11698
11699         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
11700         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
11701         * md.texi (machine dependent constraints): Document 'C'
11702
11703         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
11704
11705         * i386.c (ix86_expand_vector_move): Fix.
11706
11707         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
11708         * i386.md (sse2_maskmovdqu_rex64): New pattern
11709
11710         PR target/8322
11711         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
11712         (ix86_init_mmx_sse_builtins): Fix type.
11713
11714 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
11715
11716         * gthr-posix.h: Include <unistd.h> for feature tests.
11717         (sched_get_priority_max, sched_get_priority_min)
11718         (pthread_getschedparam, pthread_setschedparam): Only use
11719         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
11720         (__gthread_objc_thread_set_priority): Don't treat all nonzero
11721         returns from sched_get_priority_max and sched_get_priority_min
11722         as an error.
11723
11724 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
11725
11726         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
11727         MASK_QUICKCALL.
11728
11729 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
11730
11731         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
11732         (h8300_tiny_constant_address_p): Likewise.
11733         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
11734         h8300_eightbit_constant_address_p.
11735         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
11736         * config/h8300/h8300-protos.h: Add the prototypes for the two
11737         new functions.
11738
11739 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
11740
11741         * reload1.c (update_eliminables): Unconditionally check if
11742         frame_pointer_needed has changed.
11743
11744 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
11745
11746         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
11747         before final pass.
11748
11749 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
11750
11751         PR optimization/8334
11752         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
11753         check for zero operands explicitly.
11754
11755 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
11756
11757         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
11758         memory after adjusting to BLKmode.
11759
11760 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
11761
11762         * config/h8300/h8300.h (MASK_*): New.
11763         (TARGET_*): Use MASK_*.
11764
11765 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
11766
11767         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
11768         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
11769         config/rs6000/vxworks.h: New files.
11770         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
11771
11772         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
11773         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
11774         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
11775         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
11776         sparc-*-vxsim*): Delete stanzas.
11777         * gthr-vxworks.h: Rip out all substantive code and just
11778         include gthr-single.h.
11779
11780         * config/alpha/vxworks.h, config/arm/vxarm.h,
11781         config/i386/vxi386.h, config/i960/t-vxworks960,
11782         config/i960/vx960-coff.h, config/i960/vx960.h,
11783         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
11784         config/mips/vxworks.h, config/rs6000/vxppc.h,
11785         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
11786         config/sparc/vxsim.h, config/sparc/vxsparc.h,
11787         config/sparc/vxsparc64.h: Delete files.
11788
11789 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
11790
11791         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
11792         tm_defines if pthreads are enabled.
11793         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
11794         if NETBSD_ENABLE_PTHREADS is defined.
11795
11796 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
11797
11798         * ChangeLog.1: Fix typos.
11799         * cse.c: Fix a comment typo.
11800         * reload1.c: Likewise.
11801
11802 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
11803
11804         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
11805         * fixinc/tests/base/_G_config.h: New file.
11806
11807 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
11808
11809         * combine.c: Fix comment formatting.
11810         * loop.c: Likewise.
11811         * real.c: Likewise.
11812         * regclass.c: Likewise.
11813         * regmove.c: Likewise.
11814         * regrename.c: Likewise.
11815         * reg-stack.c: Likewise.
11816         * reload1.c: Likewise.
11817         * reload.c: Likewise.
11818         * reload.h: Likewise.
11819         * unroll.c: Likewise.
11820
11821 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
11822
11823         * reload1.c (reload): Fix a comment typo.
11824
11825 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
11826
11827         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
11828
11829 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11830
11831         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
11832         * dwarf2out.c: Include hashtab.h.
11833         (is_main_source): New static variable.
11834         (attr_checksum, die_checksum): Modified to handle die references.
11835         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
11836         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
11837         record_comdat_symbol_number): New static functions.
11838         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
11839         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
11840         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
11841         declarations added.
11842
11843 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
11844
11845         * config/h8300/h8300.c (initial_offset): Change to
11846         h8300_initial_elimination_offset.
11847         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
11848         h8300_initial_elimination_offset.
11849         * config/h8300/h8300-protos.h: Update the prototype.
11850
11851 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
11852
11853         * config/mmix/mmix.h (LIBCALL_VALUE): Use
11854         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
11855         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
11856         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
11857         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
11858         and RTX_CODE.
11859         (mmix_function_value_regno_p): Declare.
11860
11861         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
11862         invalid for floating point mode result, with fix.
11863
11864 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
11865
11866         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
11867         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
11868         (stage1_build): Likewise.
11869
11870 2002-10-25  Mike Stump  <mrs@apple.com>
11871
11872         Fixes gcc.dg/warn-1.c.
11873         * c-typeck.c (warn_for_assignment): Don't print argument number,
11874         if zero.
11875
11876 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
11877
11878         * toplev.c (dump_file_index): Add DFI_ce3.
11879         (dump_file_info): Likewise.
11880         (rest_of_compilation): Run first ifcvt pass before tracer.
11881
11882 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
11883
11884         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
11885
11886 2002-10-25  Richard Henderson  <rth@redhat.com>
11887
11888         * real.c (real_to_decimal): If the >1 tens reduction loop results
11889         in a negative exponent, fall into the <1 pten computation.
11890
11891 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
11892
11893         PR middle-end/6994
11894         * c-objc-common.c (inline_forbidden_p): Can not inline
11895         functions containing structures or unions containing VLAs.
11896         * tree-inline.c (walk_tree): For all class 't' nodes, walk
11897         TYPE_SIZE and TYPE_SIZE_UNIT.
11898         (copy_tree_r): Copy types if they are variably modified.
11899
11900 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
11901
11902         * config/s390/s390.md: Remove old-style peepholes.
11903
11904 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
11905
11906         * config/s390/s390.c (s390_decompose_address): Do not range check the
11907         displacement if base or index is the argument pointer register.
11908
11909 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
11910
11911         PR other/3337
11912         PR bootstrap/6763
11913         PR bootstrap/8122
11914         * fixinc/inclhack.def (libc1_G_va_list): New fix.
11915         * fixinc/fixincl.x: Regenerate.
11916         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
11917         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
11918         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
11919         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
11920         * config.in, configure: Regenerate.
11921
11922 2002-10-24  Igor Shevlyakov <igor@microunity.com>
11923
11924         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
11925
11926 2002-10-24  Richard Henderson  <rth@redhat.com>
11927
11928         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
11929
11930 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
11931
11932         * config/h8300/h8300.c (initial_offset): Simplify by using
11933         round_frame_size.
11934
11935 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
11936
11937         * doc/install.texi (avr): Update required binutils version.
11938
11939 2002-10-24  Theodore A. Roth  <troth@openavr.org>
11940
11941         * doc/install.texi: Point avr users at more up-to-date information.
11942
11943 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
11944
11945         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
11946         to pull operands out of the literal pool where possible.
11947
11948 2002-10-24  Denis Chertykov  <denisc@overta.ru>
11949
11950         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
11951
11952 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
11953
11954         * expr.c (convert_move): If unsignedp is less then zero there
11955         is no equivalent code.
11956
11957 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
11958
11959         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
11960
11961 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
11962
11963         * config/s390/s390.h: Rework comments; re-sort target macro definitions
11964         according to the sequence they are defined in the manual.
11965         (POINTER_BOUNDARY): Remove.
11966
11967 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
11968
11969         * config/h8300/h8300.c (round_frame_size): Replace 8 with
11970         BITS_PER_UNIT.
11971
11972 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
11973
11974         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
11975         64-bit safe.
11976         (TINY_CONSTANT_ADDRESS_P): Likewise.
11977
11978 2002-10-24  Richard Henderson  <rth@redhat.com>
11979
11980         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
11981         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
11982         vcall offset.
11983
11984 2002-10-24  Richard Henderson  <rth@redhat.com>
11985
11986         PR opt/7944
11987         * reload.c (find_reloads_toplev): Mode of X is not important
11988         when simplifying subregs of constants.
11989
11990 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
11991
11992         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
11993         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
11994         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
11995         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
11996         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
11997
11998 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
11999
12000         * optabs.c (expand_binop): Don't reuse the shift target in the
12001         middle of shift sequences.
12002
12003 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
12004
12005         * i386.md (abs splitters): Do not produce nested subregs.
12006
12007 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
12008
12009         * i386.md (movti_rex64): Fix constraints.
12010
12011 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
12012
12013         * i386.md (abssf,absdf): Use vector operands for SSE
12014         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
12015         vector operand.
12016
12017 2002-10-23  Ziemowit Laski <zlaski@apple.com>
12018
12019         * objc/objc-act.c (get_static_reference): Remove unneeded
12020         TYPE_BINFO initialization.
12021         (get_object-reference): Likewise.
12022         (build_constructor): Tighten precondition check.
12023         (finish_message_expr): Likewise.
12024
12025 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
12026
12027         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
12028         after CONST test.
12029
12030 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
12031
12032         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
12033         in HFAs.
12034
12035 2002-10-23  Richard Henderson  <rth@redhat.com>
12036
12037         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
12038         (alpha_output_mi_thunk_osf): Handle vcall_offset.
12039
12040 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
12041
12042         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
12043         var_mod_type_p.
12044         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
12045         hook_tree_bool_false.
12046
12047         * tree.c (variably_modified_type_p): Moved here from
12048         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
12049         language-specific cases.  Due to this, must weaken some 'if
12050         and only if' checks to merely 'if'.
12051         * tree.h: Prototype variably_modified_type_p.
12052
12053         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
12054
12055 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
12056
12057         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
12058         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
12059
12060         * config/s390/s390-protos.h (fp_operand): Remove.
12061         * config/s390/s390.c (fp_operand): Remove.
12062         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
12063         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
12064         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
12065         (movdi_31, movdf_31 splitters): Likewise.
12066
12067         * config/s390/s390.h (IEEE_FLOAT): Remove.
12068         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
12069         (INT_REGNO_P): Rename to ...
12070         (GENERAL_REGNO_P): ... this.
12071         (FLOAT_REGNO_P): Rename to ...
12072         (FP_REGNO_P): ... this.
12073         (ADDR_REGNO_P): New macro.
12074         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
12075         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
12076         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
12077         (HARD_REGNO_NREGS): Adapt to macro renaming.
12078         (HARD_REGNO_MODE_OK): Likewise.
12079
12080 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
12081             Geoff Keating  <geoffk@apple.com>
12082
12083         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
12084         (rs6000_memory_move_cost): New function.
12085         * config/rs6000/rs6000-protos.h: Declare them.
12086         * config/rs6000/rs6000.h: Use them.
12087
12088 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
12089
12090         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
12091         inlining it into other libgcc2 routines.
12092         (__udivmoddi4): Likewise.
12093
12094 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
12095
12096         * doc/sourcebuild.texi (Test Suites): Improve.
12097
12098 2002-10-22  Stan Shebs  <shebs@apple.com>
12099
12100         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
12101         case for Darwin.
12102
12103 2002-10-22  Jim Wilson  <wilson@redhat.com>
12104
12105         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
12106
12107 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
12108
12109         PR other/8289
12110         * xmmintrin.h: Add const to the argument of loads.
12111
12112         * i386.md (pushv2di): New pattern.
12113         PR target/6890
12114         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
12115
12116 2002-10-22  Richard Henderson  <rth@redhat.com>
12117
12118         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
12119         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
12120         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
12121         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
12122         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12123         (TARGET_ASM_OUT): Update.
12124         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
12125         (hook_bool_tree_hwi_hwi_tree_true): New.
12126         (default_can_output_mi_thunk_no_vcall): New.
12127         * hooks.h: Declare them.
12128         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
12129
12130         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12131         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
12132         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
12133         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
12134         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
12135         config/stormy16/stormy16.c: Similarly.
12136
12137         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
12138         Handle 64-bit properly.  Streamline.
12139         (x86_output_mi_vcall_thunk): Remove.
12140         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
12141         (x86_can_output_mi_thunk): New.
12142         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
12143         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12144         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
12145
12146         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
12147         output_mi_thunk; make static; always use function_section.
12148         (TARGET_ASM_OUTPUT_MI_THUNK): New.
12149         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12150         (rs6000_ra_ever_killed): Test no_new_pseudos not
12151         targetm.asm_out.output_mi_thunk in conjunction with thunks.
12152         * config/rs6000/rs6000-protos.h: Update.
12153         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
12154         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
12155         xcoffout_declare_function when using rs6000_output_mi_thunk.
12156
12157         * config/s390/s390.c (s390_output_mi_thunk): Rename from
12158         s390_output_mi_vcall_thunk.
12159         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
12160         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12161
12162         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
12163         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
12164         * config/vax/vax-protos.h: Update.
12165         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
12166
12167 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
12168
12169         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
12170         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
12171         * i386.md (movti_internal): Use 'C'
12172
12173         * xmmintrin.h (_mm_cmplt_epi*): New.
12174
12175 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
12176
12177         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
12178         ("*movdf_64"): Likewise.
12179         ("*lshrdi3_64"): Likewise.
12180         ("blockage"): Add length attribute.
12181         ("lit"): Likewise.
12182
12183 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
12184
12185         * i386.md: FIx typo.
12186         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
12187         (sse2_umulv2siv2di3): Fix predicate.
12188         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
12189         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
12190         * xmmintrin.h (_mm_mul_epu16): Rename to...
12191         (_mm_mul_epu32): This one.
12192         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
12193
12194         (contains_128bit_aligned_vector_p): Undo accidental checkin.
12195
12196 2002-10-22  Eric Christopher  <echristo@redhat.com>
12197
12198         * config/sparc/sparc.h: Add #error.
12199
12200 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
12201
12202         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
12203         [s390x-*-linux*]: Likewise.
12204         * config/s390/t-linux: Remove.
12205         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
12206
12207 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
12208
12209         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
12210         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
12211         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
12212         * i386.md (mmx_punpck?dq): Simplify.
12213         (sse2_pubpcklqdq): Fix.
12214         (sse2_pubpckhqdq): New.
12215         * xmmintrin.h (_mm_unpackhi_epi32): New.
12216
12217         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
12218         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
12219
12220 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
12221
12222         PR c++/7209
12223         * fold_const.c (fold_binary_op_with_conditional_arg): Always
12224         build compound_expr if we used save_expr.
12225
12226 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
12227
12228         * output.h (SECTION_NOTYPE): Define.
12229         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
12230         init array sections.
12231         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
12232         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
12233         merge TLS support.
12234
12235 2002-10-21  Richard Henderson  <rth@redhat.com>
12236
12237         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
12238         the function type, not the return type.
12239
12240 2002-10-21  Richard Henderson  <rth@redhat.com>
12241
12242         * real.c (sticky_rshift_significand): Return inexact, don't
12243         or it in immediately.
12244         (sub_significands): Accept incomming carry.
12245         (div_significands, rtd_divmod): Update for sub_significands change.
12246         (round_for_format): Update for sticky_rshift_significand change.
12247         (do_add): Don't involve the inexact bit in addition, do give the
12248         inexact bit as the subtraction carry-in.
12249         (encode_internal, decode_internal, real_internal_format): New.
12250         * real.h (real_internal_format): Declare.
12251
12252 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
12253
12254         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
12255         don't define sdiv_qrnnd.
12256
12257 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
12258
12259         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
12260         using IN_RANGE.
12261         (TINY_CONSTANT_ADDRESS_P): Likewise.
12262
12263 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12264
12265         * i386.c (builtin_description): Add punpcklqdq and movdq2q
12266         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
12267         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
12268         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
12269         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
12270         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
12271         __builtin_ia32_setzero128.
12272         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
12273         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
12274         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
12275         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
12276         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
12277         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
12278         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
12279         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
12280         sse2_movq): New patterns.
12281         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
12282         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
12283         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
12284         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
12285         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
12286         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
12287         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
12288         (_mm_insert_epi16): Fix.
12289
12290 2002-10-21  Dale Johannesen  <dalej@apple.com>
12291
12292         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
12293             unsafe math reversals correctly for RTL generation.
12294           (output_cbranch):  Replace rs6000_reverse_condition call
12295             by its former definition.
12296
12297 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
12298
12299         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
12300         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
12301         from constant pool or LABEL_REFs as sign extended if allow_rip.
12302         Change all +-1GB limits to +-16MB.
12303         (x86_64_general_operand, x86_64_szext_general_operand,
12304         x86_64_nonmemory_operand, x86_64_movabs_operand,
12305         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
12306         legitimate_address_p, ix86_expand_int_movcc): Update callers.
12307         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
12308         in CM_SMALL_PIC model.
12309         (legitimate_pic_address_disp_p): Don't check offsets before
12310         calling local_symbolic_operand.
12311         (legitimize_pic_address): Force offsets bigger than +-16MB into
12312         register.
12313         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
12314         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
12315         prototype.
12316
12317         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
12318         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
12319         * configure: Rebuilt.
12320         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
12321         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
12322         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
12323         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
12324         -fpic.
12325         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
12326         non-pic code if TARGET_64BIT.
12327         (legitimize_address): Generate 64-bit TLS sequences.
12328         (output_pic_addr_const): Support x86-64 TLS operators.
12329         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
12330         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
12331         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
12332         (output_addr_const_extra): Support x86-64 TLS operators.
12333         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
12334         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
12335         unconditionally.
12336         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
12337         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
12338         (*tls_global_dynamic_sun): Renamed to...
12339         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
12340         (tls_global_dynamic): Renamed to...
12341         (tls_global_dynamic_32): ... this.
12342         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
12343         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
12344         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
12345         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
12346         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
12347         (tls_local_dynamic_base_dynamic): Renamed to...
12348         (tls_local_dynamic_base_dynamic_32): ... this.
12349         (tls_local_dynamic_base_dynamic_64,
12350         *tls_local_dynamic_base_dynamic_64): New.
12351         (*tls_local_dynamic_once): Renamed to...
12352         (*tls_local_dynamic_32_once): ... this.
12353
12354 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
12355
12356         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
12357         __divdi3, __umoddi3, or __moddi3.
12358
12359 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
12360
12361         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
12362         instead of just opt_index as switch expression.
12363
12364         * calls.c (store_one_arg): Change type of 'excess_align'
12365         to unsigned int.
12366
12367         * profile.c (output_gcov_string): Change type of 'temp'
12368         to size_t.
12369
12370 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
12371
12372         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
12373         (__fixunssfdi, __fixsfdi): Likewise.
12374         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
12375         (s390_single_qi): Likewise.
12376         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
12377         unsigned comparison warning.
12378         (s390_return_addr_rtx): New function.
12379         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
12380         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
12381         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
12382
12383 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
12384
12385         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
12386         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
12387         (s390_output_mi_thunk): Remove.
12388         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
12389
12390 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
12391
12392         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
12393
12394 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
12395
12396         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
12397         inverted test in the conditional determining the possibility
12398         of sibcalls in PIC mode.
12399
12400 2002-10-20  Richard Henderson  <rth@redhat.com>
12401
12402         * target.h (struct gcc_target): Line wrap.
12403
12404         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
12405         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
12406         * config/alpha/alpha.h: ... not here.
12407         * config/alpha/alpha-protos.h: Update.
12408
12409         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
12410         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
12411         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
12412         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
12413         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
12414         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12415         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
12416         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
12417         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
12418         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
12419         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
12420         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
12421         config/sparc/sparc.c, config/sparc/sparc.h,
12422         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
12423         config/stormy16/stormy16.h: Similarly.
12424
12425         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
12426         selection logic from call patterns.
12427
12428 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
12429
12430         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
12431
12432 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12433
12434         PR other/8202
12435         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
12436         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
12437         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
12438         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
12439
12440 2002-10-20  Roger Sayle  <roger@eyesopen.com>
12441
12442         PR c/761
12443         * toplev.c (flag_unsafe_profile_arcs): Remove.
12444         (flag_bounded_pointers): Remove.
12445         (flag_bounds_check): Correct comments.
12446         (lang_independent_options): Remove -funsafe-profile-arcs and
12447         -fbounded-pointers.  Correct -fbounds-check comments.
12448
12449         * flags.h: Correct flag_schedule_interblock comments.
12450         (flag_bounded_pointers): Remove prototype.
12451         (flag_bounds_check): Correct comments.
12452
12453         * c-opts.c (c_common_init_options): No need to mark
12454         flag_bounds_check as unspecified.
12455         (c_common_post_options): And no need to set it from
12456         flag_bounded_pointers if its still unspecified.
12457
12458         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
12459         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
12460         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
12461         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
12462
12463 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
12464         Angela Marie Thomas  <angela@releasedominatrix.com>
12465         Brendan Kehoe  <brendan@zen.org>
12466         Nick Clifton  <nickc@redhat.com>
12467         Andrew Haley  <aph@redhat.com>
12468
12469         * configure.in (--with-sysroot): New.  Don't inhibit libc if
12470         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
12471         and CROSS_SYSTEM_HEADER_DIR.
12472         * configure: Rebuilt.
12473         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
12474         (TARGET_SYSTEM_ROOT): New.
12475         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
12476         CROSS_SYSTEM_HEADER_DIR.
12477         (install-gcc-tooldir): New target.
12478         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
12479         if SYSTEM_HEADER_DIR does not exist and it's not the default
12480         sys-include directory.
12481         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
12482         (install-mkheaders): Likewise.
12483         * gcc.c (target_system_root): New variable.
12484         (add_sysrooted_prefix): New function.
12485         (process_command): Recompute run-time target_system_root from
12486         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
12487         does not exist.
12488         (do_spec_1): Process 'R' spec.
12489         (main): Add md_exec_prefix to exec_prefixes regardless of
12490         startfile_prefix_spec.  Use add_sysrooted_prefix for
12491         startfile_prefixes, and don't skip the default ones when cross
12492         compiling with sysroot enabled.  Removed unused case of
12493         non-absolute standard_startfile_prefix.
12494         * config/interix.h: Remove the only potential, yet disabled,
12495         occurrence of non-absolute (empty) standard_startfile_prefix.
12496         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
12497         linking.
12498         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
12499         * doc/install.texi (--with-sysroot): Document.
12500         (--with-headers, --with-libs): Deprecate.
12501
12502 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12503             Mark Mitchell  <mark@codesourcery.com>
12504
12505         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
12506         match target.h.
12507         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
12508         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
12509         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
12510         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
12511         x86_output_mi_thunk): Likewise.
12512         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
12513         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
12514         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
12515         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
12516         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
12517         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
12518         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
12519         Likewise.
12520         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
12521
12522         * target.h (gcc_target): Update output_mi_thunk and
12523         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
12524         vcall_index.
12525
12526         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
12527         TARGET_ASM_OUTPUT_MI_THUNK in comments.
12528         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
12529         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
12530         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
12531         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
12532         signature.
12533         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
12534         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
12535         TARGET_ASM_OUTPUT_MI_THUNK in comments.
12536         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
12537         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
12538         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
12539         TARGET_ASM_OUTPUT_MI_THUNK in comments.
12540         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
12541         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
12542
12543         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
12544         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
12545
12546 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
12547
12548         * real.c (do_add): Fix 0+0 sign corner case.
12549         (do_divide): Fix Inf/0 corner case.
12550
12551 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
12552
12553         * i386.c (classify_argument): Pass MMX arguments in memory
12554         (ix86_expand_builtin): Expand proper address mode for cflush.
12555         * i386.md (movdqa): Fix typo.
12556         (sse2_cflush): Accept DImode addresses.
12557
12558         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
12559         (_mm_max_sd): Fix pasto.
12560         (_mm_storeh_pd, _mm_storel_pd): Fix.
12561
12562         * i386.c (bdesc_comi): Fix to match specification.
12563         (ix86_expand_sse_comi): Emit the comparison properly.
12564         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
12565         Do not use comparison operator.
12566         (vnmaskcmp): Fix template.
12567
12568         * xmmintrin.h (_mm_cvtps_pi16): Fix.
12569
12570 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
12571
12572         * dependence.c : Removed.
12573         * Makefile.in : Remove dependence.o.
12574
12575 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
12576
12577         * mmintrin.h (__m64): typedef it to v2si.
12578         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
12579         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
12580         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
12581         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
12582         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
12583         * xmmintrin.h (_mm_setzero_si64): Likewise.
12584
12585         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
12586         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
12587
12588         PR target/7693
12589         Patch by Shawn Wagner
12590         * mmintrin.h: Replace pi64 by si64.
12591
12592 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
12593
12594         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
12595         Use length of 4 not *.
12596         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
12597         (movdf_softfloat64): Likewise.
12598         (movdi_internal32): Use length of 4 not *.
12599         (movti_power): Same.
12600         (ctrsi, ctrdi): Same.
12601
12602 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
12603
12604         * c-decl.c (start_decl): Point users of the old initialized-
12605         typedef extension at __typeof__.
12606
12607 2002-10-18  Richard Henderson  <rth@redhat.com>
12608
12609         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
12610         (real_to_decimal): Re-implement using the logic from the
12611         gcc 3.2 etoasc.  Comment heavily.
12612         (div_significands): Simplify loop startup and comparison logic.
12613
12614 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
12615
12616         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
12617         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
12618         (TARGET_ASM_OUT): Add them.
12619         * target.h (asm_out): Add output_mi_thunk and
12620         output_mi_vcall_thunk.
12621         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12622         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12623         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
12624         * config/arm/arm.c (arm_output_mi_thunk): Define.
12625         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12626         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12627         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12628         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12629         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12630         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12631         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
12632         prototype.
12633         (x86_output_mi_vcall_thunk): Declare.
12634         * config/i386/i386.c (override_options): Clear
12635         output_mi_vcall_thunk in 64-bit mode.
12636         (ix86_fntype_regparm): New function.
12637         (ix86_return_pops_args): Use it.
12638         (ia32_this_parameter): New function.
12639         (x86_output_mi_vcall_thunk): New function.
12640         (x86_output_mi_thunk): Use it
12641         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
12642         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
12643         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
12644         * config/i960/i960.c (i960_output_mi_thunk): New function.
12645         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
12646         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
12647         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
12648         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12649         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12650         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
12651         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12652         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12653         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12654         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12655         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12656         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12657         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12658         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12659         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12660         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12661         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
12662         * config/s390/s390.c (s390_output_mi_thunk): Define.
12663         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12664         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12665         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12666         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12667         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12668         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12669         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
12670         * config/vax/vax.c (vax_output_mi_thunk): Define.
12671         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
12672         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
12673         * doc/tm.texi: Adjust documentation.
12674
12675 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
12676
12677         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
12678         __enable_execute_stack function.
12679         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
12680         as NETBSD_ENABLE_EXECUTE_STACK.
12681         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12682         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12683         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12684         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12685         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
12686
12687 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
12688
12689         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
12690         to __enable_execute_stack with the address of the trampoline
12691         if TRANSFER_FROM_TRAMPOLINE is defined.
12692         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
12693         constant if building libgcc2.
12694
12695 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
12696
12697         * i386.c (pentium4_cost): Fix according to Intel recommendations.
12698         (ix86_memory_move_cost): Fix for 64bit compilation.
12699
12700 2002-10-17  Roger Sayle  <roger@eyesopen.com>
12701
12702         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
12703
12704 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
12705
12706         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
12707         in CTR/LR/MQ.
12708         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
12709         to/from CTR/LR/MQ.
12710         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
12711         (movsf_softfloat): Likewise.
12712
12713 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
12714
12715         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
12716
12717 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
12718
12719         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
12720         tramp, not addr, to pass the trampoline address to
12721         __enable_execute_stack.
12722
12723 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
12724
12725         * mmintrin.h: Guard by __MMX__
12726         * xmmintrin.h: Guard by __SSE__
12727
12728         PR other/8062
12729         * xmmintrin.h (_MM_SHUFFLE2): New macro.
12730         (_mm_load*_?d): New functions.
12731         (_mm_set*_?d): New functions.
12732         (_mm_store*_?d): New functions.
12733
12734 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
12735
12736         Really commit patch announced at Oct 14
12737         PR c/7344
12738         * predict.c (can_predict_insn_p): New function.
12739         (estimate_probability): Avoid unnecesary work.
12740         (process_note_prediction): Likewise.
12741         * toplev.c (rest_of_compilation): Account early branch prediction pass
12742         as TV_BRANCH_PROB.
12743
12744         PR other/8048
12745         Found by Ian Ollmann
12746         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
12747         (_mm_load?_pd): Likewise.
12748         (_mm_store?_pd): Likewise.
12749
12750         PR target/7386
12751         * i386.c (builtin_description):Drop cmpg[te]s[sd].
12752         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
12753         swapped alternative.
12754
12755         PR opt/7630
12756         * reload1.c (reload_inner_reg_of_subreg): New argument output;
12757         (push_reload): Update call.
12758
12759 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
12760
12761         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
12762         if using mips/elf.h or mips/elf64.h.
12763         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
12764         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
12765
12766 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
12767
12768         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
12769         SI.
12770
12771 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
12772
12773         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
12774         (LPREFIX): Likewise.
12775         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
12776         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
12777         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
12778         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
12779         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
12780
12781         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
12782         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
12783         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
12784         BSS_SECTION_ASM_OP): Move from linux.h.
12785         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12786         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
12787
12788         * config/s390/s390.c (s390_function_profiler): Use
12789         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
12790
12791 2002-10-15  Eric Christopher  <echristo@redhat.com>
12792
12793         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
12794         * java/parse.y (obtain_incomplete_type): Make pointer
12795         ptr_mode.
12796
12797 2002-10-15  Richard Henderson  <rth@redhat.com>
12798
12799         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
12800         as arguments.  Bound DIGITS by the available buffer size.
12801         (real_to_hexadecimal): Likewise.
12802         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
12803         (REAL_VALUE_TO_DECIMAL): Remove.
12804         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
12805         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
12806         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
12807         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
12808         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
12809         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
12810         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
12811         use real_to_decimal directly, and with the proper arguments.
12812         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
12813
12814 2002-10-15  Jim Wilson  <wilson@redhat.com>
12815
12816         * reload1.c (merge_assigned_reloads): After converting overlapping
12817         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
12818
12819         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
12820
12821 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12822
12823         * expr.c (do_tablejump): Fix typo in my previous commit.
12824
12825 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
12826
12827         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
12828
12829 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
12830
12831         * config/s390/s390.c (s390_split_branches): Add return
12832         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
12833
12834         (find_base_register_in_addr): New function.
12835         (find_base_register_ref): New function.
12836         (replace_base_register_ref): New function.
12837
12838         (struct constant_pool): Add members pool_insn, insns, and anchor.
12839         Remove member last_insn.
12840         (s390_start_pool): Initialize them.
12841         (s390_end_pool): Emit pool placeholder insn.
12842         (s390_add_pool_insn): New function.
12843         (s390_find_pool): Use insns bitmap instead of addresses.
12844         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
12845         Replace unspec 104 by local-pool-relative references.
12846         (s390_output_constant_pool): Output anchor label if required.
12847         (s390_output_symbolic_const): Handle unspec 104 and 105.
12848         (s390_add_pool): Remove, replace by ...
12849         (s390_add_constant, s390_find_constant): ... these new functions.
12850         (s390_add_anchor): New function.
12851
12852         (s390_chunkify_pool): Delete, replace by ...
12853         (s390_chunkify_start, s390_chunkify_finish,
12854         s390_chunkify_cancel): ... these new functions.
12855         (s390_optimize_prolog): Add parameter TEMP_REGNO.
12856         Recompute register live data for special registers.
12857         (s390_fixup_clobbered_return_reg): New function.
12858         (s390_machine_dependent_reorg): Rewrite to use new
12859         s390_chunkify_... routines.
12860
12861         config/s390/s390.md ("reload_base"): Rename to ...
12862         ("reload_base_31"): ... this.
12863         ("reload_base_64"): New insn.
12864         ("reload_base2"): Remove.
12865         ("reload_anchor"): New insn.
12866         ("pool"): New insn.
12867
12868         s390.c (s390_pool_overflow): Remove.
12869         s390.h (s390_pool_overflow): Likewise.
12870         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
12871
12872 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
12873
12874         * sh.md (movv8qi_i+2): Don't split if source is -1.
12875
12876 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
12877
12878         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
12879
12880 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
12881
12882         PR opt/7409
12883         * loop.c (loop_regs_scan): Mark registers used for function
12884         argument passing as MAY_NOT_OPTIMIZE.
12885
12886 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
12887
12888         * gcov-io.h (gcov_info): Fix type.
12889         * profile.c (create_profiler): Fix type mismatch.
12890
12891 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
12892
12893         * i386.md (movv2di_internal): New pattern.
12894         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
12895         (movv2di): New expander.
12896         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
12897
12898         * i386.c (ix86_expand_timode_binop_builtin): Delete.
12899         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
12900         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
12901         (ix86_expand_builtin): Likewise.
12902         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
12903         sse_andti3,
12904         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
12905         sse_andnti3,
12906         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
12907         sse_orti3,
12908         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
12909         sse_xorti3): Kill.
12910         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
12911          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
12912         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
12913          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
12914         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
12915          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
12916
12917         * xmmintrin.h (__m128i): Define as __v2di.
12918
12919         PR c++/6419
12920         (expand_expr): Use DECL_RTL_SET_P.
12921
12922 2002-10-14  Roger Sayle  <roger@eyesopen.com>
12923
12924         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
12925
12926 2002-10-14  Roger Sayle  <roger@eyesopen.com>
12927             Zack Weinberg <zack@codesourcery.com>
12928
12929         * config/i386/i386.c (k6_cost): Correct typo.
12930
12931 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
12932
12933         PR optimization/6631
12934         * alias.c (objects_must_conflict_p): Check honor_readonly when
12935         examining TYPE_READONLY.
12936         * function.c (assign_stack_temp_for_type): Likewise.
12937
12938 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
12939
12940         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
12941         Swap zero extension arguments.
12942         (umaxhi3): Fix instruction class.
12943         PR target/7211
12944         (prefetch): Fix prefetch instructions.
12945         PR target/7238
12946         (pkwb): Fix output constraint.
12947
12948 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
12949
12950         * config/mips/mips.c (print_operand): Increase buffer size for
12951         real numbers.
12952
12953 2002-10-14  Richard Henderson  <rth@redhat.com>
12954
12955         PR opt/8165
12956         * gcse.c (adjust_libcall_notes): Revert last change.
12957         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
12958
12959 2002-10-14  Andrew Haley  <aph@redhat.com>
12960
12961         * tree-inline.c (remap_block): All local class initialization
12962         flags go in the outermost scope.
12963         (expand_call_inline): Call java_inlining_map_static_initializers.
12964         (expand_call_inline): Call java_inlining_merge_static_initializers.
12965         * java/lang.c (merge_init_test_initialization): New.
12966         (java_inlining_merge_static_initializers): New.
12967         (inline_init_test_initialization): New.
12968         (java_inlining_map_static_initializers): New.
12969
12970         * tree-inline.c (expand_call_inline): Convert retvar to expected
12971         type.
12972
12973 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
12974
12975         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
12976
12977 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
12978
12979         * stmt.c: Fix typo in comment.
12980
12981 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
12982
12983         * c-common.c (c_common_type_for_mode): Add V2HImode case.
12984         * tree.c (build_common_tree_nodes_2): Initialize
12985         unsigned_V2HI_type_node and V2HI_type_node.
12986         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
12987         (unsigned_V2HI_type_node, V2HI_type_node): Define.
12988
12989 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
12990
12991         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
12992         Handle TARGET_64BIT.
12993
12994 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
12995
12996         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
12997         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
12998         (MULTILIB_DIRNAMES): Remove long32.
12999         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
13000         (MULTILIB_REDUNDANT_DIRS): Remove.
13001
13002 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
13003
13004         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
13005         * gcc.c (driver_self_specs): New variable.
13006         (do_self_spec): New function.
13007         (main): Use it to process driver_self_specs.
13008
13009 2002-10-13  Richard Henderson  <rth@redhat.com>
13010
13011         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
13012         indirect sibcalls when regparm >= 3.
13013
13014         * config/i386/i386.c (sibcall_insn_operand): New.
13015         * config/i386/i386.h (PREDICATE_CODES): Update.
13016         * config/i386/i386-protos.h: Update.
13017         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
13018
13019         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
13020
13021 2002-10-12  Roger Sayle  <roger@eyesopen.com>
13022
13023         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
13024         arithmetic right shifts of ~0 during RTL simplifications.
13025
13026 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
13027
13028         PR preprocessor/7862
13029         PR preprocessor/8190
13030         * gcc.c (cpp_unique_options): Don't delete .d files.
13031         Remove stray whitespace.
13032
13033 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
13034
13035         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
13036         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
13037         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
13038         (pdp11_output_function_epilogue, output_ascii): Likewise.
13039         (output_addr_const_pdp11): Likewise.
13040         * pdp11.md (movdi): Use offsetable memory for floating store.
13041         (lshrsi3, negsi2): Delete irrelevant comment.
13042
13043 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
13044
13045         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
13046         indirect calls to be sibcall optimized.
13047         * config/i386/i386.md (sibcall_1): New.
13048         (call_1): Add no-sibcalls condition.
13049         (sibcall_value_1): New.
13050         (call_value_1): Add no-sibcalls condition.
13051
13052 2002-10-11  Eric Christopher  <echristo@redhat.com>
13053
13054        * output.h (default_valid_pointer_mode): Declare.
13055        * varasm.c (default_valid_pointer_mode): Define.
13056        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
13057        * target.h: Ditto.
13058        * tree.c (build_pointer_type_for_mode): New function.
13059        (build_pointer_type): Use.
13060        (build_reference_type_for_mode): New function.
13061        (build_reference_type): Use.
13062        * tree.h: Declare new functions.
13063        * c-common.c (handle_mode_attribute): Use new functions, check
13064        for type.
13065        * stor-layout.c (layout_type): Depend on machine mode for
13066        REFERENCE_TYPE and POINTER_TYPE.
13067        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
13068        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
13069        and REFERENCE_TYPE.
13070        * config/mips/mips.c (mips_valid_pointer_mode): New function.
13071        (TARGET_VALID_POINTER_MODE): Use and define.
13072        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
13073
13074 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
13075
13076         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
13077         not the address of the REG.
13078         (struct cse_reg_info): Make subreg_ticked unsigned.
13079
13080 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
13081
13082         * doc/compat.texi: Add info about C++ libraries.
13083
13084 2002-10-11  Richard Henderson  <rth@redhat.com>
13085
13086         PR opt/8165
13087         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
13088
13089 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13090
13091         * cfganal.c (dfs_enumerate_from): Use PARAMS.
13092         * genautomata.c (output_insn_code_cases): Likewise.
13093         * real.c (real_format): Likewise.
13094         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
13095         ensure value is promoted before doing subtraction.
13096
13097 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
13098
13099         * calls.c (expand_call): Simplify noreturn call.
13100
13101         PR c/7344
13102         * cfgbuild.c (make_edges): Create edge cache when we do have
13103         large jumptable.
13104         * expr.c (do_tablejump): Note size of maximal jumptable.
13105         * function.c (prepare_function_start): Zero out size.
13106         * function.h (function): Add max_jumptable_ents.
13107
13108         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
13109
13110 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
13111
13112         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
13113         register for mperm_w operation.
13114
13115 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13116
13117         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
13118         an integer, use simplify_gen_subreg.
13119
13120 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
13121
13122         * calls.c (flags_from_decl_or_type): Make extern.
13123         (ECF_*): Move ...
13124         * rtl.h (ECF_*): ... here.
13125         (flags_from_decl_or_type): Declare.
13126
13127 2002-10-10  Roger Sayle  <roger@eyesopen.com>
13128             Nathan Sidwell <nathan@codesourcery.com>
13129
13130         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
13131         shifts of the form -1 >> x.
13132
13133 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
13134
13135         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
13136
13137 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
13138
13139         * extend.texi (Vector Extensions): Remove comment about single
13140         element vectors.
13141
13142 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13143
13144         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
13145         * function.c (insns_for_mem_hash): Likewise.
13146         * varasm.c (STRHASH): Likewise.
13147
13148 2002-10-10  Stuart Hastings  <stuart@apple.com>
13149
13150         * cse.c (struct cse_reg_info): Add subreg_ticked.
13151         (SUBREG_TICKED): New.
13152         (get_cse_reg_info): Initialize SUBREG_TICKED.
13153         (mention_regs): Use it.
13154         (invalidate): Set SUBREG_TICKED.
13155         (invalidate_for_call): Likewise.
13156         (addr_affects_sp_p): Likewise.
13157
13158 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
13159
13160         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
13161         into proper operand.
13162
13163 2002-10-10  Denis Chertykov  <denisc@overta.ru>
13164
13165         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
13166         deallocation.
13167         * config/ip2k/libgcc.S: Combine routines used by function
13168         epilogue.
13169
13170 2002-10-10  Jim Wilson  <wilson@redhat.com>
13171
13172         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
13173         UDIV.
13174
13175 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
13176
13177         * config/rs6000/aix52.h: New file.
13178         * config/rs6000/t-aix52: New File.
13179         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
13180         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
13181
13182 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
13183
13184         PR target/5610
13185         * invoke.texi (-msse-math): Kill
13186         (-msse): Add note to mfpmath=sse.
13187
13188 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
13189
13190         PR target/7723
13191         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
13192
13193 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
13194
13195         PR preprocessor/8179
13196         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
13197         as cc1_options.
13198         (default_compilers): Pass debug options when preprocessing
13199         stdin.
13200
13201 2002-10-06  Richard Henderson  <rth@redhat.com>
13202
13203         * toplev.c (rest_of_compilation): Revert opt/2960 change.
13204
13205 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13206
13207         * i386.c (*_cost): Add branch costs.
13208         (override_options): set ix86_branch_cost.
13209         (ix86_expand_int_movcc): Use BRANCH_COST.
13210         * i386.h (costs): Add branch_cost.
13211
13212 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
13213
13214         PR c/7353
13215         * c-decl.c (start_decl): Unconditionally issue error for
13216         'typedef foo = bar'.
13217         (finish_decl): Remove special case for TYPE_DECL with initializer.
13218
13219         * doc/extend.texi: Delete "Naming Types" section.  Change all
13220         cross-references to that section to refer to "Typeof" instead.
13221         Add the useful safe-max()-macro example from "Naming Types" to
13222         "Typeof", rewritten using that extension.  Add some compatibility
13223         notes to "Typeof."
13224
13225 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13226
13227         * loop.c: Revert 2002-08-15 change.
13228         (LOOP_REGNO_NREGS): Ensure type is int.
13229
13230 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
13231
13232         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
13233         which copies first FPR and clears second.
13234         (extendsftf2): Same.
13235         (floatditf2): Fix typo.
13236         (floatsitf2): Same.
13237         (fix_trunctfdi2): Same.
13238         (fix_trunctfsi2): Same.
13239
13240 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13241
13242         * conflict.c (arc_hash): Change return type to hashval_t.
13243         * cselib.c (get_value_hash): Likewise.
13244         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
13245         state_hash, automata_list_hash): Likewise.
13246         * read-rtl.c (def_hash): Likewise.
13247         * tree.c (type_hash_hash): Likewise.
13248
13249 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
13250
13251         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
13252         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
13253
13254 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
13255
13256         * sh.md (ffssi2): Fix emitted code.
13257
13258 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
13259
13260         * cse.c (insn_live_p): Pass insn pattern, not full insn
13261         to may_trap_p.
13262
13263 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
13264
13265         * cppmacro.c (paste_tokens): Only allow / to paste with =.
13266
13267 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
13268
13269         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
13270         64-bit hosts.
13271         (movtf_internal): Reference correct displacement for second value
13272         in memory.
13273         (movtf splitter): Correct generation of constants in 64-bit mode.
13274
13275 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
13276
13277         * libgcc2.c (__floatdisf): Properly cure double rounding.
13278
13279 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13280
13281         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
13282         * doc/cpp.texi (Common Predefined Macros): Document.
13283
13284 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13285
13286         PR doc/7484
13287         * doc/invoke.texi (Option Summary): List
13288         -Wmissing-declarations as a C only option.
13289
13290 2002-10-08  Roger Sayle  <roger@eyesopen.com>
13291
13292         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
13293         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
13294         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
13295
13296 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
13297
13298         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
13299         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
13300         variables.
13301         (safe_vector_operand): Update sse_clrv4sf call.
13302         (ix86_expand_buildin): Likewise
13303         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
13304         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
13305         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
13306         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
13307         macros.
13308         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
13309         movv4si):  Obey the new flags.
13310         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
13311         reformating penalty.
13312         (anddf, cmov patterns): Avoid reformating by first converting.
13313         (sse_cvtsd2ss): Fix predicate.
13314         (sse2_clrti): Fix mode,
13315         (sse_clrv4sf): Avoid unspec.
13316
13317 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
13318
13319         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
13320         mno-app-regs|mcmodel=medany.
13321         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
13322         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
13323         (CRTSTUFF_T_CFLAGS): Define.
13324
13325 2002-10-08  Roger Sayle  <roger@eyesopen.com>
13326
13327         PR target/8087
13328         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
13329         pool references that are constructed using LO_SUM.
13330
13331 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
13332
13333         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
13334         -Wall.
13335         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
13336         message.
13337         * flags.h (warn_strict_aliasing): Declare.
13338         * toplev.c (warn_strict_aliasing): Define.
13339         (lang_independent_options): Add it.
13340         * doc/invoke.texi (-Wstrict-aliasing): Document it.
13341
13342 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
13343
13344         * system.h (GCCBUGURL): Delete.
13345         * version.c (bug_report_url): New.  Add commentary about
13346         modifying both these strings in modified distributions.
13347         * version.h: Declare bug_report_url.
13348
13349         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
13350         bug_report_url.
13351
13352 2002-10-08  Nick Clifton  <nickc@redhat.com>
13353
13354         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
13355         convert uint64_t into __ev64_opaque__.
13356         (__ev_set_acc_s64): Likewise, but using signed types.
13357
13358 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
13359
13360         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
13361         ("*doloop_di_long"): Likewise.
13362
13363 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
13364
13365         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
13366
13367 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
13368
13369         * config/mips/mips.md (define_attr cpu): Add r4111.
13370
13371 2002-10-08  Anthony Green  <green@redhat.com>
13372
13373         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
13374
13375 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13376
13377         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
13378         for REAL_VALUE_TO_DECIMAL output.
13379
13380 2002-10-07  Richard Henderson  <rth@redhat.com>
13381
13382         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
13383         function; cleanup PLUS case by using recursion.  Update all users.
13384         (NONZERO_BASE_PLUS_P): Remove.
13385         (find_comparison_args): Use rtx_addr_can_trap_p instead.
13386         (fold_rtx): Use nonzero_address_p.
13387         * rtl.h (nonzero_address_p): Declare.
13388         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
13389         (rtx_addr_can_trap_p): Likewise.
13390         (nonzero_address_p): New.
13391         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
13392         (simplify_relational_operation): Use nonzero_address_p.
13393
13394 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
13395
13396         * config/rs6000/rs6000.c (rs6000_override_options): Set
13397         real_format_for_mode for IBM extended format, if enabled.
13398         (easy_fp_constant): Add TFmode.
13399         (rs6000_legitimize_address): Add TFmode.
13400         (rs6000_legitimate_address): Same.
13401         (function_arg_advance): TFmode uses two FPRs.
13402         (rs6000_emit_prologue): Fix warning.
13403         (rs6000_output_function_epilogue): Add TFmode.
13404         (output_toc): Add TFmode.
13405         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
13406         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
13407         * rs6000.md (movtf splitter): Load TFmode constant.
13408
13409 2002-10-07  Dale Johannesen  <dalej@apple.com>
13410
13411         * rtl.h:  Add NOTE_PRECONDITIONED.
13412         * unroll.c:  Set it.
13413         * loop.c:  Set loop_info->preconditioned from it.
13414         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
13415
13416 2002-10-07  Richard Henderson  <rth@redhat.com>
13417
13418         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
13419         new rtx for comparing the argument pointer against zero.
13420         (i960_va_start): Similarly.
13421
13422 2002-10-07  Richard Henderson  <rth@redhat.com>
13423
13424         * config/i960/i960.md (*): Use TFmode, not XFmode.
13425         * config/i960/i960.c (*): Likewise.
13426         (i960_arg_size_and_align): Remove XFmode alignment hack.
13427         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
13428         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
13429         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
13430         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
13431
13432 2002-10-07  Richard Henderson  <rth@redhat.com>
13433
13434         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
13435         entry points; use void return value and argument list.
13436
13437 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
13438
13439         * calls.c (expand_call): Fix function-is-volatile check.
13440
13441 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
13442
13443         * t-pdp11: Add MULTILIB support for msoft-float.
13444         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
13445
13446         * t-pdp11: Add LIB2FUNCS_EXTRA.
13447         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
13448         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
13449         'fldd' to 'ldd', rename 'fstd' to 'std'.
13450         (pdp11_output_function_epilogue): Likewise.
13451         (output_move_quad): Make the comment gas compatible.
13452         (output_ascii): Add preceding 0 to the octal constant.
13453         (print_operand_address): Add pre_modify, post_modify.
13454         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
13455         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
13456         with the indication of Paul Koning.
13457         (PRINT_OPERAND): Fix floating constant.
13458         * pdp11.md (movdi): Restrict matching pattern.
13459         (movqi): Generalize the matching pattern.
13460         (movdf): Restrict matching pattern.
13461         (zero_extendqihi2): Change constant representation.
13462         (floatsidf2): Fix wrong operands.
13463         (addqi3): Fix wrong instruction name.
13464         (subqi3): Fix wrong instruction name.
13465         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
13466         (xorsi3): Fix wrong insn.
13467         (one_cmplqi2): Add two operand pattern.
13468         (lsrsi3): New.
13469         (negsi2): New.
13470         (call): Add register indirect case.
13471         (mod): Fix wrong subreg.
13472
13473 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
13474             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
13475
13476         PR c/7411
13477         * expr.c (expand_expr) [PLUS]: Simplify after the operands
13478         have been expanded in EXPAND_NORMAL mode.
13479
13480 2002-10-06  Richard Henderson  <rth@redhat.com>
13481
13482         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
13483
13484 2002-10-06  Richard Henderson  <rth@redhat.com>
13485
13486         PR optimization/2960
13487         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
13488         optimize_size.
13489
13490 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
13491
13492         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
13493         previously definitions.
13494
13495 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
13496
13497         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
13498         * c-opts.c (find_opt): Similarly.
13499
13500 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
13501
13502         * athlon.md: rewrite to DFA.
13503         * i386 (ix86_adjust_cost): Drop memory latency code.
13504         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
13505
13506 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
13507
13508         * gcc.c (set_multilib_dir): Don't access *end.
13509         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
13510         (print_multilib_info): Don't show paths starting with ".:".
13511         * genmultilib: Add new option, "yes" if multilibs are enabled.
13512         Update comments.  If multilibs not enabled, print .:${osdirout}
13513         for each directory.  If multilibs are enabled, always print
13514         ${dirout}:${osdirout}, even if the two are the same.
13515         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
13516         Pass all MULTILIB_* variables to genmultilib even if
13517         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
13518
13519 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
13520
13521         * gcc.c (process_command): Set .validated for -pipe.  Correct
13522         grammar in comment.
13523
13524 2002-10-04  Bruce Korb  <bkorb@gnu.org>
13525
13526         * fixinc/inclhack.def(hpux11_abs):  use format fix
13527         * fixinc/fixincl.x: regenerate
13528         * fixinc/tests/base/stdlib.h: accommodate new fix test
13529
13530 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
13531
13532         * c-common.c (cb_register_builtins):  Use really_no_inline.
13533
13534 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
13535
13536         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
13537         copied instruction if the note is not loop invariant.
13538
13539 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
13540
13541         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
13542
13543 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
13544
13545         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
13546         and -mhp-ld options to list of options.  Add -mgnu-ld
13547         and -mhp-ld option descriptions.
13548
13549 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
13550
13551         * fixinc/inclhack.def (hpux11_abs):  New.
13552         (stdio_va_list): change __va_list__ to __gnuc_va_list.
13553         * fixinc/fixincl.x: Rebuild.
13554
13555 2002-10-04  Roger Sayle  <roger@eyesopen.com>
13556
13557         * config/i386/i386.h (processor_costs): Add new fields fadd,
13558         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
13559         (RTX_COSTS): Use these fields to determine the RTX costs
13560         of floating point addition/subtraction, multiplication,
13561         division, fabs, negation and square root respectively.
13562         * config/i386/i386.c (size_cost): Provide instruction sizes
13563         for these new fields.
13564         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
13565         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
13566         counts for these new fields for all x86 processor variants.
13567
13568 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13569
13570         * mips.c (mips_const_double_ok): Delete unused variable.
13571
13572         * gengtype.c (rtx_next): Change type to int.
13573
13574 2002-10-04  Andreas Jaeger  <aj@suse.de>
13575
13576         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
13577
13578 2002-10-04  Richard Henderson  <rth@redhat.com>
13579
13580         * real.h (SIGNIFICAND_BITS): Add one more word.
13581         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
13582         * real.c (times_pten): New.
13583         (real_to_decimal, real_from_string): Use it.
13584         (sticky_rshift_significand): Use & to find modulus.
13585         (rshift_significand, lshift_significand): Likewise.
13586         (do_divide): Apply sticky bit after normalization.
13587         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
13588
13589 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
13590
13591         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
13592         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
13593
13594 2002-10-03  Andreas Jaeger  <aj@suse.de>
13595
13596         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
13597         to unsigned long, adjust printf format string.
13598         (output_mangled_typename): Likewise.
13599
13600 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
13601
13602         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
13603         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
13604         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
13605         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
13606         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
13607         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
13608         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
13609         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
13610
13611 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
13612
13613         * doc/invoke.texi (-Wabi): Document mangling bug.
13614
13615 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
13616
13617         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
13618         name for the tbtab label that depends on the function asm name.
13619         Don't output tbtab label unless optional_tbtab.
13620         (output_mi_thunk): Formatting.
13621
13622 2002-10-03  Richard Henderson  <rth@redhat.com>
13623
13624         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
13625         * config/m68k/m68k.c (override_options): ... here.
13626         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
13627         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
13628         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
13629         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
13630
13631 2002-10-03  Richard Henderson  <rth@redhat.com>
13632
13633         * real.h (struct real_value): Use ENUM_BITFIELD.
13634
13635 2002-10-03  Richard Henderson  <rth@redhat.com>
13636
13637         * config/i960/i960.md (call, call_value): Use emit_call_insn.
13638
13639 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
13640
13641         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
13642
13643 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
13644
13645         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
13646         * config/pa/pa.h (MASK_GNU_LD): New.
13647         (TARGET_GNU_LD): New.
13648         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
13649         on gnu-ld and MASK_GNU_LD.
13650         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
13651
13652 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
13653
13654         * i386.c (athlon_cost): Fix the move costs.
13655
13656 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
13657
13658         * final.c (final): Use symbol name as function name for profiling.
13659         * profile.c (get_exec_counts): Likewise.
13660         (branch_prob): Likewise.
13661
13662 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
13663
13664         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
13665
13666 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
13667
13668         * gcc.c (print_multi_os_directory): New variable.
13669         (option_map): Support --print-multi-os-directory.
13670         (struct prefix_list): Add os_multilib field.
13671         (multilib_os_dir): New variable.
13672         (static_specs): Add multilib_options.
13673         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
13674         subdirs if nonzero.
13675         (read_specs, execute): Update callers.
13676         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
13677         pass 1 as multilib option.
13678         (display_help): Include --print-multi-os-directory.
13679         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
13680         (process_command): Update callers.  Handle --print-multi-os-directory.
13681         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
13682         set.
13683         (main): Update find_a_file and add_prefix callers.
13684         Handle print_multi_os_directory.
13685         (struct mdswitchstr): New.
13686         (mdswitches, n_mdswitches): New variables.
13687         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
13688         present on the command line nor their mutually incompatible
13689         switches.
13690         (default_arg): Optimize.
13691         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
13692         array.
13693         (print_multilib_info): Only print GCC multilib dir name, not OS
13694         multilib dirname.
13695         * genmultilib: Add osdirnames parameter.  Output multilib_options
13696         variable.  If osdirnames is specified, output dirnames as
13697         dirname:osdirname.
13698         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
13699         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
13700         to compute libgcc_s soname and install path.
13701         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
13702         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13703         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
13704         argument.
13705
13706         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
13707         (SHLIB_SLIBDIR_SUFFIXES): Remove.
13708         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
13709         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
13710         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
13711         and -m64.
13712         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
13713         (SHLIB_SLIBDIR_SUFFIXES): Remove.
13714         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
13715         (STARTFILE_ARCH_SPEC): Remove.
13716         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
13717         (SHLIB_SLIBDIR_SUFFIXES): Remove.
13718         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
13719         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
13720         (SHLIB_SLIBDIR_SUFFIXES): Remove.
13721
13722 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
13723
13724         * predict.c (choose_function_section): Avoid choice for linkonce functions.
13725
13726 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
13727
13728         * i386.md (lea to mul peep2): Fix condition.
13729
13730 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13731
13732         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
13733         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
13734
13735 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
13736
13737         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
13738         attribute "unused".
13739
13740         * config/t-libunwind: Mention unwind-sjlj.c.
13741         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
13742         to #ifndef __USING_SJLJ_EXCEPTIONS__.
13743
13744         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
13745         before inclusion of config.gcc, but after configuring the compiler etc.
13746         Determine default value for --enable-libunwind-exceptions based on
13747         whether the host has a libunwind library (not guaranteed to be correct,
13748         but it's a reasonable first guess and can always be overridden with an
13749         explicit --enable/disable-libunwind-exceptions.
13750         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
13751         tmake_file when $use_libunwind_exceptions is enabled.
13752         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
13753         ia64 (e.g., config/t-linux also updates it).
13754         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
13755         along with the shared version of libgcc since the latter requires
13756         the former.
13757         * unwind-libunwind.c: New file.
13758         * config/t-libunwind: Ditto.
13759
13760 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
13761
13762         * config.gcc: Remove support for vax-*-vms*.
13763         * config/vax/vms.h: Remove.
13764         * config/vax/xm-vms.h: Remove.
13765         * config/vax/vax-protos.h: Remove VMS-specific code.
13766         * config/vax/vax.c: Remove VMS-specific code.
13767
13768 2002-10-02  Richard Henderson  <rth@redhat.com>
13769
13770         PR opt/7124
13771         * config/i386/i386.c (ix86_register_move_cost): Increase cost
13772         for secondary_memory_needed pairs.
13773
13774 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
13775
13776         * doc/vms.texi: Blow away false include file section.
13777
13778 2002-10-02  Roger Sayle  <roger@eyesopen.com>
13779
13780         PR optimization/6627
13781         * toplev.c (force_align_functions_log): New global variable.
13782         * flags.h (force_align_functions_log): Add extern prototype.
13783         * varasm.c (assemble_start_function): Use it to force minimum
13784         function alignment.
13785         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
13786         minimum function alignment to one byte.
13787         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
13788         the least significant bit of vtable member function pointers.
13789         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
13790         here from cp/cp-tree.h.
13791
13792 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
13793
13794         * i386.c (print_operand_address): Use RIP addressing for offsetted
13795         label refs too.
13796
13797 2002-09-30  David S. Miller  <davem@redhat.com>
13798
13799         PR middle-end/7151
13800         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
13801         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
13802
13803 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
13804
13805         * calls.c (expand_call): Remove the `no indirect check'
13806         for sibcall optimization; use function_ok_for_sibcall
13807         target hook; refine check for `function is volatile'.
13808         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
13809         * hooks.c (hook_tree_tree_bool_false): New.
13810         * hooks.h (hook_tree_tree_bool_false): Declare.
13811         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
13812         (TARGET_INITIALIZER): Add it.
13813         * target.h (struct gcc_target): Add function_ok_for_sibcall.
13814         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
13815         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13816         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13817         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
13818         Remove function declaration.
13819         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
13820         function static and accept another argument of type `tree'.
13821         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13822         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13823         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13824         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
13825         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13826         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13827         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13828         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
13829         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
13830         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13831         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13832         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
13833         Remove function declaration.
13834         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
13835         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
13836         rename first argument to `decl'; accept another argument
13837         of type `tree'; make static.
13838         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13839         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13840         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
13841         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13842         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13843         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
13844         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
13845         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13846         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
13847
13848 2002-10-01  Roger Sayle  <roger@eyesopen.com>
13849
13850         * unroll.c (loop_iterations): Revert 2002-09-08 change.
13851
13852 2002-10-01  Richard Henderson  <rth@redhat.com>
13853
13854         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
13855         (real_to_hexadecimal): Likewise.
13856         * print-rtl.c (print_rtx): If we are linked with real.c, don't
13857         dump the XWINT fields of a floating point CONST_DOUBLE.
13858
13859 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
13860
13861         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
13862
13863 2002-10-01  Richard Henderson  <rth@redhat.com>
13864
13865         * calls.c (precompute_register_parameters): Force non-legitimate
13866         constants into pseudos.
13867
13868 2002-10-01  Nick Clifton  <nickc@redhat.com>
13869
13870         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
13871         to assembler template.
13872
13873 2002-10-01  Richard Henderson  <rth@redhat.com>
13874
13875         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
13876         for TLS debug info to !DECL_EXTERNAL.
13877
13878 2002-10-01  Matt Thomas  <matt@3am-software.com>
13879             Jason Thorpe  <thorpej@wasabisystems.com>
13880
13881         * config.gcc (vax-*-netbsdelf*): Enable configuration.
13882         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
13883         if not already defined.
13884         * config/vax/elf.h: New file.
13885         * config/vax/netbsd-elf.h: New file.
13886         * config/vax/vax.c: Include "debug.h".
13887         (vax_output_function_prologue): Add dwarf2 support.  Use
13888         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
13889         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
13890         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
13891         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
13892         (VAX_ISTREAM_SYNC): Remove.
13893         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
13894         (JUMP_TABLES_IN_TEXT_SECTION): Define.
13895         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
13896         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
13897         and assemble_name.
13898         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
13899         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
13900         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
13901         (INCOMING_RETURN_ADDR_RTX): Define.
13902         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
13903         (VUNSPEC_SYNC_ISTREAM): Define.
13904         (blockage): Use VUNSPEC_BLOCKAGE.
13905         (sync_istream): New insn.
13906
13907 2002-10-01  Richard Henderson  <rth@redhat.com>
13908
13909         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
13910         (*call_value_pop, call, call_value): Add dwarf2 EH support.
13911         (*call): New insn.
13912
13913 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
13914
13915         PR c/8083
13916         * c-typeck.c (build_c_cast): Warn about type punning which breaks
13917         type based aliasing.
13918
13919 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
13920
13921         * stor-layout.c (update_alignment_for_field): New function.
13922         (place_union_field): Use it.
13923         (place_field): Likewise.
13924
13925 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
13926
13927         PR other/8077
13928         * gcc.c (cc1_options): Add space on -auxbase-strip.
13929
13930 2002-10-01  Jim Wilson  <wilson@redhat.com>
13931
13932         * config/v850/v850.h (EPILOGUE_USES): Define.
13933
13934 2002-09-30  Andrew Haley  <aph@redhat.com>
13935
13936         * flow.c (insn_dead_p): When using non-call-exceptions, don't
13937         eliminate insns that may trap.
13938         * cse.c (insn_live_p): Likewise.
13939
13940 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
13941
13942         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
13943         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
13944         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
13945         * config/mips/mips.md: Apply same renaming here.
13946
13947 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
13948
13949         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
13950         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
13951         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
13952         * config/mips/mips.md (define_attr cpu): Remove r4320.
13953         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
13954
13955 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
13956
13957         * config/mips/mips.c (mips16_strings): New variable.
13958         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
13959         symbol in mips16_strings.  Free the list.
13960         (mips_encode_section_info): Keep track of local strings.
13961
13962 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
13963
13964         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
13965         (sordered_df, sordered_sf): Remove.
13966         * config/mips/mips.c (get_float_compare_codes): New fn.
13967         (gen_int_relational, gen_conditional_move): Use it.
13968
13969 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
13970
13971         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
13972         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
13973         * config/mips/mips.c (fcc_register_operand): New function.
13974         (mips_emit_fcc_reload): New function, extracted from reload_incc.
13975         (override_options): Allow TFmode values in float registers
13976         if ISA_HAS_8CC.
13977         * cnfig/mips/mips.md (reload_incc): Change destination prediate
13978         to fcc_register_operand.  Remove misleading source constraint.
13979         Use mips_emit_fcc_reload.
13980         (reload_outcc): Duplicate reload_incc.
13981
13982 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
13983
13984         * gcc.c (validate_switches): Handle all new forms of spec
13985         syntax introduced recently.  Now returns a char *.
13986         (validate_all_switches): Repetitive logic broken out to...
13987         (validate_switches_from_spec): ...here.
13988         * mklibgcc.in: Don't @-flag commands to generate .oS files.
13989
13990 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
13991
13992         * longlong.h: Partially synchronize with GMP-4.1 version:
13993         Use i370 definitions also for s390.
13994         Add generic definition of umul_ppmm in terms of smul_ppmm.
13995         [s390] (umul_ppmm): Remove.
13996         [s390] (smul_ppmm): Fix incorrect assembler constraints.
13997         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
13998
13999 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
14000
14001         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
14002         Add new RL_REGS register class.
14003         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
14004         Call xtensa_preferred_reload_class for both input and output reloads.
14005         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
14006         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
14007         instead of either AR_REGS or GR_REGS classes.
14008         (xtensa_secondary_reload_class): Use new RL_REGS class.
14009         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
14010
14011 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14012
14013         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
14014         (pa_strip_name_encoding): Strip '@' and '*', in that order.
14015         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
14016         there is a '*' prefix in NAME.
14017
14018 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
14019
14020         * reload.c (push_reload): Handle subregs and secondary memory.
14021         * reload1.c (gen_reload): Likewise.
14022
14023         * jump.c (reg_or_subregno): New function.
14024         * rtl.h (reg_or_subregno): Declare
14025         * unroll.c (find_splittable_givs): Handle subregs.
14026
14027 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
14028
14029         * store-layout.c (finish_record_layout): Add free_p parameter.
14030         (layout_type): Pass it.
14031         * tree.h (finish_record_layout): Update prototype.
14032
14033 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
14034
14035         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
14036
14037         * gcse.c (cprop_jump): Check that the register has not
14038         been modified
14039         (cprop_jump): Likewise.
14040
14041 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
14042
14043         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
14044         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
14045         that we have a SImode access, and only then if reload hasn't completed;
14046         for all other cases, use LO_REGS.
14047
14048 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14049
14050         * openbsd.h: Fix typo in last change.
14051
14052 2002-09-29  Richard Henderson  <rth@redhat.com>
14053
14054         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
14055
14056 2002-09-29  Richard Henderson  <rth@redhat.com>
14057
14058         PR c/8002
14059         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
14060         for CONST_INT.
14061
14062 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
14063
14064         * real.h (ibm_extended_format): Declare.
14065         * real.c (encode_ibm_extended, decode_ibm_extended): New
14066         functions.
14067
14068 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14069
14070         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
14071
14072         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
14073
14074 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14075
14076         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
14077
14078 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
14079
14080         * builtins.def: Fix comment formatting.
14081         * c-common.def: Likewise.
14082         * cfgcleanup.c: Likewise.
14083         * combine.c: Likewise.
14084         * gengtype.c: Likewise.
14085         * params.def: Likewise.
14086         * predict.def: Likewise.
14087         * rtl.def: Likewise.
14088         * stab.def: Likewise.
14089         * stor-layout.c: Likewise.
14090         * tree.def: Likewise.
14091         * config/darwin.c: Likewise.
14092         * config/darwin.h: Likewise.
14093         * config/dbxcoff.h: Likewise.
14094         * config/elfos.h: Likewise.
14095         * config/fp-bit.c: Likewise.
14096         * config/freebsd-spec.h: Likewise.
14097         * config/interix.h: Likewise.
14098         * config/libgloss.h: Likewise.
14099         * config/linux-aout.h: Likewise.
14100         * config/linux.h: Likewise.
14101         * config/lynx-ng.h: Likewise.
14102         * config/lynx.h: Likewise.
14103         * config/netbsd-aout.h: Likewise.
14104         * config/netbsd.h: Likewise.
14105         * config/netware.h: Likewise.
14106         * config/psos.h: Likewise.
14107         * config/ptx4.h: Likewise.
14108
14109 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
14110
14111         * ChangeLog.4: Fix typos.
14112         * ChangeLog.6: Likewise.
14113         * FSFChangeLog.10: Likewise.
14114         * genattrtab.c: Fix comment typos.
14115         * haifa-sched.c: Likewise.
14116         * real.c: Likewise.
14117         * tree.h: Likewise.
14118         * config/arm/arm.c: Likewise.
14119         * config/arm/crti.asm: Likewise.
14120         * config/arm/crtn.asm: Likewise.
14121         * config/frv/frv.c: Likewise.
14122         * config/frv/frv.md: Likewise.
14123         * config/h8300/h8300.md: Likewise.
14124         * config/i386/rtemself.h: Likewise.
14125         * config/ia64/unwind-ia64.c: Likewise.
14126         * config/ip2k/ip2k.h: Likewise.
14127         * config/m88k/m88k.c: Likewise.
14128         * config/m88k/m88k.md: Likewise.
14129         * config/mips/sr71k.md: Likewise.
14130         * config/mmix/mmix.c: Likewise.
14131         * config/rs6000/rs6000.c: Likewise.
14132         * config/sh/sh.md: Likewise.
14133
14134 2002-09-26  Theodore A. Roth  <troth@verinet.com>
14135
14136         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
14137         * config/avr/avr.md: Ditto.
14138
14139 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
14140
14141         PR preprocessor/8055
14142         * cppmacro.c (stringify_arg): Do not overflow the buffer
14143         with the terminating NUL when the argument to be stringified
14144         has no tokens.
14145
14146 2002-09-27  Richard Henderson  <rth@redhat.com>
14147
14148         * unroll.c (simplify_cmp_and_jump_insns): New.
14149         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
14150         instead of expand_simple_foo.
14151
14152 2002-09-27  Richard Henderson  <rth@redhat.com>
14153
14154         PR optimization/7520
14155         * cfganal.c (flow_active_insn_p): New.
14156         (forwarder_block_p): Use it.
14157
14158 2002-09-27  Richard Henderson  <rth@redhat.com>
14159
14160         * emit-rtl.c (active_insn_p): Revert last change.
14161
14162 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
14163
14164         * doc/extend.texi (tls_model): Document.
14165         * varasm.c (decl_tls_model): New.
14166         * c-common.c (handle_tls_model_attribute): New.
14167         (c_common_attribute_table): Add tls_model.
14168         * config/alpha/alpha.c (alpha_encode_section_info): Use
14169         decl_tls_model.
14170         * flags.h (enum tls_model, flag_tls_default): Move...
14171         * tree.h (enum tls_model, flag_tls_default): ...here.
14172         (decl_tls_model): New prototype.
14173         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
14174         * config/i386/i386.c (ix86_encode_section_info): Likewise.
14175         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
14176         Allow !flag_pic.
14177
14178 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
14179
14180         * LANGUAGES: Follow spelling conventions.
14181         * rtl.def: Likewise.
14182         * sbitmap.c: Likewise.
14183         * sched-int.h: Likewise.
14184         * sched-rgn.c: Likewise.
14185         * sibcall.c: Likewise.
14186         * simplify-rtx.c: Likewise.
14187         * ssa.c: Likewise.
14188         * stab.def: Likewise.
14189         * stmt.c: Likewise.
14190         * stor-layout.c: Likewise.
14191         * target.h: Likewise.
14192         * timevar.c: Likewise.
14193         * toplev.c: Likewise.
14194         * tree-dump.c: Likewise.
14195         * tree-inline.c: Likewise.
14196         * tree.c: Likewise.
14197         * tree.def: Likewise.
14198         * tree.h: Likewise.
14199         * unroll.c: Likewise.
14200         * varasm.c: Likewise.
14201         * vmsdbgout.c: Likewise.
14202         * treelang/treelang.texi: Likewise.
14203         * treelang/treetree.c: Likewise.
14204
14205 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
14206
14207         * config/h8300/h8300.c (compute_saved_regs): Use a macro
14208         instead of a hard register number.
14209         (get_shift_alg): Use an enumerated type instead of numbers.
14210         (h8300_shift_needs_scratch_p): Likewise.
14211
14212 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
14213
14214         * varasm.c (force_data_section): Remove.
14215         (assemble_constant_align): Likewise.
14216         * output.h: Remove corresponding prototypes.
14217
14218 2002-09-26  Roger Sayle  <roger@eyesopen.com>
14219
14220         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
14221         jump, if the loop to exit is the top of the current nesting stack.
14222
14223 2002-09-26  Torbjorn Granlund  <tege@swox.com>
14224
14225         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
14226         arithmetic.
14227
14228 2002-09-26  David S. Miller  <davem@redhat.com>
14229
14230         PR optimization/7335
14231         * calls.c (emit_library_call_value_1): Passing args by reference
14232         converts a CONST function into a PURE one.
14233
14234 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
14235
14236         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
14237         text_section.
14238         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
14239         text section.
14240         * config/rs6000/rs6000.c (rs6000_override_options): Allow
14241         function-sections and data-sections functionality on AIX.
14242
14243 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
14244             Dale Johannesen  <dalej@apple.com>
14245
14246         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
14247         in RTL for sub-word loads from memory.
14248
14249 2002-09-26  Richard Henderson  <rth@redhat.com>
14250
14251         PR c/7160
14252         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
14253         on call insns.
14254
14255 2002-09-26  Richard Henderson  <rth@redhat.com>
14256
14257         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
14258
14259 2002-09-26  Chris Lattner  <sabre@nondot.org>
14260
14261         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
14262         handling undefined values.
14263
14264 2002-09-26  Richard Henderson  <rth@redhat.com>
14265
14266         PR opt/7520
14267         * emit-rtl.c (active_insn_p): Consider a clobber of the
14268         function return value to be active even after reload.
14269
14270 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
14271
14272         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
14273         by absolute loop increment, not loop increment.
14274
14275 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
14276
14277         * c-common.h: Follow spelling conventions.
14278         * cpplex.c: Likewise.
14279         * cpplib.h: Likewise.
14280         * gthr-dce.h: Likewise.
14281         * gthr-posix.h: Likewise.
14282         * optabs.c: Likewise.
14283         * output.h: Likewise.
14284         * profile.c: Likewise.
14285         * protoize.c: Likewise.
14286         * ra-rewrite.c: Likewise.
14287         * real.c: Likewise.
14288         * recog.c: Likewise.
14289         * reg-stack.c: Likewise.
14290         * regclass.c: Likewise.
14291         * regmove.c: Likewise.
14292         * reload.c: Likewise.
14293         * reload.h: Likewise.
14294         * reload1.c: Likewise.
14295         * reorg.c: Likewise.
14296         * resource.c: Likewise.
14297         * rtl.h: Likewise.
14298         * rtlanal.c: Likewise.
14299
14300 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
14301
14302         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
14303         for symbol address.
14304
14305 2002-09-24  Eric Christopher  <echristo@redhat.com>
14306
14307         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
14308         * config/mips/elf64.h: Ditto.
14309
14310 2002-09-24  Eric Christopher  <echristo@redhat.com>
14311
14312         * except.c (expand_builtin_extract_return_address): Handle case
14313         where Pmode != ptr_mode.
14314
14315 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
14316
14317         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
14318
14319 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
14320
14321         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
14322
14323 2002-09-26  Igor Shevlyakov <igor@microunity.com>
14324
14325         * combine.c (simplify_set): Don't call to force_to_mode if size
14326         of integer type is larger than HOST_BITS_PER_WIDE_INT.
14327
14328 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
14329
14330         * Makefile.in (qmtest-g++): Fix file path.
14331
14332 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
14333
14334         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
14335         A + (-const) on RTX level, even for unsigned types.
14336
14337 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
14338
14339         * reload.c (dup_replacements): New function.
14340         (find_reloads): Use it to duplicate replacements at the top level
14341         of match_dup operands.
14342
14343 2002-09-26  Miles Bader  <miles@gnu.org>
14344
14345         * v850.md ("length"): Change default value to 4.
14346
14347 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
14348
14349         * ChangeLog.1: Follow spelling conventions.
14350         * ChangeLog.4: Likewise.
14351         * ChangeLog.6: Likewise.
14352         * FSFChangeLog.11: Likewise.
14353         * doc/cpp.texi: Likewise.
14354         * doc/invoke.texi: Likewise.
14355         * doc/tm.texi: Likewise.
14356
14357 2002-09-26  Nick Clifton  <nickc@redhat.com>
14358
14359         * config.gcc: Add x prefix to v850e case for handling
14360         --with-cpu=v850e.
14361
14362 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
14363
14364         * gcc.c (input_suffix_matches, switch_matches,
14365         mark_matching_switches, process_marked_switches,
14366         process_brace_body): New functions - split from handle_braces.
14367         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
14368         and ignore whitespace in more places.
14369         (specs documentation comment): Document %{S:X;T:Y;:D}.
14370         Clarify other %{...} docs.
14371         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
14372         %{...} docs.
14373
14374         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
14375         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
14376
14377 2002-09-25  David S. Miller  <davem@redhat.com>
14378
14379         PR target/7842
14380         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
14381         extend.
14382
14383 2002-09-25  Richard Henderson  <rth@redhat.com>
14384
14385         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
14386         fp CONST_DOUBLE; use real_identical.
14387
14388 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
14389
14390         * doc/invoke.texi: Add more -Wabi examples.
14391
14392 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
14393
14394         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
14395
14396 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
14397
14398         * profile.c (end_branch_prob): Only look for __gcov_init on
14399         weak-enabled native compilers.
14400
14401 2002-09-24  Denis Chertykov  <denisc@overta.ru>
14402
14403         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
14404         cases of optimizing "add sp,w" to "inc sp".
14405
14406 2002-09-24  Adam Nemet  <anemet@lnxw.com>
14407
14408         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
14409         epilogue for naked functions.
14410
14411 2002-09-24  Adam Nemet  <anemet@lnxw.com>
14412             Nick Clifton  <nickc@redhat.com>
14413
14414         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
14415         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
14416         is defined.
14417
14418 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
14419
14420         * config/s390/s390.c (preferred_la_operand_p): New function.
14421         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
14422         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
14423         ("*la_64_cc", "*la_31_cc", splitters): ... these.
14424         ("*la_31"): Deactivate for TARGET_64BIT.
14425         ("*la_31_and", "*la_31_and_cc"): New.
14426
14427 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14428
14429         * real.h (real_value): Make `exp' explicitly signed.
14430
14431 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
14432
14433         * config/elfos.h: Follow spelling conventions.
14434         * config/alpha/alpha.h: Likewise.
14435         * config/arc/arc.h: Likewise.
14436         * config/arm/arm.md: Likewise.
14437         * config/avr/avr.h: Likewise.
14438         * config/cris/cris.md: Likewise.
14439         * config/d30v/d30v.h: Likewise.
14440         * config/frv/frv.c: Likewise.
14441         * config/frv/frv.h: Likewise.
14442         * config/h8300/h8300.c: Likewise.
14443         * config/h8300/h8300.h: Likewise.
14444         * config/h8300/h8300.md: Likewise.
14445         * config/i386/cygwin.h: Likewise.
14446         * config/i386/i386.h: Likewise.
14447         * config/i386/sysv3.h: Likewise.
14448         * config/i960/i960.h: Likewise.
14449         * config/ia64/ia64.h: Likewise.
14450         * config/ia64/ia64.md: Likewise.
14451         * config/ip2k/ip2k.h: Likewise.
14452         * config/m32r/m32r.h: Likewise.
14453         * config/m68k/m68k.h: Likewise.
14454         * config/m88k/m88k.h: Likewise.
14455         * config/mcore/mcore.c: Likewise.
14456         * config/mcore/mcore.h: Likewise.
14457         * config/mcore/mcore.md: Likewise.
14458         * config/mips/mips.h: Likewise.
14459         * config/mmix/mmix.h: Likewise.
14460         * config/mmix/mmix.md: Likewise.
14461         * config/ns32k/netbsd.h: Likewise.
14462         * config/ns32k/ns32k.h: Likewise.
14463         * config/ns32k/ns32k.md: Likewise.
14464         * config/pa/pa.h: Likewise.
14465         * config/romp/romp.h: Likewise.
14466         * config/rs6000/rs6000.h: Likewise.
14467         * config/rs6000/rs6000.md: Likewise.
14468         * config/sparc/sparc.h: Likewise.
14469         * config/stormy16/stormy-abi: Likewise.
14470         * config/stormy16/stormy16.h: Likewise.
14471         * config/vax/vax.h: Likewise.
14472
14473 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
14474
14475         * config/alpha/alpha.h: Remove commented-out macro
14476         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
14477         * config/avr/avr.h: Likewise.
14478         * config/d30v/d30v.h: Likewise.
14479         * config/dsp16xx/dsp16xx.h: Likewise.
14480         * config/i370/i370.h: Likewise.
14481         * config/i386/i386.h: Likewise.
14482         * config/i960/i960.h: Likewise.
14483         * config/m68k/m68k.h: Likewise.
14484         * config/m88k/m88k.h: Likewise.
14485         * config/mips/mips.h: Likewise.
14486         * config/ns32k/ns32k.h: Likewise.
14487         * config/pdp11/pdp11.h: Likewise.
14488         * config/romp/romp.h: Likewise.
14489         * config/rs6000/rs6000.h: Likewise.
14490         * config/s390/s390.h: Likewise.
14491         * config/sh/sh.h: Likewise.
14492         * config/sparc/sparc.h: Likewise.
14493         * config/stormy16/stormy16.h: Likewise.
14494         * config/vax/vax.h: Likewise.
14495
14496 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
14497
14498         * function.c (push_temp_slots_for_block): Remove.
14499         (push_temp_slots_for_target): Likewise.
14500         (get_target_temp_slot_level): Likewise.
14501         (set_target_temp_slot_level): Likewise.
14502         (get_first_block_beg): Likewise.
14503         * function.h: Remove corresponding prototypes.
14504
14505 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
14506
14507         * version.c (version_string): Now const char[].
14508         * version.h: Update to match.
14509
14510 2002-09-23  Richard Henderson  <rth@redhat.com>
14511
14512         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
14513         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
14514         (TARGET_SWITCHES): Don't reference them.
14515         * config/i386/i386.c (override_options): Use target_flags_explicit
14516         to examine bits set by the user.
14517
14518 2002-09-23  Dale Johannesen  <dalej@apple.com>
14519
14520         * dbxout.c (dbxout_parms):  Set current_sym_code for params
14521         passed on stack by invisible reference.
14522
14523 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
14524
14525         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
14526         at least one byte of space.
14527
14528 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
14529
14530         * c-common.h (flag_abi_version): Fix typo in comment.
14531         * doc/invoke.texi (flag_abi_version): Document default value.
14532
14533 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
14534
14535         * doc/extend.texi (Extended Asm): Clarify that overlap between
14536         asm-declared register variables used in an asm and the asm clobber
14537         list is not allowed.
14538         * stmt.c (decl_conflicts_with_clobbers_p): New function.
14539         (expand_asm_operands): Keep track of clobbered registers.  Call
14540         decl_conflicts_with_clobbers_p for each input and output operand.
14541         If no conflicts found before, also do conflict sanity check when
14542         emitting clobbers.
14543
14544 2002-09-23  Richard Henderson  <rth@redhat.com>
14545
14546         * c-common.c (cpp_define_data_format): Remove.
14547         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
14548         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14549         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14550         * doc/cpp.texi: Don't document them either.
14551         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
14552         __LONG_LONG_MAX__): Document.
14553         (__TARGET_FLOAT_FORMAT__): Remove.
14554
14555 2002-09-23  Richard Henderson  <rth@redhat.com>
14556
14557         * real.c (do_multiply): Normalize U before addition.
14558
14559 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
14560
14561         * c-common.c (flag_abi_version): New variable.
14562         * c-common.h (flag_abi_version): Declare it.
14563         * c-opts.c (missing_arg): Add -fabi-version.
14564         (c_common_decode_option): Process -fabi-version.
14565         * doc/invoke.texi (-fabi-version): Document it.
14566         (-Wabi): Add information about bit-fields in unions.
14567
14568 2002-09-22  Roger Sayle  <roger@eyesopen.com>
14569
14570         * expr.c (STORE_BY_PIECES_P): New target macro.
14571         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
14572         instead of MOVE_BY_PIECES_P.
14573         * doc/tm.texi: Document this new macro.
14574
14575 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
14576
14577         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
14578         unless -fno-pic or -fno-PIC is specified.
14579
14580 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14581
14582         * c-common.c (preprocessing_trad_p): Define.
14583         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
14584         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
14585         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
14586         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
14587         * pa-linux.h (CPP_PREDEFINES): Delete.
14588         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
14589         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
14590         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
14591         (TARGET_OS_CPP_BUILTINS): Define.
14592         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
14593         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
14594         (SUBTARGET_SWITCHES): Provide default definition.
14595         (TARGET_OPTIONS): Reformat.  Use N_() macro.
14596         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
14597         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
14598         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
14599         (TARGET_CPU_CPP_BUILTINS): Define.
14600         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
14601         * doc/invoke.texi (msio, mwsio): Document new hppa options.
14602         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
14603         preprocessing_trad_p().
14604
14605 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
14606
14607         * doc/install.texi: Document behavior of --with-headers and
14608         --with-libs when arguments are omitted.
14609
14610 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
14611
14612         * dbxout.c: Follow spelling conventions.
14613         * defaults.h: Likewise.
14614         * df.c: Likewise.
14615         * diagnostic.h: Likewise.
14616         * doloop.c: Likewise.
14617         * dwarf2out.c: Likewise.
14618         * dwarfout.c: Likewise.
14619         * emit-rtl.c: Likewise.
14620         * except.c: Likewise.
14621         * explow.c: Likewise.
14622         * expmed.c: Likewise.
14623         * expr.c: Likewise.
14624         * expr.h: Likewise.
14625         * flags.h: Likewise.
14626         * flow.c: Likewise.
14627         * fold-const.c: Likewise.
14628         * function.c: Likewise.
14629         * function.h: Likewise.
14630         * gcc.c: Likewise.
14631         * gcov-io.h: Likewise.
14632         * gcov.c: Likewise.
14633         * gcse.c: Likewise.
14634         * genattrtab.c: Likewise.
14635         * genconfig.c: Likewise.
14636         * genrecog.c: Likewise.
14637         * ggc-page.c: Likewise.
14638         * ggc.h: Likewise.
14639         * global.c: Likewise.
14640         * gthr-win32.h: Likewise.
14641         * integrate.c: Likewise.
14642         * jump.c: Likewise.
14643         * langhooks.c: Likewise.
14644         * langhooks.h: Likewise.
14645         * line-map.h: Likewise.
14646         * local-alloc.c: Likewise.
14647         * longlong.h: Likewise.
14648         * loop.c: Likewise.
14649         * loop.h: Likewise.
14650
14651 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
14652
14653         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
14654
14655 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
14656
14657         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
14658         for -Os/TARGET_64BIT too.
14659
14660 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
14661
14662         * ChangeLog: Follow spelling conventions.
14663         * ChangeLog.0: Likewise.
14664         * ChangeLog.1: Likewise.
14665         * ChangeLog.2: Likewise.
14666         * ChangeLog.3: Likewise.
14667         * ChangeLog.4: Likewise.
14668         * ChangeLog.5: Likewise.
14669         * ChangeLog.6: Likewise.
14670         * FSFChangeLog.10: Likewise.
14671         * FSFChangeLog.11: Likewise.
14672         * alias.c: Likewise.
14673         * basic-block.h: Likewise.
14674         * c-aux-info.c: Likewise.
14675         * c-common.c: Likewise.
14676         * c-common.h: Likewise.
14677         * c-decl.c: Likewise.
14678         * c-format.c: Likewise.
14679         * c-semantics.c: Likewise.
14680         * c-typeck.c: Likewise.
14681         * calls.c: Likewise.
14682         * cfganal.c: Likewise.
14683         * cfgloop.c: Likewise.
14684         * collect2.c: Likewise.
14685         * combine.c: Likewise.
14686         * conflict.c: Likewise.
14687         * cppexp.c: Likewise.
14688         * cppfiles.c: Likewise.
14689         * cpphash.h: Likewise.
14690         * cppinit.c: Likewise.
14691         * cpplex.c: Likewise.
14692         * cpplib.c: Likewise.
14693         * cpplib.h: Likewise.
14694         * cppmacro.c: Likewise.
14695         * cse.c: Likewise.
14696
14697 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
14698
14699         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
14700         LINK_SPEC.
14701         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
14702         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
14703         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
14704
14705 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
14706
14707         PR opt/7930
14708         * cse.c (fold_rtx): Calculate old_cost before we fold each
14709         operand.
14710
14711 2002-09-21  Richard Henderson  <rth@redhat.com>
14712
14713         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
14714         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14715         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14716         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
14717         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
14718         * doc/cpp.texi: Don't document them.
14719
14720 2002-09-21  Richard Henderson  <rth@redhat.com>
14721
14722         * c-common.c (builtin_define_float_constants): Use real_format
14723         to get the floating-point parameters.
14724
14725 2002-09-21  Richard Henderson  <rth@redhat.com>
14726
14727         * real.c (struct real_format): Move to real.h.
14728         (real_format_for_mode): Rename from fmt_for_mode; update all users;
14729         initialize with ieee defaults.
14730         (real_to_target_fmt, real_from_target_fmt): New.
14731         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
14732         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
14733         ieee_quad_format, i370_single_format, i370_double_format,
14734         c4x_single_format, c4x_extended_format): Rename from s/_format//.
14735         (ieee_quad_format): Fix emin.
14736         (format_for_size, init_real_once): Remove.
14737         * real.h (struct real_format): Move from real.c.
14738         (real_format_for_mode): Declare.
14739         (real_to_target_fmt, real_from_target_fmt): Declare.
14740         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
14741         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
14742         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
14743         i370_single_format, i370_double_format, c4x_single_format,
14744         c4x_extended_format): Declare.
14745         * toplev.c (do_compile): Don't call init_real_once.
14746
14747         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14748         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14749
14750         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
14751         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
14752         * config/alpha/alpha.c (override_options): Set real_format_for_mode
14753         for VAX, if enabled.
14754
14755         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
14756         for C4X.
14757
14758         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
14759         * config/i370/i370.c (override_options): New.
14760         * config/i370/i370-protos.h: Update.
14761
14762         * config/i386/i386.c (override_options): Set real_format_for_mode
14763         for Intel 80-bit extended.
14764         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
14765
14766         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
14767         (OVERRIDE_OPTIONS): Move code...
14768         * config/i960/i960.c (i960_initialize): ... here.  Set
14769         real_format_for_mode for Intel 80-bit extended.
14770
14771         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
14772         for Intel 80-bit extended, if enabled.
14773
14774         * config/m68k/m68k.c (override_options): Set real_format_for_mode
14775         for Motorola 96-bit extended.
14776
14777         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
14778         * config/vax/vax.c (override_options): New.
14779         * config/vax/vax-protos.h: Update.
14780
14781 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
14782
14783         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
14784         #if TARGET_MACHO.
14785
14786         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
14787         insns.  Supply missing clobber of scratch reg.
14788
14789 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
14790
14791         * config/m32r/m32r.c: Follow spelling conventions.
14792         * config/m32r/m32r.h: Likewise.
14793         * config/m32r/m32r.md: Likewise.
14794         * config/m68k/m68k.c: Likewise.
14795         * config/m88k/m88k.c: Likewise.
14796         * config/mcore/mcore.c: Likewise.
14797         * config/mips/mips.c: Likewise.
14798         * config/mips/mips.h: Likewise.
14799         * config/mmix/mmix.c: Likewise.
14800         * config/mn10200/mn10200.c: Likewise.
14801         * config/ns32k/ns32k.h: Likewise.
14802         * config/pa/pa.c: Likewise.
14803         * config/pa/pa64-linux.h: Likewise.
14804         * config/pdp11/pdp11.h: Likewise.
14805         * config/romp/romp.c: Likewise.
14806         * config/romp/romp.h: Likewise.
14807         * config/rs6000/eabi.asm: Likewise.
14808         * config/rs6000/linux64.h: Likewise.
14809         * config/rs6000/rs6000.c: Likewise.
14810         * config/rs6000/rs6000.h: Likewise.
14811         * config/rs6000/rs6000.md: Likewise.
14812         * config/rs6000/sysv4.h: Likewise.
14813         * config/rs6000/xcoff.h: Likewise.
14814
14815 2002-09-20  Jim Wilson  <wilson@redhat.com>
14816
14817         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
14818
14819 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
14820
14821         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
14822         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
14823         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
14824         (legitimate_address_p): Likewise.
14825         (legitimize_address): Use @gotntpoff and @indntpoff.
14826         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
14827         (output_addr_const_extra): Likewise.
14828
14829 2002-09-20  Jim Wilson  <wilson@redhat.com>
14830
14831         * combine.c (try_combine): When split an instruction pair, where the
14832         first has a sign_extend src, verify that the src and dest modes match.
14833
14834 2002-09-20  Richard Henderson  <rth@redhat.com>
14835
14836         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
14837         (override_options): Do not initialize them.
14838         (mips_const_double_ok): Allow no fp constants except zero,
14839         and not even that for mips16.
14840         (const_float_1_operand): Use dconst1.
14841         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
14842         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
14843         Don't allow arbitrary constants; fix predicates and C constraint.
14844
14845 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
14846
14847         * cppmacro.c: Don't warn about function-like macros without
14848         '(' during pre-expansion.
14849
14850 2002-09-20  Jim Wilson  <wilson@redhat.com>
14851
14852         * config/v850/v850.c (current_function_anonymous_args): Delete.
14853         (expand_prologue): Use current_function_args_info.anonymous_args.
14854         (expand_epilogue): Delete use of current_function_anonymous_args.
14855         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
14856         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
14857         (current_function_anonymous_args): Delete extern declaration.
14858         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
14859
14860 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
14861
14862         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
14863         to load_macho_picbase.
14864         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
14865         (load_macho_picbase): Take the symbol to use as a parameter.
14866         (macho_correct_pic): New insn.
14867         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
14868
14869         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
14870         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
14871         (CAN_ELIMINATE): Likewise.
14872         (INITIAL_ELIMINATION_OFFSET): Likewise.
14873         (TOC_REGISTER): Likewise.
14874
14875 2002-09-20  Richard Henderson  <rth@redhat.com>
14876
14877         * real.c (real_hash): New.
14878         * real.h: Declare it.
14879         * cse.c (canon_hash): Use it.
14880         * cselib.c (hash_rtx): Likewise.
14881         * emit-rtl.c (const_double_htab_hash): Likewise.
14882         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
14883         * varasm.c (struct rtx_const): Reduce vector size; separate
14884         integer and fp vectors.
14885         (HASHBITS): Remove.
14886         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
14887         take modulus MAX_HASH_TABLE.
14888         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
14889         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
14890         (SYMHASH): Don't use HASHBITS.
14891         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
14892         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
14893         (simplify_subtraction): Fix kind comparison.
14894         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
14895         Use a union to pun integer array.
14896         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
14897         only hash two words of integral CONST_DOUBLE.
14898
14899 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
14900
14901         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
14902         (STARTFILE_PREFIX_SPEC): New.
14903         (LINK_SPEC): Modify.
14904         (LIB_SPEC): Modify.
14905         (LIBGCC_SPEC): New.
14906
14907 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
14908
14909         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
14910         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
14911
14912 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
14913
14914         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
14915         Add clobber of the condition code register.
14916
14917 2002-09-20  Richard Henderson  <rth@redhat.com>
14918
14919         * real.c (do_fix_trunc): Static.
14920         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
14921         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
14922         encode_i370_single, encode_i370_double, encode_c4x_single,
14923         encode_c4x_extended): Add default abort case.
14924
14925 2002-09-20  Richard Henderson  <rth@redhat.com>
14926
14927         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
14928         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
14929         (struct realvaluetype): Remove.
14930         (REAL_VALUE_TYPE): Use struct real_value.
14931         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
14932         (test_real_width): New.
14933         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
14934         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
14935         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
14936         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
14937         real_to_integer, real_to_integer2, real_to_decimal,
14938         real_to_hexadecimal, real_from_string, real_from_integer,
14939         real_inf, real_nan, real_2expN, real_convert, real_to_target,
14940         real_from_target): Likewise.
14941         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
14942         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
14943
14944 2002-09-20  Richard Henderson  <rth@redhat.com>
14945
14946         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
14947         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
14948         * defaults.h: ... here.
14949         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
14950         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
14951         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
14952         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
14953
14954 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
14955
14956         * config/mmix/mmix.md ("negdf2"): Rewrite.
14957         ("*expanded_negdf2"): New.
14958
14959 2002-09-19  Jim Wilson  <wilson@redhat.com>
14960
14961         * combine.c (simplify_set): When optimizing a subreg src with a
14962         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
14963
14964 2002-09-19  Dale Johannesen <dalej@apple.com>
14965         * combine.c (make_extraction): Don't create
14966         invalid subreg.
14967
14968 2002-09-19  Roger Sayle  <roger@eyesopen.com>
14969
14970         * tree.c (integer_nonzerop): New predicate for nonzero integers.
14971         * tree.h (integer_nonzerop): Add function prototype.
14972         * stmt.c (expand_end_loop):  Don't rotate the loop when there
14973         are no instructions in the test, i.e. the loop is unconditional.
14974         (expand_exit_loop_if_false):  Optimize RTL generation of loop
14975         tests when the condition is always true or always false.
14976         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
14977         do-loops when the condition is always true.
14978         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
14979         the for-expression is empty.
14980
14981 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
14982
14983         * gcc.c (use_pipes): New flag.
14984         (process_command): Set it.  Adjust check for -pipe conflicting
14985         with -time or -save-temps.
14986         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
14987         %<SWITCH.  Drop %| (without a SUFFIX).
14988         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
14989         (give_switch): Third argument eliminated.
14990         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
14991         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
14992         (specs documentation comment): Update.
14993
14994         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
14995         config/svr4.h, config/i386/freebsd-aout.h,
14996         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
14997         config/m68k/openbsd.h, config/mips/openbsd.h,
14998         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
14999         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
15000         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
15001         * config/cris/cris.h: Update comment.
15002
15003         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
15004         error messages.  Don't use %{^SWITCH}.
15005         * ada/misc.c (gnat_decode_option): Handle -I with a
15006         separate argument.
15007
15008         * f/lang-specs.h: Use %| and %m.
15009         * java/jvspec.c: Use %m and %(invoke_as).  Change all
15010         uses of %{<SWITCH} to %<SWITCH.
15011
15012         * doc/invoke.texi: Update documentation of specs.
15013         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
15014
15015 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
15016
15017         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
15018         and STRICT_LOW_PART within SET_DEST.
15019         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
15020         splitters, replacing pre-reload splitters.
15021         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
15022         "*zero_extendqihi2_31"): New insns.
15023         ("*zero_extendqihi2_64"): Do not clobber CC.
15024
15025 2002-09-18  Devang Patel  <dpatel@apple.com>
15026
15027         * cp/cp-tree.h: New prototype for walk_vtables().
15028         * cp/decl.c (walk_vtables_r): New function.
15029         (struct cp_binding_level): Add new members, namespaces,
15030         names_size and vtables.
15031         (add_decl_to_level): Add decl in namespaces or vtables
15032         chain, if conditions match.
15033         (walk_vtables): New function.
15034         (walk_namespaces_r): Travers separate namespace chain
15035         for namespace decls.
15036         (wrapup_globals_for_namespace): Use names_size instead
15037         of list_length().
15038         * cp/decl2.c (finish_file): Use walk_vtables() instead of
15039         walk_globals() to walk vtable decls.
15040
15041 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
15042
15043         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
15044         (DTORS_SECTION_ASM_OP): Ditto.
15045         (READONLY_DATA_SECTION_ASM_OP): Moved.
15046         (DATA_SECTION_ASM_OP): New.
15047         (SDATA_SECTION_ASM_OP): New.
15048         (BSS_SECTION_ASM_OP): New.
15049         (SBSS_SECTION_ASM_OP): New.
15050         (TEXT_SECTION_ASM_OP): New.
15051
15052 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
15053
15054         * config/fp-bit.c: Follow spelling conventions.
15055         * config/d30v/d30v.c: Likewise.
15056         * config/d30v/d30v.h: Likewise.
15057         * config/fr30/fr30.c: Likewise.
15058         * config/fr30/fr30.h: Likewise.
15059         * config/fr30/fr30.md: Likewise.
15060         * config/frv/frv.c: Likewise.
15061         * config/frv/frv.h: Likewise.
15062         * config/h8300/h8300.c: Likewise.
15063         * config/h8300/lib1funcs.asm: Likewise.
15064         * config/i370/i370.c: Likewise.
15065         * config/i386/i386.h: Likewise.
15066         * config/i386/i386.md: Likewise.
15067         * config/i386/pentium.md: Likewise.
15068         * config/i386/winnt.c: Likewise.
15069         * config/i960/i960.c: Likewise.
15070         * config/ia64/ia64.h: Likewise.
15071         * config/ip2k/ip2k.c: Likewise.
15072         * config/ip2k/ip2k.h: Likewise.
15073         * config/ip2k/ip2k.md: Likewise.
15074         * config/ip2k/libgcc.S: Likewise.
15075
15076 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
15077
15078         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
15079         (GOTOFF_P): Extend to allow gotoff plus constant.
15080
15081 2002-09-18  Richard Henderson  <rth@redhat.com>
15082
15083         * ifcvt.c (noce_process_if_block): Correctly detect X modified
15084         with INSN_B before COND_EARLIEST.  Don't check A and B for
15085         modification in condition range.  Reorder INSN_B for A==B properly.
15086         (if_convert): Iterate until no matches for a block.
15087
15088 2002-09-18  Richard Henderson  <rth@redhat.com>
15089
15090         * calls.c (store_one_arg): Rename default_align to parm_align;
15091         always adjust parm_align for downward padding.
15092
15093 2002-09-18  Richard Henderson  <rth@redhat.com>
15094
15095         * toplev.c (backend_init): Move init_real_once invocation ...
15096         (do_compile): ... here.
15097
15098 2002-09-18  Richard Henderson  <rth@redhat.com>
15099
15100         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
15101         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
15102
15103 2002-09-18  Richard Henderson  <rth@redhat.com>
15104
15105         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
15106
15107 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
15108
15109         * config/rs6000/rs6000.md: (floatdisf2): Rename to
15110         floatdisf2_internal1.
15111         (floatdisf2): New define_expand.
15112         (floatdisf2_internal2): Likewise.
15113
15114 2002-09-18  Richard Henderson  <rth@redhat.com>
15115
15116         * real.c (sticky_rshift_significand): Collect sticky as
15117         unsigned long, not bool.
15118
15119 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
15120
15121         * config/s390/s390.c (s390_address_cost): New function.
15122         config/s390/s390-protos.h (s390_address_cost): Add prototype.
15123         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
15124         (RTX_COST): Use COSTS_N_INSNS.
15125
15126 2002-09-18  Douglas Rupp  <rupp@gnat.com>
15127             Donn Terry  <donnte@microsoft.com>
15128
15129         * stor-layout.c (place_field): Handle alignment of whole
15130         structures when MSVC compatible bitfields are involved.
15131         Change method of computing location of MS bitfields to
15132         be compatible with #pragma pack(n).
15133
15134         * tree.h (record_layout_info): Add new field
15135         remaining_in_alignment.
15136
15137         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
15138         (pragma pack): Add paragraph on MSVC bitfield packing.
15139
15140 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
15141
15142         PR optimization/7967
15143         * arm.md (ne_zeroextractsi): Add clobber of the condition code
15144         register.
15145
15146 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
15147
15148         * config/s390/s390.c: Follow spelling conventions.
15149         * config/sh/lib1funcs.asm: Likewise.
15150         * config/sh/sh.c: Likewise.
15151         * config/sh/sh.h: Likewise.
15152         * config/sparc/sparc.c: Likewise.
15153         * config/sparc/sparc.h: Likewise.
15154         * config/sparc/sparc.md: Likewise.
15155         * config/stormy16/stormy16.c: Likewise.
15156         * config/stormy16/stormy16.h: Likewise.
15157         * config/v850/v850.c: Likewise.
15158         * config/v850/v850.h: Likewise.
15159         * config/vax/vax.c: Likewise.
15160         * config/vax/vax.h: Likewise.
15161
15162 2002-09-18  Nick Clifton  <nickc@redhat.com>
15163
15164         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
15165         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
15166         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
15167
15168 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
15169
15170         * function.c (max_parm_reg_num): Remove.
15171         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
15172         drop_through_at_end_p, move_cleanups_up,
15173         expand_end_case_dummy, case_index_expr_type): Likewise.
15174         * stor-layout.c (pos_from_byte): Likewise.
15175         * tree.c (chain_member_value, chain_member_purpose, listify,
15176         tree_int_cst_msb, index_type_equal): Likewise.
15177         * tree.h: Remove prototypes for unused functions.
15178
15179 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
15180
15181         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
15182         statement that the only translation is to en_UK.
15183
15184 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
15185
15186         * config/alpha/alpha.c: Follow spelling conventions.
15187         * config/alpha/alpha.h: Likewise.
15188         * config/alpha/alpha.md: Likewise.
15189         * config/arc/arc.h: Likewise.
15190         * config/arm/arm.c: Likewise.
15191         * config/arm/arm.h: Likewise.
15192         * config/arm/arm.md: Likewise.
15193         * config/arm/pe.c: Likewise.
15194         * config/arm/unknown-elf.h: Likewise.
15195         * config/avr/avr.c: Likewise.
15196         * config/avr/avr.h: Likewise.
15197         * config/c4x/c4x.c: Likewise.
15198         * config/cris/cris.c: Likewise.
15199         * config/cris/cris.h: Likewise.
15200
15201 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
15202
15203         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
15204         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
15205         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
15206
15207 2002-09-17  Dale Johannesen  <dalej@apple.com>
15208
15209         * cfgcleanup.c (try_forward_edges):  Do not forward a
15210         branch to just after a loop exit before loop optimization;
15211         this interfered with doloop detection.
15212
15213 2002-09-17  Nick Clifton  <nickc@redhat.com>
15214
15215         * config/arm/arm.c (output_return_instruction): Do not
15216         writeback the stack pointer when it is being loaded.
15217         (arm_output_epilogue): Likewise.
15218
15219 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
15220
15221         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
15222         generate a pseudo reg that receives the result of a libcall.
15223         (prepare_float_lib_cmp): Likewise.
15224
15225 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
15226
15227         * config/ia64/elf.h: Remove CPP_PREDEFINES.
15228
15229 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15230
15231         Fix PR/7014 and related objc bugs:
15232         * c-typeck.c (comp_target_types): Added a reflexive argument.
15233         Pass it to ObjC when/if calling objc_comptypes().  Updated all
15234         callers to provide the appropriate reflexive argument.
15235         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
15236         typechecking for all cases of comparisons and assignments,
15237         particularly the obscure and less common ones involving protocols.
15238
15239 2002-09-17  Nick Clifton  <nickc@redhat.com>
15240
15241         * machmode.def (V1DImode): New mode.  A single element vector.
15242         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
15243         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
15244         * tree.c (build_common_tree_nodes_2): Build
15245         unsigned_V1DI_type_node and V1D1_type_node.
15246         * c-common.c (c_common_type_for_mode): Return
15247         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
15248         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
15249
15250 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15251
15252         * doc/objc.texi (Constant string objects): Extended documentation
15253         to make clear that the constant string class ivar layout is
15254         completely fixed.
15255
15256 2002-09-17  Roger Sayle  <roger@eyesopen.com>
15257
15258         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
15259         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
15260
15261 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
15262
15263         * config/mips/mips.c (save_restore_insns): Remove unused variable.
15264         * gcc.c (make_relative_prefix): Likewise.
15265         * loop.c (check_final_value): Likewise.
15266         * jump.c (init_label_info): Remove return value.
15267         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
15268
15269 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15270
15271         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
15272         (ASM_PN_FORMAT): Define.
15273
15274 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15275
15276         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
15277         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
15278         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
15279         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
15280         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
15281         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
15282         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
15283         Delete.
15284         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
15285         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
15286         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
15287
15288         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
15289         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
15290
15291 2002-09-16  Richard Henderson  <rth@redhat.com>
15292
15293         * expr.c (emit_block_move): Set memory block size as appropriate
15294         for the copy.
15295
15296 2002-09-16  Richard Henderson  <rth@redhat.com>
15297
15298         PR fortran/3924
15299         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
15300
15301 2002-09-16  Richard Henderson  <rth@redhat.com>
15302
15303         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
15304         as well as OFFSET for BITPOS.
15305
15306 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
15307
15308         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
15309         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
15310         winchip2 and c3.
15311         * doc/invoke.texi: Mention new aliases.
15312
15313 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15314
15315         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
15316         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
15317         downward.
15318         * function.c (pad_below):  Always compile.
15319         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
15320         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
15321         Pad below when the argument is not in a register and the padding
15322         direction is downward.
15323
15324         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
15325         (PAD_VARARGS_DOWN): Define.
15326         * pa.c (function_arg_padding): Revise padding directions to make them
15327         compatible with the 32 and 64-bit runtime architecture documentation.
15328         (hppa_va_arg):  Add code to handle variable and size zero arguments
15329         passed by reference on TARGET_64BIT.  Reformat.
15330         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
15331         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
15332         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
15333         Add comments.
15334         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
15335         (RETURN_IN_MEMORY): Return size zero types in memory.
15336         (FUNCTION_VALUE): Return TFmode in general registers.
15337         (MUST_PASS_IN_STACK): Define.
15338         (FUNCTION_ARG_BOUNDARY): Simplify.
15339         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
15340         by reference.
15341         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
15342
15343 2002-09-16  Richard Henderson  <rth@redhat.com>
15344
15345         * real.c (do_fix_trunc): New.
15346         (real_arithmetic): Call it.
15347         * simplify-rtx.c (simplify_unary_operation): Handle FIX
15348         with a floating-point result mode.
15349
15350 2002-09-16  Richard Henderson  <rth@redhat.com>
15351
15352         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
15353         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
15354         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
15355         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
15356         * builtins.c (fold_builtin_nan): New.
15357         (fold_builtin): Call it.
15358         * real.c (real_nan): Parse a non-empty string.
15359         (round_for_format): Fix NaN significand truncation.
15360         * real.h (real_nan): Return bool.
15361         * doc/extend.texi: Document new builtins.
15362
15363 2002-09-16  Jason Merrill  <jason@redhat.com>
15364             Danny Smith  <dannysmith@users.sourceforge.net>
15365
15366         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
15367         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
15368         (i386_pe_mark_dllimport): Not here.
15369
15370 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
15371
15372         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
15373
15374 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
15375
15376         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
15377         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
15378         < 64.
15379         (rs6000_emit_cmove): Use real_isinf not target_isinf.
15380
15381 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
15382
15383         * calls.c (emit_library_call_value_1): Don't refer to
15384         hard_libcall_value.
15385         * optabs.c (prepare_float_lib_cmp): Likewise.
15386
15387 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
15388
15389         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
15390         mangling.
15391
15392         The following changes are merged from pch-branch:
15393
15394         * doc/gty.texi (GTY Options): Document %a.
15395         * gengtype.c (do_scalar_typedef): New function.
15396         (process_gc_options): Handle `length' option.
15397         (set_gc_used_type): A pointer to an array of structures doesn't
15398         qualify as a pointer to a structure.
15399         (output_escaped_param): Add `%a' escape.
15400         (write_gc_structure_fields): Allow 'desc' on array of unions.
15401         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
15402         do_scalar_typedef.
15403
15404         * gengtype.c (enum rtx_code): Make global.
15405         (rtx_format): Make global.
15406         (rtx_next): New.
15407         (gen_rtx_next): New.
15408         (write_rtx_next): New.
15409         (adjust_field_rtx_def): Skip fields marked by chain_next.
15410         (open_base_files): Delete redundant prototype.
15411         (write_enum_defn): New.
15412         (output_mangled_typename): Correct abort call.
15413         (write_gc_marker_routine_for_structure): Handle chain_next and
15414         chain_prev options.
15415         (finish_root_table): Don't output redundant \n.
15416         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
15417         * c-tree.h (union lang_tree_node): Add chain_next option.
15418
15419         * gengtype.h (NUM_PARAM): New definition.
15420         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
15421         * gengtype.c (find_param_structure): New.
15422         (adjust_field_type): Handle param<n>_is option.
15423         (process_gc_options): Detect use_params option.  Update callers.
15424         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
15425         'use_params' option.
15426         (open_base_files): Add splay-tree.h to list of files included.
15427         (output_mangled_typename): New.
15428         (write_gc_structure_fields): Update 'param' parameter to support
15429         multiple parameters.  Change name mangling.  Allow parameterized
15430         fields to have an apparent scalar type.  Handle param<n>_is options,
15431         use_param option.
15432         (write_gc_marker_routine_for_structure): Update for change to name
15433         mangling.  Better guess the output file for parameterized types.
15434         (write_gc_types): Update for change to name mangling.
15435         (write_gc_root): Update for change to name mangling.  Handle (ignore)
15436         param<n>_is options.
15437         * doc/gty.texi (GTY Options): Add description of param<n>_is
15438         options, use_params option.
15439         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
15440         * gengtype-lex.l: Produce token for param<n>_is.
15441         * gengtype-yacc.y: Parse param<n>_is.
15442
15443         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
15444
15445         * rtl.c: Update comment describing rtx_format.
15446         * rtl.h (union rtunion): Separate definition and typedef.
15447         (struct rtx_def): Use gengtype to mark.
15448         * Makefile.in (gengtype.o): Also depend on rtl.def.
15449         * ggc.h (ggc_mark_rtx_children): Delete prototype.
15450         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
15451         * ggc-common.c (ggc_mark_rtx_children): Delete.
15452         (ggc_mark_rtx_children_1): Delete.
15453         (gt_ggc_m_rtx_def): Delete.
15454         * gengtype.c (adjust_field_rtx_def): New.
15455         (adjust_field_type): Call adjust_field_rtx_def.
15456         (write_gc_structure_fields): Add 'default' case to switch if none
15457         is specified; remove unused code.
15458
15459         * tree.h (struct tree_exp): Update for change to meaning
15460         of special.
15461         * gengtype.c (adjust_field_tree_exp): New function.
15462         (adjust_field_type): Handle `tree_exp' special here.
15463         (write_gc_structure_fields): Don't handle `tree_exp' special here.
15464         Handle new `dot' option.
15465
15466         * gengtype.h: Make `info' a pointer-to-const.
15467         * gengtype-yacc.y (yacc_ids): Use xasprintf.
15468
15469         * gengtype.c (write_gc_structure_fields): Remove implementation
15470         of `always' option, add `default' option.
15471         * doc/gty.texi (GTY Options): Remove documentation of `always',
15472         add `default'.
15473
15474 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
15475
15476         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
15477
15478 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15479
15480         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
15481
15482         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
15483         instead of the *-protos.h file directly.
15484         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
15485         * darwin.c (machopic_output_stub): Move prototype ...
15486         * darwin-protos.h (machopic_output_stub): ... here.
15487         * rs6000-protos.h (machopic_output_stub): Don't declare.
15488
15489 2002-09-16  Richard Henderson  <rth@redhat.com>
15490
15491         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
15492
15493 2002-09-16  Richard Henderson  <rth@redhat.com>
15494
15495         * real.c, real.h: Rewrite from scratch.
15496
15497         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
15498         (paranoia): New target.
15499         * builtins.c (fold_builtin_inf): Use new real.h interface.
15500         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
15501         * c-lex.c (interpret_float): Likewise.
15502         * emit-rtl.c (gen_lowpart_common): Likewise.
15503         * optabs.c (expand_float): Use real_2expN.
15504         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
15505         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
15506         (FLOAT_WORDS_BIG_ENDIAN): New.
15507         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
15508         directly to REAL_VALUE_NEGATIVE.
15509         * loop.c (canonicalize_condition): Likewise.
15510         * simplify-rtx.c: Include tree.h.
15511         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
15512         with floating-point result modes.
15513         * toplev.c (backend_init): Call init_real_once.
15514
15515         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
15516         * tree.c (build_real): Likewise.
15517         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
15518         float_values, inited_float_values, check_float_value): Remove.
15519         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
15520         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
15521         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
15522         (VAX_HALFWORD_ORDER): Remove.
15523
15524 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
15525
15526         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
15527         (s390_load_address): ... this new function.
15528         (s390_decompose_address): Allow the argument pointer and all
15529         virtual registers as 'pointer' registers.
15530         (s390_expand_plus_operand): Use s390_load_address.
15531         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
15532         ("force_la_31"): New insn pattern.
15533         config/s390/s390-protos.h (legitimize_la_operand): Remove.
15534         (s390_load_address): Add prototype.
15535
15536         * config/s390/s390.c: Include "optabs.h".
15537         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
15538         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
15539         s390_expand_cmpstr): Add prototypes.
15540         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
15541         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
15542         for operands 0 and 1 to "memory_operand".  Add type attribute.
15543         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
15544         for operands 0 and 1 to "memory_operand".  Add type attribute.
15545         ("movstrdi_long", "movstrsi_long"): Remove.
15546         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
15547         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
15548         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
15549         ("clrstrsico"): Remove, replace by ...
15550         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
15551         ("clrstrsi_64"): Rename to "clrstr_long_64".
15552         ("clrstrsi_31"): Rename to "clrstr_long_31".
15553         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
15554         ("cmpstr_const"): Remove, replace by ...
15555         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
15556         ("cmpstr_64"): Rename to "cmpstr_long_64".
15557         ("cmpstr_31"): Rename to "cmpstr_long_31".
15558
15559 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
15560
15561         * ABOUT-NLS: Follow spelling conventions.
15562         * ChangeLog: Likewise.
15563         * ChangeLog.1: Likewise.
15564         * ChangeLog.2: Likewise.
15565         * ChangeLog.3: Likewise.
15566         * ChangeLog.4: Likewise.
15567         * ChangeLog.5: Likewise.
15568         * ChangeLog.6: Likewise.
15569         * FSFChangeLog.10: Likewise.
15570         * FSFChangeLog.11: Likewise.
15571         * c-common.c: Likewise.
15572         * c-lex.c: Likewise.
15573         * c-objc-common.c: Likewise.
15574         * cppexp.c: Likewise.
15575         * cppinit.c: Likewise.
15576         * cpplex.c: Likewise.
15577         * doloop.c: Likewise.
15578         * flow.c: Likewise.
15579         * function.c: Likewise.
15580         * integrate.c: Likewise.
15581         * loop.c: Likewise.
15582         * reg-stack.c: Likewise.
15583         * reload.h: Likewise.
15584         * ssa.c: Likewise.
15585
15586 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15587
15588         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
15589         * vmsdbgout.c: Include "target.h".
15590
15591 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
15592
15593         * ChangeLog: Follow spelling conventions.
15594         * ChangeLog.0: Likewise.
15595         * ChangeLog.1: Likewise.
15596         * ChangeLog.2: Likewise.
15597         * ChangeLog.4: Likewise.
15598         * ChangeLog.6: Likewise.
15599         * config.gcc: Likewise.
15600         * dwarfout.c: Likewise.
15601         * reload1.c: Likewise.
15602         * simplify-rtx.c: Likewise.
15603         * unwind-sjlj.c: Likewise.
15604         * config/avr/avr.h: Likewise.
15605         * config/d30v/d30v.h: Likewise.
15606         * config/frv/frv.c: Likewise.
15607         * config/frv/frv.h: Likewise.
15608         * config/ip2k/ip2k.h: Likewise.
15609         * config/m88k/m88k-move.sh: Likewise.
15610         * config/stormy16/stormy16.c: Likewise.
15611         * config/stormy16/stormy16.h: Likewise.
15612         * doc/extend.texi: Likewise.
15613         * doc/interface.texi: Likewise.
15614         * doc/invoke.texi: Likewise.
15615         * doc/md.texi: Likewise.
15616         * doc/rtl.texi: Likewise.
15617         * doc/tm.texi: Likewise.
15618         * doc/trouble.texi: Likewise.
15619         * ginclude/float.h: Likewise.
15620         * treelang/treelang.texi: Likewise.
15621
15622 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15623
15624         * i386-protos.h (i386_pe_dllexport_name_p,
15625         i386_pe_dllimport_name_p, i386_pe_unique_section,
15626         i386_pe_declare_function_type, i386_pe_record_external_function,
15627         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
15628         prototype.
15629         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
15630         * i386/t-interix (winnt.o): Likewise.
15631
15632         * v850-protos.h (v850_output_addr_const_extra): Prototype.
15633
15634 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
15635
15636         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
15637         MIPS ABI CPP macros.
15638         (TARGET_CPU_CPP_BUILTINS): Redefine.
15639         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
15640         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
15641
15642 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15643
15644         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
15645
15646 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
15647
15648         * ChangeLog: Follow spelling conventions.
15649         * ChangeLog.0: Likewise.
15650         * ChangeLog.1: Likewise.
15651         * ChangeLog.2: Likewise.
15652         * ChangeLog.3: Likewise.
15653         * ChangeLog.4: Likewise.
15654         * ChangeLog.5: Likewise.
15655         * ChangeLog.6: Likewise.
15656         * FSFChangeLog.10: Likewise.
15657         * FSFChangeLog.11: Likewise.
15658         * c-common.c: Likewise.
15659         * c-common.h: Likewise.
15660         * c-format.c: Likewise.
15661         * c-opts.c: Likewise.
15662         * cpplib.c: Likewise.
15663         * langhooks.h: Likewise.
15664         * real.c: Likewise.
15665         * reg-stack.c: Likewise.
15666         * toplev.c: Likewise.
15667         * config/arm/arm.c: Likewise.
15668         * config/arm/arm.md: Likewise.
15669         * config/arm/linux-gas.h: Likewise.
15670         * config/arm/netbsd.h: Likewise.
15671         * config/c4x/c4x.c: Likewise.
15672         * config/c4x/c4x.h: Likewise.
15673         * config/c4x/c4x.md: Likewise.
15674         * config/c4x/libgcc.S: Likewise.
15675         * config/fr30/fr30.md: Likewise.
15676         * config/frv/frv.md: Likewise.
15677         * config/ia64/ia64.md: Likewise.
15678         * config/mips/mips.h: Likewise.
15679         * config/mn10300/mn10300.c: Likewise.
15680         * config/stormy16/stormy16.c: Likewise.
15681         * config/v850/v850.md: Likewise.
15682         * doc/extend.texi: Likewise.
15683         * doc/invoke.texi: Likewise.
15684         * doc/md.texi: Likewise.
15685
15686 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
15687
15688         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
15689         library if -pthread is specified.
15690
15691 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
15692
15693         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
15694         for --enable-threads=yes and --enable-threads=posix.
15695
15696 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
15697
15698         * config/sparc/cypress.md: Replace Sparc with SPARC.
15699         * config/sparc/freebsd.h: Likewise.
15700         * config/sparc/gmon-sol2.c: Likewise.
15701         * config/sparc/hypersparc.md: Likewise.
15702         * config/sparc/lb1spc.asm: Likewise.
15703         * config/sparc/lb1spl.asm: Likewise.
15704         * config/sparc/linux.h: Likewise.
15705         * config/sparc/linux64.h: Likewise.
15706         * config/sparc/lynx.h: Likewise.
15707         * config/sparc/sol2.h: Likewise.
15708         * config/sparc/sparc-modes.def: Likewise.
15709         * config/sparc/sparc.c: Likewise.
15710         * config/sparc/sparc.h: Likewise.
15711         * config/sparc/sparc.md: Likewise.
15712         * config/sparc/sparclet.md: Likewise.
15713         * config/sparc/supersparc.md: Likewise.
15714         * config/sparc/sysv4.h: Likewise.
15715         * config/sparc/vxsim.h: Likewise.
15716         * config/sparc/vxsparc64.h: Likewise.
15717
15718 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15719
15720         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
15721         * collect2.c (ignore_library, aix_std_libs): Move into the context
15722         where it is used.
15723         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
15724         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
15725         * m88k.c (output_call): Wrap variables with macro controlling use.
15726         * rs6000.md: Likewise.  Const-ify variable.
15727         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
15728         * final.c (only_leaf_regs_used): Likewise.
15729         * regrename.c (maybe_mode_change): Mark parameter with
15730         ATTRIBUTE_UNUSED.
15731         * reload.c (find_valid_class): Likewise.  Likewise for variable.
15732         (find_reloads_address_1): Likewise.
15733         * varasm.c (weak_finish): Wrap variable with macro controlling use.
15734
15735 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15736
15737         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
15738
15739 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
15740
15741         * ChangeLog: Follow spelling conventions.
15742         * ChangeLog.0: Likewise.
15743         * ChangeLog.2: Likewise.
15744         * ChangeLog.3: Likewise.
15745         * ChangeLog.4: Likewise.
15746         * ChangeLog.5: Likewise.
15747         * ChangeLog.6: Likewise.
15748         * cppfiles.c: Likewise.
15749         * cppinit.c: Likewise.
15750         * cpplib.h: Likewise.
15751         * cse.c: Likewise.
15752         * debug.h: Likewise.
15753         * df.c: Likewise.
15754         * dominance.c: Likewise.
15755         * hashtable.c: Likewise.
15756         * hashtable.h: Likewise.
15757         * loop.c: Likewise.
15758         * config/arm/README-interworking: Likewise.
15759         * config/arm/arm.c: Likewise.
15760         * config/arm/arm.h: Likewise.
15761         * config/arm/arm.md: Likewise.
15762         * config/dsp16xx/dsp16xx.h: Likewise.
15763         * config/frv/frv.c: Likewise.
15764         * config/frv/frv.h: Likewise.
15765         * config/ip2k/ip2k.h: Likewise.
15766         * config/rs6000/rs6000.c: Likewise.
15767         * config/stormy16/stormy-abi: Likewise.
15768         * config/stormy16/stormy16.h: Likewise.
15769         * config/v850/v850.c: Likewise.
15770
15771 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
15772
15773         * loop.c: Fix a comment typo.
15774
15775 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
15776
15777         * config/fr30/fr30.h: Fix comment typos.
15778         * config/frv/frv.c: Likewise.
15779         * config/i386/xmmintrin.h: Likewise.
15780         * config/mips/mips.c: Likewise.
15781         * config/sh/sh.c: Likewise.
15782
15783 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
15784
15785         * haifa-sched.c: Follow spelling conventions.
15786         * regclass.c: Likewise.
15787         * regrename.c: Likewise.
15788         * config/fp-bit.c: Likewise.
15789         * config/frv/frv.h: Likewise.
15790         * config/m88k/m88k.c: Likewise.
15791         * config/mcore/mcore.c: Likewise.
15792         * config/rs6000/darwin.h: Likewise.
15793         * config/rs6000/gnu.h: Likewise.
15794         * config/rs6000/linux.h: Likewise.
15795         * config/rs6000/linux64.h: Likewise.
15796         * config/rs6000/rs6000.c: Likewise.
15797         * config/rs6000/rs6000.h: Likewise.
15798         * config/sh/sh.c: Likewise.
15799         * config/sparc/sparc.c: Likewise.
15800         * config/sparc/ultra1_2.md: Likewise.
15801
15802 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
15803
15804         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
15805         memory operand when source is 0 (K constraint).
15806         ("movsi_internal"): Likewise.
15807         ("movdf_internal"): Likewise.
15808         ("movsf_internal"): Likewise.
15809
15810 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
15811
15812         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
15813         targetm.binds_local_p to set SYMBOL_REF_FLAG.
15814         (rs6000_xcoff_encode_section_info): Likewise.
15815         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
15816
15817 2002-09-10  Theodore A. Roth  <troth@verinet.com>
15818
15819         * gcc/config/avr/avr.h: Set default options for C++ for avr.
15820
15821 2002-09-13  Roger Sayle  <roger@eyesopen.com>
15822
15823         * stmt.c (struct nexting): Remove unused alt_end_label field.
15824         (expand_start_loop): Delete initialization of alt_end_label.
15825         (expand_start_null_loop): Likewise.
15826         (expand_exit_loop_if_false): Delete updating of alt_end_label.
15827
15828 2002-09-13  Richard Henderson  <rth@redhat.com>
15829
15830         * Makefile.in (toplev.o): Depend on real.h.
15831         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
15832
15833 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
15834
15835         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
15836         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
15837         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
15838
15839 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
15840
15841         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
15842
15843 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
15844
15845         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
15846         ia64*-*-linux*): Set extra_parts.
15847         * config/ia64/t-aix (EXTRA_PARTS): Remove.
15848         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
15849
15850 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
15851
15852         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
15853         * config/h8300/h8300.c: Likewise.
15854         * config/h8300/h8300.h: Likewise.
15855         * config/h8300/h8300.md: Likewise.
15856         * doc/invoke.texi: Likewise.
15857
15858 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
15859
15860         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
15861
15862 2002-09-13  Richard Henderson  <rth@redhat.com>
15863
15864         * config/alpha/alpha.md (attr type): Add callpal.
15865         (imb, trap, load_tp, set_tp): Use it.
15866         * config/alpha/ev4.md (ev4_callpal): New.
15867         * config/alpha/ev5.md (ev5_callpal): New.
15868         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
15869         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
15870         (alphaev5_insn_pipe): Likewise.
15871
15872 2002-09-13  Andreas Jaeger  <aj@suse.de>
15873
15874         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
15875
15876 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
15877
15878         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
15879         LIB2ADDEH): New, set to NULL.
15880         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
15881
15882 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
15883
15884         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
15885         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
15886         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
15887         Add declarations.
15888         (_U_Qfneg): Remove.
15889
15890 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
15891
15892         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
15893         for H8/300, H8S aa:8 mode.
15894         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
15895         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
15896         for H8/300 aa:8 mode.
15897
15898 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
15899
15900         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
15901         insns.
15902
15903 2002-09-12  Richard Henderson  <rth@redhat.com>
15904
15905         * Makefile.in (HOST_PRINT): Use print-rtl1.o
15906         (print-rtl.o): Don't define GENERATOR_FILE.
15907         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
15908         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
15909         unless GENERATOR_FILE.
15910
15911 2002-09-12  Stan Shebs  <shebs@apple.com>
15912
15913         * config/darwin.h (USER_LABEL_PREFIX): Define here...
15914         * config/i386/darwin.h: ... instead of here.
15915
15916         * target.h (struct gcc_target): New field
15917         terminate_dw2_eh_frame_info.
15918         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
15919         (TARGET_INITIALIZER): Add it.
15920         * dwarf2out.c (output_call_frame_info): Use target hook.
15921         * dwarf2asm.c (dw2_asm_output_delta): Use macro
15922         ASM_OUTPUT_DWARF_DELTA if defined.
15923         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
15924         (ASM_OUTPUT_DWARF_DELTA): Ditto.
15925         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
15926         (ASM_OUTPUT_DWARF_PCREL): Ditto.
15927         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
15928         (powerpc-*-darwin*): Ditto.
15929         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
15930         to work correctly for Darwin.
15931         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
15932         (STARTFILE_SPEC): Add crtbegin.o.
15933         (ENDFILE_SPEC): Define.
15934         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
15935         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
15936         (ASM_OUTPUT_DWARF_DELTA): Define.
15937         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
15938         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
15939
15940 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
15941
15942         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
15943         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
15944         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
15945
15946 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
15947
15948         * toplev.c: Move default definition of USER_LABEL_PREFIX...
15949         * defaults.h: ... here.
15950
15951 2002-09-12  Richard Henderson  <rth@redhat.com>
15952
15953         * vax.c: Include tree.h earlier.
15954
15955 2002-09-12  Stan Shebs  <shebs@apple.com>
15956
15957         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
15958         (machopic_operand_p): Ditto.
15959
15960 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
15961
15962         * config/arm/arm.c (arm_compute_initial_elimination_offset):
15963         Fix a comment typo.
15964
15965 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
15966
15967         * toplev.c (do_abort): Fix a comment typo.
15968
15969 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
15970
15971         * cselib.c: Fix comment formatting.
15972         * gengtype.c: Likewise.
15973
15974 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
15975
15976         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
15977         (udivmodhi4): Likewise.
15978
15979 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
15980             Roger Sayle  <roger@eyesopen.com>
15981
15982         * i386.c (any_fp_register_operand, fp_register_operand,
15983         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
15984         New predicate functions.
15985         * i386-protos.h:  Add their prototypes.
15986         * i386.h: Add them to PREDICATE_CODES.
15987         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
15988         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
15989         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
15990         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
15991         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
15992         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
15993         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
15994         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
15995         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
15996         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
15997         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
15998         Use these new predicates to simplify and correct the use of
15999         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
16000
16001 2002-09-12  Jason Merrill  <jason@redhat.com>
16002
16003         * diagnostic.c (output_add_identifier): New fn.
16004         * diagnostic.h: Declare it.
16005
16006         * calls.c (store_one_arg): Use size_in_bytes to determine the
16007         amount of space to push.
16008
16009 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
16010
16011         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
16012
16013 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
16014
16015         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
16016         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
16017         (s390_select_ccmode): Likewise.
16018         (s390_branch_condition_mask): Likewise.
16019         (optimization_options): Do not set flag_branch_on_count.
16020         (s390_split_branches): Handle doloop branches.
16021         (s390_chunkify_pool): Likewise.
16022         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
16023         ("doloop_end"): New expander.
16024         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
16025         associated splitters): New.
16026
16027 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
16028
16029         * genattrtab.c (simplify_cond): Remove unused variable(s).
16030         * global.c (record_conflicts): Likewise.
16031         * jump.c (rebuild_jump_labels): Likewise.
16032         * loop.c (scan_loop, check_final_value): Likewise.
16033         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
16034         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
16035         * rtlanal.c (reg_set_p): Likewise.
16036         * stmt.c (expand_asm_operands, expand_decl): Likewise.
16037         * genautomata.c (empty_reserv): Remove.
16038         * loop.c (max_luid): Likewise.
16039         * sched-rgn.c (bitlst_table_size): Likewise.
16040
16041 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
16042
16043         Reimplement gcov format.
16044         * gcov-io.h: Replace.
16045         * gcov.c: Reimplement.
16046         * gcov-iov.c: New file.
16047         * gcov-dump.c: New file.
16048         * libgcc2.c (L_bb): Replace with ...
16049         (L_gcov): ... this.
16050         (struct bb_function_info, struct bb): Remove.
16051         (inhibit_libc): Never inhibit.
16052         (gcov_list, gcov_crc): New static variables.
16053         (gcov_version_mismatch): New static function.
16054         (__bb_exit_func): Renamed to ...
16055         (__gcov_exit): ... here. Made static. Reimplement.
16056         (__gcov_init_func): Rename to ...
16057         (__gcov_init): ... here. Check version, update crc.
16058         (__bb_fork_func): Rename to ...
16059         (__gcov_flush): ... here.
16060         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
16061         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
16062         * calls.c (expand_call): Call __gcov_flush.
16063         * profile.c (bb_file, last_bb_file_name): Remove.
16064         (bbg_file_name): New global variable.
16065         (output_gcov_string): Remove.
16066         (get_exec_counts): Reimplement.
16067         (branch_prob): Reimplement gcov file writing.
16068         (init_branch_prob): Create bbg_file_name, don't create
16069         bb_file_name.
16070         (end_branch_prob): Adjust. Don't remove counter file when
16071         instrumenting ourselves.
16072         (create_profiler): Adjust.
16073         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
16074         point to gcov-io.h.
16075         * Makefile.in (LANGUAGES): Add gcov-dump.
16076         (coverageexts): Remove .bb.
16077         (STAGESTUFF): Add gcov-dump.
16078         (LIB2FUNCS_ST): Replace _bb with _gcov.
16079         (profile.o): Depend on gcov-iov.h.
16080         (final.o): Don't depend on profile.h, gcov.h.
16081         (gcov.o): Depend on gcov-iov.h.
16082         (gcov-iov.o): New target.
16083         (gcov-iov): New target.
16084         (gcov-iov.h): New target.
16085         (gcov-dump.o): New target.
16086         (GCOV_DUMP_OBJS): New variable.
16087         (gcov-dump): New target.
16088         (distclean): Remove coverageexts.
16089         (stage1): Remove coverageexts.
16090
16091 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
16092
16093         * fold-const.c (make_range): Only narrow to signed range if
16094         the signed range is smaller than the unsigned range.
16095
16096 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
16097
16098         * emit-rtl.c (set_mem_size): New function.
16099         * expr.h (set_mem_size): Declare.
16100         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
16101         (expand_block_move): Instead, use adjust_address and
16102         replace_equiv_address to generate proper aliasing info.
16103         Move common code out of conditionals.  Localize vars.
16104
16105 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
16106
16107         * optabs.c (expand_binop): Minor cleanup.
16108         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
16109
16110 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
16111
16112         * print-tree.c (print_node): Print the restrict qualifier.
16113
16114 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
16115
16116         * doc/install.texi: Fix typos.
16117
16118 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
16119
16120         * Makefile.in: Remove all references to s-under and underscore.c.
16121         * collect2.c, tlink.c: Change all uses of prepends_underscore
16122         to look directly at USER_LABEL_PREFIX.
16123
16124 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
16125
16126         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
16127         alignment to csect.
16128         (rs6000_xcoff_unique_section): Only set section name for public
16129         data.
16130         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
16131         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
16132         duplicate definition.
16133
16134 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16135
16136         * pa.md (extzv): Check predicates before emitting extzv_32.
16137         (insv): Likewise.
16138
16139 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
16140
16141         * config/s390/s390.h (MOVE_MAX): Define to correct value.
16142         (MAX_MOVE_MAX): Define.
16143         (MOVE_BY_PIECES_P): Define.
16144         (CLEAR_BY_PIECES_P): Define.
16145
16146 2002-09-10  Denis Chertykov  <denisc@overta.ru>
16147
16148         * config/avr/avr.md (movstrhi): Use right operands for conversion.
16149
16150 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
16151
16152         PR c/7873
16153         * arm.md (insv): Use reg_or_int_operand for operand[3].
16154
16155 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
16156
16157         * rs6000.c (rs6000_assemble_visibility): Protect declaration
16158         inside macro.  Correct function definition typo.
16159         (rs6000_xcoff_section_type_flags): New function.
16160         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
16161         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
16162         with appropriate PIC test.
16163         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
16164         determine readonly.
16165         (rs6000_binds_local_p): Combine PIC flags.
16166         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
16167         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
16168
16169 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16170
16171         * h8300.md: Fix signed/unsigned warnings.
16172         * mcore.md: Likewise.
16173         * mn10300.c (mask_ok_for_mem_btst): Likewise.
16174
16175 2002-09-09  Per Bothner  <per@bothner.com>
16176
16177         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
16178         characters, and only print TREE_STRING_LENGTH chars.
16179
16180 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
16181
16182         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
16183         (ASM_FILE_END) New.
16184         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
16185         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
16186         * config/ia64/ia64.c (ia64_asm_output_external): Create list
16187         of external functions if TARGET_HPUX_LD is true.
16188         (ia64_hpux_add_extern_decl): New, routine to put names on
16189         list of external functions.
16190         (ia64_hpux_asm_file_end): Put out declarations for external
16191         functions if and only if they are used.
16192
16193 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16194
16195         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
16196         on TARGET_64BIT before pic register restore.
16197
16198 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
16199
16200         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
16201         (TARGET_HAVE_TLS): New description.
16202
16203 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
16204
16205         * doc/extend.texi (Statement Exprs): Fix broken link.
16206
16207 2002-09-09  Denis Chertykov  <denisc@overta.ru>
16208
16209         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
16210         right conversion of operands[1].
16211
16212 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
16213
16214         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
16215         commutative.  Use "nonimmediate_operand" instead of "register_operand"
16216         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
16217
16218         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
16219         as commutative.
16220
16221         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
16222         mark as commutative.  Use "nonimmediate_operand" instead of
16223         "register_operand" as predicate for operand 1.
16224
16225         ("movstrictsi"): Fix typo in insn name.
16226
16227 2002-09-09  Jan Hubicka  <jh@suse.cz>
16228
16229         * i386.c (index_register_operand): New.
16230         * i386.h (predicate_codes): Add new predicate.
16231         * i386.md (lea_general_*): Use index_register_operand
16232         (ashift to lea splitter): Do not produce invalid leas
16233         (ashift to mov+ashift split): New.
16234
16235 2002-09-09  Nick Clifton  <nickc@redhat.com>
16236
16237         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
16238         Fix folding marks.
16239
16240 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16241             J"orn Rennecke <joern.rennecke@superh.com>
16242
16243         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
16244
16245 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
16246
16247         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
16248         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
16249         attributes.
16250
16251 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
16252
16253         * basic_block.h (gcov_type): Explain why it is signed.
16254         * final.c: Don't include profile.h.
16255         (struct function_list, functions_head, functions_tail,
16256         end_final): Moved to profile.c
16257         (final): Move arc chaining code to profile.c.
16258         * function.c (prepare_function_start): Remove duplicate line.
16259         * output.h (end_final): Remove prototype.
16260         * predict.c (estimate_loops_at_level): Use gcov_type.
16261         * profile.c (struct function_list, functions_head,
16262         functions_tail): Moved from final.c
16263         (need_func_profiler): Remove.
16264         (instrument_edges): Don't set need_func_profiler.
16265         (get_exec_counts): Avoid signed/unsigned warning.
16266         (compute_checksum): Use crc32.
16267         (branch_prob): Adjust. Chain onto functions_head.
16268         (init_branch_prob): Absorb init_edge_profiler.
16269         (init_edge_profiler): Remove.
16270         (create_profiler): Moved and renamed from final.c:end_final.
16271         Emit data and constructor.
16272         (output_func_start_profiler): Remove.
16273         * profile.h (struct profile_info): checksum is unsigned.
16274         * rtl.h (output_func_start_profiler): Remove prototype.
16275         (create_profiler): Declare.
16276         * toplev.c (compile_file): Call create_profiler, if instrumenting
16277         arcs. Don't call end_final.
16278
16279 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16280
16281         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
16282
16283 2002-09-08  Richard Henderson  <rth@redhat.com>
16284
16285         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
16286         (DW_OP_GNU_push_tls_address): New.
16287         (DW_OP_lo_user): Fix.
16288         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
16289         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
16290         (size_of_loc_descr): Likewise.
16291         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
16292         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
16293         (loc_descriptor_from_tree): Handle TLS variables.
16294         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
16295         (add_location_or_const_value_attribute): ... not here.  Defer
16296         to loc_descriptor_from_tree for TLS variables.
16297
16298         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
16299         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
16300         * config/i386/i386-protos.h: Update.
16301
16302 2002-09-08  Roger Sayle  <roger@eyesopen.com>
16303
16304         PR optimization/6405
16305         * unroll.c (loop_iterations): last_loop_insn should be the previous
16306         non-note instruction before loop->end.
16307         * loop.c (strength_reduce): The conditional jump is the last
16308         non-note instruction before loop->end (as above).
16309
16310 2002-09-08  Roger Sayle  <roger@eyesopen.com>
16311
16312         * combine.c (try_combine): Handle the case that undobuf.other_insn
16313         has been turned into a return or unconditional jump, by inserting
16314         a BARRIER if necessary.
16315         (simplify_set):  Test if a condition code setter has a constant
16316         comparison at compile time, if so convert this insn to a no-op move
16317         and update/simplify the condition code user (undobuf.other_insn).
16318
16319 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
16320
16321         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
16322         (CLEAR_INSN_CACHE): Define.
16323
16324 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
16325
16326         * basic-block.h: Fix comment formatting.
16327         * c-common.c: Likewise.
16328         * c-common.h: Likewise.
16329         * c-lex.c: Likewise.
16330         * c-pretty-print.c: Likewise.
16331         * cfglayout.c: Likewise.
16332         * cfgloop.c: Likewise.
16333         * defaults.h: Likewise.
16334         * et-forest.c: Likewise.
16335         * explow.c: Likewise.
16336         * function.h: Likewise.
16337         * gcov.c: Likewise.
16338         * genattrtab.c: Likewise.
16339         * gengtype.c: Likewise.
16340         * ifcvt.c: Likewise.
16341         * libgcc2.c: Likewise.
16342         * loop.c: Likewise.
16343         * profile.c: Likewise.
16344         * ra-build.c: Likewise.
16345         * real.c: Likewise.
16346         * rtl.h: Likewise.
16347         * tracer.c: Likewise.
16348         * tree-inline.c: Likewise.
16349         * varasm.c: Likewise.
16350
16351 2002-09-08  Jan Hubicka  <jh@suse.cz>
16352
16353         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
16354         handling.
16355
16356         * loop.c (loop_givs_reduce):  Emit addition after.
16357
16358 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
16359
16360         * varasm.c (default_assemble_visibility): Rename from
16361         assemble_visibility.
16362         * output.h: Here too.
16363         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
16364         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
16365
16366 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
16367
16368         * reload.c (find_reloads <p constraint>): Pass operand_mode to
16369         find_reloads_address.
16370
16371 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
16372
16373         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
16374         (anonymous pattern): Likewise.
16375
16376 2002-09-07  Igor Shevlyakov <igor@microunity.com>
16377
16378         * machmode.def: Add modes for half-float vectors.
16379
16380 2002-09-07  Scott Snyder  <snyder@fnal.gov>
16381
16382         PR target/7374
16383         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
16384
16385 2002-09-07  Roger Sayle  <roger@eyesopen.com>
16386
16387         * basic-block.h (struct loop): Remove unused cont_dominator field.
16388
16389 2002-09-07  Igor Shevlyakov <igor@microunity.com>
16390
16391         * varasm.c (decode_rtx_const): Don't check undefined field for
16392         CONST_VECTOR.
16393
16394 2002-09-07  Glen Nakamura  <glen@imodulo.com>
16395
16396         PR opt/7814
16397         * sched-deps.c (sched_analyze_insn): Make sure to add insn
16398         to reg_last->sets after flushing the dependency lists to guarantee
16399         that subsequent clobbers will be dependent on it.
16400
16401 2002-09-07  Igor Shevlyakov <igor@microunity.com>
16402
16403         * combine.c (simplify_shift_const): Calculate rotate count
16404         correctly for vector operands.
16405
16406 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
16407
16408         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
16409         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
16410         tree_expr_nonnegative_p.
16411         (build_conditional_expr): Likewise.
16412         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
16413
16414 2002-09-07  Richard Henderson  <rth@redhat.com>
16415
16416         * builtins.def (inf, inff, infl): Mark const.
16417         (huge_val, huge_valf, huge_vall): Likewise.
16418         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
16419
16420         * real.c (ereal_inf): Clear E before use.
16421
16422 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
16423
16424         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
16425         an expander and an anonymous pattern.  Zero out the upper half
16426         of the dividend in the expander.
16427         (udivmodqi4): Likewise.
16428
16429 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
16430
16431         * config/h8300/h8300.c: Fix formatting.
16432         * config/h8300/h8300.h: Likewise.
16433         * config/h8300/h8300.md: Likewise.
16434
16435 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
16436
16437         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
16438         information.
16439
16440 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
16441
16442        * rtlanal.c (dead_or_set_regno_p): Fix typo.
16443
16444 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
16445
16446         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
16447
16448         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
16449         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
16450         (TARGET_ASM_OUT): Add the above here.
16451         * target.h (struct gcc_target): Add "visibility" field.
16452         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
16453         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
16454         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
16455         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
16456
16457 2002-09-06  Ziemowit Laski <zlaski@apple.com>
16458
16459         * c-lang.c (objc_is_id): New stub.
16460         * c-tree.h (objc_is_id): New forward declaration.
16461         * c-typeck.c (build_c_cast): Do not strip protocol
16462         qualifiers from 'id' type.
16463         * objc/objc-act.c (objc_comptypes): Correct handling
16464         of protocol qualifiers.
16465         (objc_is_id): New.
16466
16467 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
16468
16469         * pentium.md (pentium-firstvboth): Fix typo.
16470
16471 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
16472
16473         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
16474         (enum shift_type, enum h8_cpu): Likewise.
16475         (INL, ROT, LOP, SPC macros): Likewise.
16476         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
16477         const designator.
16478         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
16479         space efficient algorithms when optimize for codesize.
16480
16481 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16482
16483         Fix PR/1727 and long-standing failing testcase
16484         objc/formal-protocol-6.m.
16485         * objc-act.c (build_protocol_expr): If compiling for the GNU
16486         runtime, create a list of Protocol statically allocated instances
16487         if it doesn't exist, then add the Protocol object to this same
16488         list.
16489         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
16490         instead of TREE_CHAIN.
16491
16492 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16493
16494         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
16495         10k.  Fixed category dumping - print out category names with the
16496         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
16497         interface.
16498         (finish_objc): Fixed the -gen-decls option.  It was printing out
16499         only the last class.  Dump an interface declaration of all classes
16500         being compiled instead.
16501
16502 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
16503
16504         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
16505         prototype.
16506         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
16507         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
16508         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
16509         rather than GEN_INT.
16510         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
16511         (return_addr_mask, *check_arch2): New.
16512
16513 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
16514
16515         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
16516         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
16517         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16518         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
16519         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
16520         "adddf3", "*adddf3", "*adddf3_ibm",
16521         "addsf3", "*addsf3", "*addsf3_ibm",
16522         "muldi3", "mulsi3", "mulsidi3",
16523         "muldf3", "*muldf3", "*muldf3_ibm",
16524         "mulsf3", "*mulsf3", "*mulsf3_ibm",
16525         "*anddi3_cc", "*anddi3_cconly", "anddi3",
16526         "*andsi3_cc", "*andsi3_cconly", "andsi3",
16527         "*iordi3_cc", "*iordi3_cconly", "iordi3",
16528         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
16529         "*xordi3_cc", "*xordi3_cconly", "xordi3",
16530         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
16531         instead of "register_operand" as predicate for "%0" operand.
16532
16533 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
16534
16535         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
16536         unconditionally when gcc_cv_as_flags64 checks are gone.
16537         * configure: Rebuilt.
16538
16539 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
16540
16541         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
16542         2002-07-26 change.  Comment.
16543
16544 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16545
16546         * frv.c (frv_unique_section, frv_select_section,
16547         frv_select_rtx_section): Delete.
16548         (frv_in_small_data_p): New.
16549         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
16550         TARGET_ASM_SELECT_RTX_SECTION): Delete.
16551         (TARGET_IN_SMALL_DATA_P): Define.
16552
16553 2002-09-05  Dale Johannesen  <dalej@apple.com>
16554
16555         * reload1.c (reload):  Retain only those memory clobbers
16556         added for variable-array handling.
16557
16558 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
16559
16560         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
16561         return-in-memory rules.
16562         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
16563
16564 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
16565
16566         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
16567         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
16568
16569 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
16570
16571         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
16572         not a compile-time constant for the non-IBM case.
16573         * config/arm/arm-protos.h (arm_float_words_big_endian): New
16574         prototype.
16575         * config/arm/arm.c (arm_float_words_big_endian): New function.
16576         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
16577         if TARGET_VFP  and not TARGET_HARD_FLOAT.
16578         (ARM_FLAG_VFP, TARGET_VFP): Define.
16579         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
16580
16581 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
16582
16583         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
16584         URLs.  Fix AIX wording.
16585
16586 2002-09-05  Stan Shebs  <shebs@apple.com>
16587
16588         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
16589         -fPIC equivalent on Darwin.
16590
16591 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
16592
16593         * sh.c (sh_expand_builtin): Return early if encountering an
16594         error_mark for a type.
16595
16596 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
16597
16598         * config/s390/s390.c (s390_expand_plus_operand): Do not require
16599         double-word scratch register.
16600         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
16601
16602         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
16603         "*cli"): Replace s_operand by memory_operand.
16604         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
16605
16606 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
16607
16608         * config/h8300/h8300.c (asm_file_start): Add a missing
16609         semicolon.
16610
16611 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
16612
16613         * c-typeck.c (build_function_call): Remove unused variable(s).
16614         (build_c_cast): Likewise.
16615         * calls.c (rtx_for_function_call): Likewise.
16616         * cfglayout.c (duplicate_insn_chain): Likewise.
16617         * cfgloop.c (flow_loop_nodes_find): Likewise.
16618         * cfgrtl.c (split_edge): Likewise.
16619         * df.c (df_ref_create): Likewise.
16620         * except.c (expand_end_catch): Likewise.
16621         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
16622         * function.c (emit_return_into_block): Likewise.
16623         (reposition_prologue_and_epilogue_notes): Likewise.
16624         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
16625         * combine.c (subst_prev_insn, need_refresh): Remove.
16626         * dwarf2out.c (primary_filename): Remove.
16627         * final.c (new_block): Remove.
16628         * gcse.c (orig_bb_count): Remove.
16629
16630 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16631
16632         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
16633         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
16634         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
16635         directly instead of using a function pointer.
16636
16637 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
16638
16639         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
16640         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
16641         (ix86_output_addr_diff_elt) Likewise.
16642         (x86_output_mi_thunk) Likewise.
16643         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
16644
16645 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16646
16647         * frv.c (frv_encode_section_info): Fix error in last change.
16648
16649 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
16650
16651         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
16652         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
16653         (TARGET_BINDS_LOCAL_P): Define.
16654         (rs6000_override_options): Save original flag_pic value.
16655         (rs6000_elf_select_section): Call default_elf_select_section_1.
16656         (rs6000_elf_unique_section): Call default_unique_section_1.
16657         (rs6000_elf_in_small_data_p): New function.
16658         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
16659         (rs6000_xcoff_select_section): Update based on defaults.
16660         (rs6000_xcoff_unique_section): Set to basic name if not common.
16661         (rs6000_binds_local_p): New function.
16662         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
16663         targetm.have_srodata_section if SDATA_EABI.
16664         (TARGET_IN_SMALL_DATA_P): Define.
16665
16666 2002-09-04  Dale Johannesen  <dalej@apple.com>
16667
16668         * varasm.c (struct rtx_const, decode_rtx_const):
16669         Make veclo and vechi fields not share storage.
16670
16671 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
16672
16673         * loop.c (scan_loop): Don't mark separate insns out of a libcall
16674         for moving.
16675         (move_movables): Abort if we see the first insn of a libcall.
16676
16677 2002-09-04  Richard Henderson  <rth@redhat.com>
16678
16679         * builtin-types.def (BT_FN_FLOAT): New.
16680         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
16681         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
16682         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
16683         * builtins.c (fold_builtin_inf): New.
16684         (fold_builtin): Call it.
16685         * real.c (ereal_inf): New.
16686         * real.h: Declare it.
16687         * doc/extend.texi: Document new builtins.
16688
16689 2002-09-04  Richard Henderson  <rth@redhat.com>
16690
16691         * cse.c (cse_insn): Avoid subreg games if the equivalence
16692         is already in the proper mode.
16693
16694 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
16695
16696         PR c/7102
16697         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
16698
16699 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16700
16701         * pa.md (setccfp0, setccfp1): New patterns.
16702
16703 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16704
16705         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
16706         frv_select_section, frv_select_rtx_section,
16707         frv_encode_section_info, frv_unique_section): Delete.
16708         * frv.c: Update for target hooks.
16709         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
16710         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
16711         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
16712
16713 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16714
16715         * ip2k-protos.h (function_prologue, function_epilogue,
16716         encode_section_info): Update to match target hook specification.
16717         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
16718         (function_prologue, function_epilogue, encode_section_info):
16719         Update to match target hook specification.
16720         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
16721         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
16722         (NOTICE_UPDATE_CC): Cast to void.
16723         * ip2k.md: Add defaults in switch statements.
16724
16725 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
16726
16727         * doc/trouble.texi (Interoperation): Update information about C++ ABI
16728         issues.
16729
16730 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
16731
16732         * config/sparc/t-netbsd64: Disable multilib for now.
16733
16734 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
16735
16736         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
16737         * target.h (gcc_target): Add have_srodata_section member.
16738         * varasm.c (section_category): Add SECCAT_SRODATA.
16739         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
16740         READONLY_SDATA_SECTION defined.
16741         (decl_readonly_section_1): True for SECCAT_SRODATA also.
16742         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
16743         (default_unique_section_1): Likewise.
16744
16745 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16746
16747         * expr.c (emit_group_load): Revise to allow splitting TCmode source
16748         into DImode pieces.
16749
16750         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
16751         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
16752         for floating-point register class.
16753         * pa.c (function_arg): Fix handling of modes wider than one word for
16754         TARGET_64BIT.
16755
16756 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
16757
16758         * combine.c (make_compound_operation): Don't generate zero / sign
16759         extensions in floating point modes.
16760
16761 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
16762
16763         * doc/c-tree.texi: Fix overfull hboxes.
16764         * doc/cppopts.texi: Ditto.
16765         * doc/extend.texi: Ditto.
16766         * doc/gty.texi: Ditto.
16767         * doc/invoke.texi: Ditto.
16768         * doc/makefile.texi: Ditto.
16769         * doc/rtl.texi: Ditto.
16770         * doc/standards.texi: Ditto.
16771         * doc/tm.texi: Ditto.
16772
16773 2002-09-04  Richard Henderson  <rth@redhat.com>
16774
16775         * c-common.c (builtin_define_with_hex_fp_value): New.
16776         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
16777
16778 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
16779
16780         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
16781         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
16782         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
16783         Warn that these options can break ABI compatibility.
16784
16785 2002-09-04  Richard Henderson  <rth@redhat.com>
16786
16787         * real.c (ereal_to_decimal): Add digits parameter.
16788         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
16789         * c-pretty-print.c (pp_c_real_literal): Update call.
16790         * print-rtl.c (print_rtx): Likewise.
16791         * print-tree.c (print_node_brief, print_node): Likewise.
16792         * sched-vis.c (print_value): Likewise.
16793         * config/arc/arc.c (arc_print_operand): Likewise.
16794         * config/c4x/c4x.c (c4x_print_operand): Likewise.
16795         * config/i370/i370.h (PRINT_OPERAND): Likewise.
16796         * config/i386/i386.c (print_operand): Likewise.
16797         * config/i960/i960.c (i960_print_operand): Likewise.
16798         * config/ip2k/ip2k.c (asm_output_float): Likewise.
16799         * config/m32r/m32r.c (m32r_print_operand): Likewise.
16800         * config/m68hc11/m68hc11.c (print_operand): Likewise.
16801         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
16802         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
16803         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
16804         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
16805         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
16806         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
16807         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
16808         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
16809         * config/mips/mips.c (print_operand): Likewise.
16810         * config/ns32k/ns32k.c (print_operand): Likewise.
16811         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
16812         * config/vax/vax.h (PRINT_OPERAND): Likewise.
16813         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
16814
16815 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
16816
16817         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
16818         xtensa_multibss_section_type_flags.
16819         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
16820
16821 2002-09-04  Richard Henderson  <rth@redhat.com>
16822
16823         * doc/install-old.texi: Don't mention enquire.
16824         * doc/sourcebuild.texi: Update float.h description.
16825
16826 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
16827
16828         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
16829
16830 2002-09-03  Roger Sayle  <roger@eyesopen.com>
16831
16832         * builtins.c (build_function_call_expr): Remove prototype, export
16833         as non-static and add a comment above function definition.
16834         (builtin_mathfn_code): New function to check for math builtins.
16835         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
16836         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
16837         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
16838         log(sqrt(x)) as log(x)/2.0.
16839
16840         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
16841         in new "builtins.c" section.  Place the build_range_type prototype
16842         with the other prototypes from "tree.c".
16843
16844         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
16845         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
16846         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
16847         x/exp(y) as x*exp(-y).
16848
16849 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
16850
16851         * varasm.c (default_section_type_flags): Append _1 to name with
16852         shlib parameter.  Use original name to call new function with
16853         implicit flag_pic.
16854         (decl_readonly_section): Likewise.
16855         (default_elf_select_section): Likewise.
16856         (default_unique_section): Likewise.
16857         (default_bind_local_p): Likewise.
16858         (categorize_decl_for_section): Add shlib parameter to use in place
16859         of implicit flag_pic.
16860         * output.h: Declare new functions with _1 and shlib argument.
16861
16862 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
16863
16864         * doc/install.texi: Fix typos, formatting problems, and obvious
16865         overfull/underfull boxes.
16866
16867         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
16868         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
16869         include its file, compat.texi.
16870         * doc/compat.texi: New file with new chapter, Binary Compatibility.
16871
16872 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
16873
16874         Debian BTS Bug #157416
16875         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
16876         * cpplib.c (destringize_and_run): Kludge around getting
16877         tokens from in-progress macros.
16878         (_cpp_do__Pragma): Simplify.
16879
16880 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
16881
16882         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
16883         (CPP_CPU_SPEC): Remove.
16884         (TARGET_CPU_CPP_BUILTINS): New.
16885         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
16886         (CPP_SPEC): Remove.
16887         (TARGET_OS_CPP_BUILTINS): New.
16888         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
16889         (TARGET_OS_CPP_BUILTINS): New.
16890         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
16891         TARGET_OS_CPP_BUILTINS.
16892         (CPP_PREDEFINES): Remove.
16893         (CPLUSPLUS_CPP_SPEC): Remove.
16894         (TARGET_OS_CPP_BUILTINS): New.
16895
16896 2002-09-03  Richard Henderson  <rth@redhat.com>
16897
16898         * Makefile.in (USER_H): Add ginclude/float.h.
16899         (FLOAT_H): Remove.
16900         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
16901         (mostlyclean): Don't remove float.h intermediate files.
16902         (distclean): Don't remove float.h.
16903         * config.gcc: Remove all float_format references.
16904         * configure.in (float_format, float_h_file): Remove.
16905
16906         * c-common.c: Include tree-inline.h.
16907         (builtin_define_with_int_value): New.
16908         (builtin_define_type_precision): Use it.
16909         (builtin_define_float_constants): New.
16910         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
16911         __FLT_EVAL_METHOD__.
16912         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
16913         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
16914         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
16915         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
16916         (TARGET_FLT_EVAL_METHOD): New.
16917
16918         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
16919         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
16920         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
16921         * ginclude/float.h: New.
16922
16923 2002-09-03  Stan Shebs  <shebs@apple.com>
16924
16925         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
16926         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
16927         (PREFERRED_DEBUGGING_TYPE): Ditto.
16928         (ASM_OUTPUT_IDENT): Remove empty definition.
16929
16930 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
16931
16932         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
16933         cxx_target.
16934         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
16935         handling routine for builtin pragma.
16936         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
16937         Registered pragma handling routine.
16938         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
16939         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
16940         If builtin pragma seen for math routine and C89 conformance is
16941         requested use different math function in order to set errno.
16942         * t-ia64 (ia64-c.o): Add new rule for new file.
16943
16944 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
16945
16946         * config/s390/s390.md ("movti"): Add Q->Q alternative.
16947         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
16948         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
16949
16950         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
16951         "*movsf_ss"): Remove.
16952
16953 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16954
16955         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
16956         Delete macros.
16957
16958 2002-09-03   Arati Dikey  <aratid@kpit.com>
16959
16960         * h8300.c (asm_file_start): Corrected optimization comment.
16961
16962 2002-09-03  Stan Shebs  <shebs@apple.com>
16963
16964         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
16965         * c-tree.h (recognize_objc_keyword): Remove decl.
16966         * c-typeck.c (comp_target_types): Update a comment.
16967
16968 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
16969
16970         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
16971         and register validity checks.
16972         (general_s_operand): Adapt to s390_decompose_address interface change.
16973         (q_constraint): Likewise.
16974         (s390_expand_plus_operand): Likewise.
16975         (legitimiate_address_p): Likewise.
16976         (legitimate_la_operand_p): Likewise.
16977         (legitimize_la_operand): Likewise.
16978         (print_operand_address): Likewise.
16979         (print_operand): Likewise.
16980
16981 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16982
16983         PR objc/5956:
16984         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
16985         was causing the new selector never to match the existing ones
16986         (Patch by Alexander Malmberg <alexander@malmberg.org>).
16987
16988 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
16989
16990         * config/i386/i386.md ("femms"): Add "memory" attr "none".
16991
16992 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
16993
16994         * expr.c (expand_expr): Remove extraneous comment and code.
16995
16996 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
16997
16998         * stor-layout (finish_builtin_struct): Renamed and moved from c++
16999         frontend. Take chain of fields. Allow NULL alignment type.
17000         * tree.h (finish_builtin_struct): Declare.
17001
17002 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17003
17004         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
17005         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
17006         config/arc/arc.c config/arc/arc.h config/arm/aout.h
17007         config/arm/arm.c config/arm/arm.h config/arm/arm.md
17008         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
17009         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
17010         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
17011         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
17012         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
17013         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
17014         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
17015         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
17016         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
17017         config/pa/pa.h config/pa/pa.md config/romp/romp.h
17018         config/rs6000/linux64.h config/rs6000/lynx.h
17019         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
17020         config/s390/s390.c config/s390/s390.md config/sh/sh.c
17021         config/sparc/sparc.c config/sparc/sysv4.h
17022         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
17023         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
17024         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
17025
17026         * doc/tm.texi: Update docs.
17027         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
17028         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
17029
17030 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17031
17032         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
17033         * arc.c (arc_internal_label): New function.
17034         (TARGET_ASM_INTERNAL_LABEL): Set.
17035         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17036         * arm.c (arm_internal_label): New function.
17037         (TARGET_ASM_INTERNAL_LABEL): Set.
17038         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17039         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17040         * i370.c (i370_internal_label): New function.
17041         (TARGET_ASM_INTERNAL_LABEL): Set.
17042         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17043         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17044         * m68k.c (m68k_hp320_internal_label): New function.
17045         (TARGET_ASM_INTERNAL_LABEL): Set.
17046         * m88k.c (m88k_internal_label): New function.
17047         (TARGET_ASM_INTERNAL_LABEL): Set.
17048         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17049         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
17050         * genoutput.c (output_prologue): Include target.h in output file.
17051         * output.h (default_internal_label): Declare.
17052         * sdbout.c: Include target.h.
17053         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
17054         TARGET_ASM_OUT.
17055         * target.h (internal_label): Add to struct gcc_target.
17056         * varasm.c (default_internal_label): New function.
17057
17058 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17059
17060         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
17061         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17062         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17063         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17064         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17065         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17066         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17067         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17068         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17069         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17070         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17071         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17072         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17073         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17074         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17075         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17076         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17077         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17078         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17079         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17080         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17081         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17082         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17083         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17084         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17085         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
17086         * mmix.c (mmix_asm_output_internal_label): Likewise.
17087         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17088         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17089         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17090         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17091         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17092         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17093         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17094         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17095         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17096         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17097         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17098         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17099         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17100         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17101         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17102         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17103         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17104         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17105         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17106
17107         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
17108
17109 2002-08-31  Richard Henderson  <rth@redhat.com>
17110
17111         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
17112
17113 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17114
17115         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
17116
17117 2002-08-30  Richard Henderson  <rth@redhat.com>
17118
17119         PR opt/7515
17120         * c-objc-common.c: Include target.h.
17121         (c_cannot_inline_tree_fn): Don't auto-inline functions that
17122         don't bind locally.  Factor setting DECL_UNINLINABLE.
17123         * Makefile.in (c-objc-common.o): Update.
17124
17125 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
17126
17127         * doc/install.texi (Configuration, Building): Fix a typo and
17128         some formatting directives.
17129
17130 2002-08-30  Paul Koning <pkoning@equallogic.com>
17131
17132         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
17133         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
17134         implemented" note.
17135         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
17136         for alphabetic order.
17137         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
17138         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
17139         (VAX_HALFWORD_ORDER): Document.
17140         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
17141         IEEE float format.
17142         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
17143         (ASM_OUTPUT_LABEL_REF): Fix font.
17144         (CASE_VECTOR_SHORTEN_MODE): Ditto.
17145
17146 2002-08-30  Denis Chertykov  <denisc@overta.ru>
17147
17148         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
17149         stuff.
17150         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
17151         CONST_DOUBLE constants.
17152
17153 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
17154
17155         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
17156         related defines to...
17157         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
17158         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
17159         as a no-op.
17160
17161 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
17162
17163         * config/arm/arm.c (arm_asm_output_labelref): New function.
17164         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
17165         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
17166
17167 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
17168
17169         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
17170         memory exhausted" workarounds.
17171
17172 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
17173
17174         * diagnostic.c (fancy_abort): Don't repeat "internal error".
17175         * toplev.c (crash_signal): Likewise.
17176
17177 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
17178
17179         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
17180         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
17181         Extended, updated documentation.
17182         (-Wundeclared-selector): Documented.
17183
17184 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
17185
17186         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
17187         the value 1.  Do not undef before defining.
17188         * config/darwin.h: Likewise.
17189         * config/dbx.h: Likewise.
17190         * config/dbxcoff.h: Likewise.
17191         * config/dbxelf.h: Likewise.
17192         * config/elfos.h: Likewise.
17193         * config/interix.h: Likewise.
17194         * config/lynx-ng.h: Likewise.
17195         * config/lynx.h: Likewise.
17196         * config/netware.h: Likewise.
17197         * config/psos.h: Likewise.
17198         * config/svr3.h: Likewise.
17199         * config/alpha/alpha.h: Likewise.
17200         * config/alpha/elf.h: Likewise.
17201         * config/alpha/vms.h: Likewise.
17202         * config/arc/arc.h: Likewise.
17203         * config/arm/aout.h: Likewise.
17204         * config/arm/coff.h: Likewise.
17205         * config/c4x/c4x.h: Likewise.
17206         * config/h8300/h8300.h: Likewise.
17207         * config/i386/cygwin.h: Likewise.
17208         * config/i386/djgpp.h: Likewise.
17209         * config/i386/gas.h: Likewise.
17210         * config/i386/gstabs.h: Likewise.
17211         * config/i386/i386-coff.h: Likewise.
17212         * config/i386/i386-interix.h: Likewise.
17213         * config/i386/sco5.h: Likewise.
17214         * config/i386/svr3dbx.h: Likewise.
17215         * config/i386/sysv3.h: Likewise.
17216         * config/i386/win32.h: Likewise.
17217         * config/i386/x86-64.h: Likewise.
17218         * config/i960/i960.h: Likewise.
17219         * config/ia64/ia64.h: Likewise.
17220         * config/ip2k/ip2k.h: Likewise.
17221         * config/m32r/m32r.h: Likewise.
17222         * config/m68k/3b1.h: Likewise.
17223         * config/m68k/3b1g.h: Likewise.
17224         * config/m68k/ccur-GAS.h: Likewise.
17225         * config/m68k/coff.h: Likewise.
17226         * config/m68k/hp2bsd.h: Likewise.
17227         * config/m68k/hp310g.h: Likewise.
17228         * config/m68k/hp320g.h: Likewise.
17229         * config/m68k/hp3bsd.h: Likewise.
17230         * config/m68k/hp3bsd44.h: Likewise.
17231         * config/m68k/linux-aout.h: Likewise.
17232         * config/m68k/m68k-aout.h: Likewise.
17233         * config/m68k/mot3300.h: Likewise.
17234         * config/m68k/netbsd.h: Likewise.
17235         * config/m68k/openbsd.h: Likewise.
17236         * config/m68k/pbb.h: Likewise.
17237         * config/m68k/plexus.h: Likewise.
17238         * config/m68k/sun2.h: Likewise.
17239         * config/m68k/sun3.h: Likewise.
17240         * config/m68k/tower-as.h: Likewise.
17241         * config/m68k/vxm68k.h: Likewise.
17242         * config/m88k/aout-dbx.h: Likewise.
17243         * config/m88k/m88k-aout.h: Likewise.
17244         * config/mcore/mcore-elf.h: Likewise.
17245         * config/mcore/mcore-pe.h: Likewise.
17246         * config/mips/elf.h: Likewise.
17247         * config/mips/elf64.h: Likewise.
17248         * config/mips/iris5gas.h: Likewise.
17249         * config/mips/iris6.h: Likewise.
17250         * config/mips/mips.h: Likewise.
17251         * config/mips/sni-gas.h: Likewise.
17252         * config/mmix/mmix.h: Likewise.
17253         * config/ns32k/netbsd.h: Likewise.
17254         * config/pa/pa64-hpux.h: Likewise.
17255         * config/romp/romp.h: Likewise.
17256         * config/rs6000/sysv4.h: Likewise.
17257         * config/rs6000/xcoff.h: Likewise.
17258         * config/sh/coff.h: Likewise.
17259         * config/sh/elf.h: Likewise.
17260         * config/sparc/linux64.h: Likewise.
17261         * config/sparc/liteelf.h: Likewise.
17262         * config/sparc/netbsd.h: Likewise.
17263         * config/sparc/openbsd.h: Likewise.
17264         * config/sparc/pbd.h: Likewise.
17265         * config/sparc/sp64-elf.h: Likewise.
17266         * config/sparc/sp86x-elf.h: Likewise.
17267         * config/sparc/sparc.h: Likewise.
17268         * config/vax/vax.h: Likewise.
17269         * config/vax/vaxv.h: Likewise.
17270
17271 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
17272
17273         * h8300.c (shift_alg_hi): Various tweaks to improve performance
17274         of HImode shifts.
17275         (get_shift_alg): Corresponding changes.
17276
17277 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17278
17279         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
17280
17281 2002-08-29  Richard Henderson  <rth@redhat.com>
17282
17283         * expr.h (enum block_op_methods): New.
17284         (emit_block_move): Update prototype.
17285         * expr.c (block_move_libcall_safe_for_call_parm): New.
17286         (emit_block_move_via_loop): New.
17287         (emit_block_move): Use them.  New argument METHOD.
17288         (emit_push_insn): Always respect the given alignment.
17289         (expand_assignment): Update call to emit_block_move.
17290         (store_expr, store_field, expand_expr): Likewise.
17291         * builtins.c (expand_builtin_apply): Likewise.
17292         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
17293         * function.c (expand_function_end): Likewise.
17294         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
17295         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17296         * calls.c (expand_call, emit_library_call_value_1): Likewise.
17297         (save_fixed_argument_area): Use emit_block_move with
17298         BLOCK_OP_CALL_PARM instead of move_by_pieces.
17299         (restore_fixed_argument_area): Likewise.
17300         (store_one_arg): Fix alignment parameter to emit_push_insn.
17301
17302 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17303
17304         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
17305
17306 2002-08-29  Catherine Moore  <clm@redhat.com>
17307
17308         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
17309         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
17310         (PREDICATE_CODES): Include new predicates.
17311         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
17312         (TARGET_SWITCHES):  Add strict-align.
17313         (TARGET_STRICT_ALIGN): New.
17314         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
17315         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
17316         Define.
17317         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
17318         v850_muldi3.
17319         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
17320         L_callt_save_r2_r31, L_return_r2_r31,
17321         L_save_all_interrupt): Change addi to add.
17322         (L_save_interrupt, L_return_interrupt): Rework.
17323         (__return_r31):  Correct .size directive.
17324         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
17325         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
17326         New routines.
17327         * config/v850/v850.c (expand_prologue): Call
17328         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
17329         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
17330         (reg_or_int9_operand): New predicate.
17331         (reg_or_const_operand): New routine.
17332         * config/v850/v850.md (return_interrupt): Changed from
17333         restore_interrupt.
17334         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
17335         (callt_save_interrupt): Change save sequence.
17336         (callt_return_interrupt): New.
17337         (save_interrupt): Don't use runtime function for LONG_CALLS
17338         and TARGET_PROLOG_FUNCTION.
17339         (save_all_interrupt): Likewise.
17340         (mulsi3): Use new predicate.
17341         (moviscc): Disallow some combination of constants.
17342         Fix define_split for sasf insns, so that it will not generate bad
17343         code if operand0 and operand5 are the same.
17344         * config/v850/v850-protos.h: Prototype new predicates.
17345
17346 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
17347
17348         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
17349         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
17350
17351 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
17352
17353         * c-common.c (builtin_define_type_precision): New function.
17354         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
17355         wchar_t is unsigned in C++.
17356         * doc/cpp.texi (Common Predefined Macros): Document
17357         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
17358         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
17359         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
17360
17361 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
17362
17363         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
17364         section.  Mention that it is enabled by -Wall.
17365         (-Wall): Mention that there can be language-specific warnings as well.
17366         (-Wctor-dtor-privacy): Mention that it is enabled by default.
17367         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
17368
17369 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
17370
17371         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
17372         if it is ever live.
17373
17374         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
17375         attribute for SHCOMPACT.
17376
17377         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
17378         appropriately.
17379         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
17380         by the ABI.
17381
17382         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
17383
17384 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
17385
17386         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
17387         "MASK_GAS|MASK_ABICALLS".
17388         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
17389         (TARGET_DEFAULT): Remove.
17390         (MACHINE_TYPE): Undefine before defining.
17391         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
17392
17393 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
17394
17395         * c-common.c (warn_abi): New variable.
17396         * c-common.h (warn_abi): Likewise.
17397         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
17398         (c_common_decode_option): Handle it.
17399         * doc/invoke.texi: Document -Wabi.
17400
17401 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
17402
17403         * c-common.c (warn_undeclared_selector): New variable.
17404         * c-common.h (warn_undeclared_selector): Idem.
17405         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
17406         to on when -Wundeclared-selector is found.
17407         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
17408         * objc/objc-act.c (build_selector_expr): If
17409         warn_undeclared_selector is set, check that the selector has
17410         already been defined, and emit a warning if not.
17411
17412 2002-08-27  Nick Clifton  <nickc@redhat.com>
17413             Catherine Moore  <clm@redhat.com>
17414             Jim Wilson  <wilson@cygnus.com>
17415
17416         * config.gcc: Add v850e-*-* target.
17417         Add --with-cpu= support for v850.
17418         * config/v850/lib1funcs.asm: Add v850e callt functions.
17419         * config/v850/v850.h: Add support for v850e target.
17420         * config/v850/v850.c: Add functions to support v850e target.
17421         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
17422         * config/v850/v850.md: Add patterns for v850e instructions.
17423         * doc/invoke.texi: Document new v850e command line switches.
17424
17425 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
17426                           Aldy Hernandez <aldyh at redhat dot com>
17427
17428         * doc/tm.texi: Applied numerous fixes to the automaton based
17429         scheduler descrition.
17430
17431 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
17432
17433         * i386.c (classify_argument): Handle variable sized objects.
17434
17435 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
17436
17437         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
17438
17439 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
17440
17441         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
17442
17443 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
17444
17445         * i386.c (classify_argument): Properly compute word size of the analyzed object.
17446
17447 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
17448
17449         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
17450         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
17451         accordingly.
17452         (attribute insn_class): Provide default definitions based on type.
17453         Remove all insn-specific settings.
17454         (various function units): Remove old SH4 scheduling.
17455         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
17456         New attributes.  Set them where appropriate.
17457         (cpu unit FS): Don't define / use.
17458         (F3, load_store): New cpu units.
17459         (F01): New reservation.
17460         (all insn_reservations): Make dependent on sh4 pipeline model.
17461         Fix latencies.
17462         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
17463         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
17464         (mt insn_reservation): Use type mt_group.
17465         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
17466         sh4_fload and sh4_store.
17467         (insn_reservation branch_zero and branch): Replace with sh4_branch.
17468         (insn_reservation branch_far): Replace with sh4_return.
17469         (insn_reservation return_from_exp): Rename to:
17470         (sh4_return_from_exp).  Change to be just d_lock*5.
17471         (insn_reservation lds_to_pr): Rename to:
17472         (sh4_lds_to_pr).  Change to be just d_lock*2.
17473         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
17474         d_lock*2.
17475         (insn_reservation prload_mem): Rename to:
17476         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
17477         (insn_reservation fpscr_store): Rename to:
17478         (fpscr_load).  Change to d_lock,nothing,F1*3.
17479         (insn_reservation fpscr_store_mem): Rename to:
17480         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
17481         (insn_reservation multi): Change to
17482         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
17483         (insn_reservation fp_arith): Change to issue,F01,F2.
17484         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
17485         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
17486         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
17487         (insn_reservation fp_double_cmp): Change to
17488         d_lock,(d_lock+F01),F1+F2,F2.
17489         (insn_reservation dp_div): Change to
17490         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
17491         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
17492         (sh_adjust_cost, SHcompact): Differentiate between different
17493         kinds of dependencies.  Drop factor of ten for superscalar.
17494         Use new instruction types.  Add new exception rules.
17495
17496         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
17497
17498         * sh.md (mperm_w): Add DONE.
17499
17500 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
17501
17502         * longlong.h: Import current PowerPC defintion from GMP-4.1.
17503
17504         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
17505
17506         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
17507
17508 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
17509
17510         * sh.h (MAX_FIXED_MODE_SIZE): Define.
17511
17512 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
17513
17514         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
17515         delimiter.
17516
17517 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
17518
17519         * c-common.c (cpp_define_data_format): New function.
17520         (cb_register_builtins): Call it.
17521
17522         * doc/cpp.texi (Common Predefined Macros): Document
17523         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
17524         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
17525         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
17526         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
17527         __TARGET_USES_VAX_H_FLOAT__.
17528
17529 2002-08-26  Ziemowit Laski <zlaski@apple.com>
17530
17531         * objc/objc-act.c (get_super_receiver): If inside a class method
17532         of a category, cast the receiver to 'id' before accessing the 'isa'
17533         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
17534
17535 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
17536
17537         * config/s390/s390-protos.h (s390_function_prologue,
17538         s390_function_epilogue): Remove.
17539         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
17540         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
17541
17542         config/s390/s390.c (s390_machine_dependent_recorg): New function.
17543         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
17544         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
17545         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
17546         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
17547
17548         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
17549         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
17550         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
17551         function is not a leaf function.  Use save_gprs and restore_gprs.
17552         (s390_emit_epilogue): Likewise.
17553         (save_gprs, restore_gprs): New functions.
17554         (struct s390_frame): Remove return_reg_saved_p member.
17555         (save_fprs_p): Remove.
17556         (s390_optimize_prolog): New function.
17557         (s390_legitimate_reload_constant): Remove now unnecessary check.
17558
17559         (s390_function_count): Remove.
17560         (s390_output_symbolic_const): Replace s390_function_count by
17561         current_function_funcdef_no.
17562         (s390_output_constant_pool): Likewise.
17563
17564         (legitimize_pic_address): Use regs_ever_live to track PIC register
17565         instead of current_function_uses_pic_offset_table.
17566         (s390_emit_prologue): Likewise.
17567         config/s390/s390.md ("call", "call_value"): Likewise.
17568
17569 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
17570
17571         * c-opts.c (find_opt): Don't complain about wrong languages
17572         here.  Return exact matches even for wrong language.
17573         (c_common_decode_option): Complain about wrong languages
17574         here.
17575
17576 2002-08-24  Stuart Hastings  <stuart@apple.com>
17577
17578         * function.h (struct function): Add flag
17579         all_throwers_are_sibcalls.
17580         * except.c (set_nothrow_function_flags): Replaces
17581         nothrow_function_p. Set new flag.
17582         * except.h (set_nothrow_function_flags): Replaces
17583         nothrow_function_p.
17584         * dwarf2out.c (struct dw_fde_struct): Add flag
17585         all_throwers_are_sibcalls.
17586         (output_call_frame_info): Test it.
17587         (dwarf2out_begin_prologue) Propagate it from cfun to
17588         dw_fde_struct.
17589         * toplev.c (rest_of_compilation): Update calls to
17590         nothrow_function_p.
17591
17592 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
17593
17594         * ggc-page.c (compute_inverse): Short circuit calculation for
17595         object sizes larger than half a page.
17596
17597 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
17598
17599         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
17600         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
17601         default.
17602         (rs6000_elf_unique_section): Likewise.
17603
17604 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17605
17606         * ns32k.c (ns32k_globalize_label): Delete.
17607         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
17608
17609 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
17610
17611         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
17612         for loading delta with num_insns_constant_wide.  Calculate
17613         delta_low, delta_high without using a conditional.
17614
17615 2002-08-22  Jason Merrill  <jason@redhat.com>
17616
17617         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
17618         * c-common.def: Adjust.
17619         * c-dump.c (c_dump_tree): Adjust.
17620         * c-semantics.c (genrtl_return_stmt): Adjust.
17621         * c-pretty-print.c (pp_c_statement): Adjust.
17622         * tree-inline.c (copy_body_r): Adjust.
17623
17624 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
17625
17626         * ggc-page.c: Avoid division in ggc_set_mark.
17627         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
17628         compute_inverse): New.
17629         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
17630         (init_ggc): Initialize inverse_table.
17631
17632 2002-08-22  Tom Tromey  <tromey@redhat.com>
17633
17634         * doc/install.texi (Configuration): Document --datadir.
17635
17636 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
17637
17638         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
17639
17640 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
17641
17642         * gengtype-lex.l (ID): Allow underscore as first character.
17643
17644 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
17645
17646         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
17647         function.
17648         (rs6000_xcoff_asm_named_section): Rename.
17649         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
17650
17651 2002-08-21  Tom Tromey  <tromey@redhat.com>
17652
17653         For PR java/6005 and PR java/7611:
17654         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
17655         (fold): Likewise.
17656         * langhooks.c (lhd_can_use_bit_fields_p): New function.
17657         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
17658         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
17659         (LANG_HOOKS_INITIALIZER): Use it.
17660         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
17661         field.
17662
17663 2002-08-21  Stan Shebs  <shebs@apple.com>
17664
17665         * tree.c (finish_vector_type): Fix a typo in a comment.
17666         * Makefile.in: Fix "the the" stutters in comments.
17667         * genautomata.c: Ditto.
17668         * ifcvt.c: Ditto.
17669         * regrename.c: Ditto.
17670         * config/alpha/alpha.c: Ditto.
17671         * config/alpha/vms-crt0-64.c: Ditto.
17672         * config/alpha/vms-crt0.c: Ditto.
17673         * config/alpha/vms-psxcrt0-64.c: Ditto.
17674         * config/alpha/vms-psxcrt0.c: Ditto.
17675         * config/d30v/d30v.h: Ditto.
17676         * config/fr30/fr30.h: Ditto.
17677         * config/rs6000/rs6000.c: Ditto.
17678         * config/stormy16/stormy16.h: Ditto.
17679         * doc/md.texi: Ditto.
17680
17681 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17682
17683         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
17684
17685 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
17686
17687         * c-decl.c (grokdeclarator): Make invalid combinations with long,
17688         short, signed or unsigned into hard errors.  Fixes PR c/4319.
17689         Also make duplicate modifiers such as "short short" into hard
17690         errors.
17691
17692 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
17693             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17694
17695         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
17696         to the actual end.  Add '@end table' and '@table @code'.
17697
17698 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
17699
17700         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
17701
17702         * unroll.c (biv_total_increment): Don't try to compute the total
17703         increment for FP BIVs.
17704
17705 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17706
17707         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
17708         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
17709         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17710         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
17711         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
17712         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
17713         (GLOBAL_ASM_OP): Define.
17714         * arm.c (aof_globalize_label): New function.
17715         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
17716         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17717         * c4x.c (c4x_globalize_label): New function.
17718         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
17719         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
17720         (GLOBAL_ASM_OP): Define.
17721         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
17722         * darwin-protos.h (darwin_globalize_label): Declare.
17723         * darwin.c (darwin_globalize_label): New function.
17724         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
17725         (ASM_GLOBALIZE_LABEL): Delete.
17726         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
17727         * dsp16xx.c (asm_output_common): Use target hook.
17728         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
17729         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
17730         (GLOBAL_ASM_OP): Define.
17731         * i370.c (i370_globalize_label): New function.
17732         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
17733         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
17734         * i386.c (ix86_asm_file_end): Use target hook.
17735         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
17736         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
17737         * ia64.c (ia64_asm_output_external): Likewise.
17738         * ia64/sysv4.h: Update comment.
17739         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17740         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
17741         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
17742         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
17743         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
17744         * mmix-protos.h (mmix_asm_globalize_label): Delete.
17745         * mmix.c (mmix_asm_globalize_label): Likewise.
17746         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
17747         (GLOBAL_ASM_OP): Define.
17748         * ns32k.c (ns32k_globalize_label): New function.
17749         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
17750         (ASM_GLOBALIZE_LABEL): Delete.
17751         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
17752         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
17753         * pa.c (pa_globalize_label): New function.
17754         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
17755         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
17756         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
17757         (GLOBAL_ASM_OP): Define.
17758         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
17759         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
17760         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
17761         (GLOBAL_ASM_OP): Define.
17762         * v850.c (v850_output_aligned_bss): Use target hook.
17763         * vax.c (vms_globalize_label): New function.
17764         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
17765         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
17766         (GLOBAL_ASM_OP): Define.
17767         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
17768         * doc/tm.texi: Update docs.
17769         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
17770         target hook.
17771         * final.c (output_alternate_entry_point): Likewise.
17772         * hooks.c (hook_FILEptr_constcharptr_void): New function.
17773         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
17774         * output.h (assemble_global): Delete.
17775         (default_globalize_label): Declare.
17776         * system.h (ASM_GLOBALIZE_LABEL): Poison.
17777         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
17778         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
17779         * target.h (gcc_target): Add globalize_label member.
17780         * varasm.c (asm_output_bss, asm_output_aligned_bss,
17781         globalize_decl): Use target hook.
17782         (assemble_global): Delete.
17783         (default_globalize_label): New function.
17784
17785 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17786
17787         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
17788
17789 2002-08-20  Devang Patel  <dpatel@apple.com>
17790         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
17791
17792 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17793
17794         * arc.c (output_shift): Use stdio instead of asm_fprintf.
17795         * arm.c (thumb_output_function_prologue): Likewise.
17796         * avr.c (print_operand): Likewise.
17797         * c4x.c (c4x_print_operand): Likewise.
17798         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
17799         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
17800         * cris.c (cris_target_asm_function_prologue,
17801         cris_asm_output_mi_thunk): Likewise.
17802         * h8300.c (print_operand): Likewise.
17803         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17804         * ip2k.c (print_operand): Likewise.  Fix format specifier.
17805         * m68hc11.c (asm_print_register, print_operand,
17806         print_operand_address): Use stdio instead of asm_fprintf.
17807         (print_operand_address): Fix format specifier.
17808         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
17809         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
17810         asm_fprintf.
17811         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17812         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
17813         * m68k.c (m68k_output_function_prologue,
17814         m68k_output_function_epilogue, print_operand): Likewise.
17815         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
17816         Likewise.  Fix format specifier.
17817         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17818         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17819         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
17820
17821 2002-08-15  Eric Christopher  <echristo@redhat.com>
17822             Jeff Knaggs  <jknaggs@redhat.com>
17823
17824         * config.gcc (mipsisa64sr71k-elf): New target.
17825         * config/mips/sr71k.md: New file.
17826         * config/mips/mips.md: Use it.
17827         (rot*): Add sr71k specifics.
17828         * config/mips/t-sr71k: New file.
17829         * config/mips/mips.h (sr71k): New cpu.
17830         (TARGET_SR71K): Use it.
17831         (TUNE_SR71K): Ditto.
17832         (GENERATE_BRANCHLIKELY): Ditto.
17833         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
17834         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
17835         * config/mips/mips.c (sr71k): New cpu.
17836         (mips_use_dfa_pipeline_interface): Use.
17837
17838 2002-08-15  Eric Christopher  <echristo@redhat.com>
17839             Richard Sandiford <rsandifo@redhat.com>
17840             Aldy Hernandez  <aldyh@redhat.com>
17841             Graham Stott    <grahams@redhat.com>
17842             Michael Meissner  <meissner@redhat.com>
17843             Gavin Romig-Koch  <gavin@redhat.com>
17844             Ken Raeburn  <raeburn@cygnus.com>
17845             Alexandre Oliva <aoliva@redhat.com>
17846
17847         * config.gcc (mips64vr-elf): New target.
17848         * config/mips/5400.md: New file.
17849         * config/mips/5500.md: Ditto.
17850         * config/mips/mips.md: Use them.
17851         (frsqrt): New.
17852         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
17853         cpus.
17854         (mips_issue_rate): Use them.
17855         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
17856         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
17857         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
17858         cpus.
17859         (TARGET_MIPSx): Use them.
17860         (TUNE_MIPSx): Ditto.
17861         (GETNATE_MULT3_SI): Ditto.
17862         (ISA_HAS_BRANCHLIKELY): Ditto.
17863         (ISA_HAS_CONDMOVE): Ditto.
17864         (ISA_HAS_NMADD_NMSUB): Ditto.
17865         (ISA_HAS_MULHI): New. Ditto.
17866         (ISA_HAS_MULS): Ditto.
17867         (ISA_HAS_MSAC): Ditto.
17868         (ISA_HAS_MACC): Ditto.
17869         (ISA_HAS_ROTR_SI): Ditto.
17870         (ISA_HAS_ROTR_DI): Ditto.
17871         (RTX_COSTS): Use.
17872
17873 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17874
17875         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
17876         at head.
17877         (remove_dup_nonsys_dirs): New function.
17878         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
17879         (merge_include_chains): Remove non-system include directories from
17880         quote and bracket include chains when they duplicate equivalent system
17881         directories.
17882         * doc/cpp.texi (-I): Update.
17883         * doc/cppopts.texi (-I): Update.
17884         * doc/install.texi (--with-local-prefix): Further document usage of
17885         this option.
17886         * doc/invoke.texi (-I): Update.
17887
17888 2002-08-20  Richard Henderson  <rth@redhat.com>
17889
17890         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
17891         (emit_block_move): Split out subroutines.
17892         (emit_block_move_via_movstr): New.
17893         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
17894         (emit_block_move_libcall_fn): New.  Construct function prototype for
17895         bcopy as well.
17896         (clear_storage): Split out subroutines.
17897         (clear_storage_via_clrstr): New.
17898         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
17899         (clear_storage_libcall_fn): New.  Construct function prototype for
17900         bzero as well.
17901         (emit_push_insn): Use emit_block_move.
17902         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
17903         (store_constructor): Likewise.
17904
17905 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
17906
17907         * objc/objc-act.c (building_objc_message_expr): Rename to
17908         current_objc_message_selector.
17909
17910 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
17911
17912         * objc/objc-act.c (build_ivar_chain): Remove.
17913         (objc_copy_list): Likewise.
17914         (get_class_ivars): Inline call to removed build_ivar_chain
17915         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
17916         slot; use that slot (rather than CLASS_IVARS) when accessing
17917         ivars for base classes.  Call copy_list and chainon instead of
17918         objc_copy_list.
17919         (build_private_template): Call get_class_ivars instead of
17920         build_ivar_chain.
17921         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
17922         (continue_class): Call get_class_ivars instead of
17923         build_ivar_chain.
17924         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
17925         of DECL_BIT_FIELD (which may have been cleared).
17926         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
17927
17928 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17929
17930         * genautomata.c (output_translate_vect, output_state_ainsn_table,
17931         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
17932         in output file.
17933         (output_internal_min_issue_delay_func): Initialize variable in
17934         output file.
17935
17936 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
17937
17938         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
17939         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
17940
17941 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
17942             Steve Ellcey  <sje@cup.hp.com>
17943
17944         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
17945         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
17946         * explow.c (trunc_int_for_mode): Abort when the mode is not
17947         a scaler integer mode.
17948         * combine.c (expand_compound_operation): Don't expand Vector
17949         or Complex modes into shifts.
17950         (expand_field_assignment): Don't do bitwise arithmatic and
17951         shifts on Vector or Complex modes.
17952         (simplify_comparison): Don't call trunc_int_for_mode
17953         for VOIDmode.
17954         * recog.c (general_operand): Likewise.
17955         (immediate_operand): Likewise.
17956         (nonmemory_operand): Likewise.
17957
17958 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
17959
17960         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
17961         multi-instruction SImode constant.  Add REG_EQUAL note.
17962         * config/rs6000/rs6000.md (movsi splitter): Use
17963         rs6000_emit_set_const.
17964
17965 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17966
17967         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
17968         the macro test controlling its use.
17969
17970 2002-08-18  H.J. Lu  (hjl@gnu.org)
17971
17972         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
17973         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
17974         gnu_ld=yes.
17975         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
17976         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
17977         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
17978         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
17979         here.
17980         (cris-*-linux*): Remove setting thread_file here.
17981
17982 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
17983
17984         PR preprocessor/7602
17985         * cppinit.c (path_include): Treat the system environment
17986         variables as being cxx_aware.
17987
17988 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
17989
17990         * c-decl.c (flexible_array_type_p): New function.
17991         (grokdeclarator, finish_struct): Use it.
17992         * doc/extend.texi: Document constraints on use of structures with
17993         flexible array members.
17994
17995 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
17996
17997         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
17998         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
17999         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
18000
18001 2002-08-16  Stan Shebs  <shebs@apple.com>
18002
18003         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
18004         for ObjC with -fnext-runtime.
18005         * doc/cpp.texi: Document it.
18006
18007 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
18008
18009         * doc/install.texi (Final installation): Replace links to individual
18010         build status pages with a link to a common page that lists them all.
18011
18012 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
18013
18014         * doc/invoke.texi: Fix typo.
18015
18016 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
18017
18018         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
18019
18020 2002-08-16  Andrew Haley  <aph@redhat.com>
18021
18022         * tree-inline.c: Add includes for Java inliner.
18023         (remap_decl): Don't handle anonymous types for Java.
18024         (remap_block): Add handling for Java trees.
18025         (copy_scope_stmt): Conditionalize for non-Java use only.
18026         (copy_body_r): Handle Java trees.  Add handling for
18027         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
18028         (initialize_inlined_parameters):  Handle Java trees.
18029         (declare_return_variable): Likewise.
18030         (expand_call_inline): Handle Java trees.
18031         (walk_tree): Likewise.
18032         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
18033         (add_stmt_to_compound): New function.
18034
18035 2002-08-15  Richard Henderson  <rth@redhat.com>
18036
18037         * Makefile.in (LOOSE_WARN): Remove -fno-common.
18038         (NOCOMMON_FLAG): New substitution point.
18039         (GCC_WARN_CFLAGS): Include it.
18040         * configure.in (ac_checking): Set nocommon_flag.
18041         (nocommon_flag): New substitution point.
18042
18043 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
18044
18045         * c-tree.h (skip_evaluation): Move declaration...
18046         * c-common.h: ... here.
18047         * c-typeck.c (build_external_ref): Don't assemble_external nor
18048         mark a tree as used if skip_evaluation is set.
18049         * c-parse.in (typeof): New non-terminal to set skip_evaluation
18050         around TYPEOF.
18051         (typespec_nonreserved_nonattr): Use it.
18052
18053 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
18054
18055         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
18056         (xcoff_debug_hooks): Update end_prologue.
18057         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
18058         * debug.h (end_prologue): Add file arg.
18059         (end_epilogue): Add line and file args.
18060         (dwarf2out_end_epilogue): Add line and file args.
18061         (vmsdbgout_after_prologue): Remove.
18062         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
18063         (dwarf2_debug_hooks): Update end_prologue.
18064         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
18065         (dwarfout_end_prologue): Add file arg.
18066         * final.c (vmsdbgout_after_prologue): Remove
18067         (final_end_function): Update end_epilogue call.
18068         (final_scan_insn): Update end_prologue call.
18069         * sdbout.c (sdbout_end_epilogue): Add line and file args.
18070         (sdbout_end_prologue): Add file arg.
18071         (sdb_debug_hooks): Update end_prologue.
18072         (sdb_begin_prologue): Update sdbout_end_prologue call.
18073         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
18074         vmsdbgout_end_function.
18075         (vmsdbgout_end_prologue): New function renamed from
18076         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
18077         (vmsdbgout_end_function): New function.
18078         (vmsdbgout_end_epilogue): Add line and file args. Call
18079         vmsdbgout_source_line.
18080         (write_pclines): Write only valid line numbers.
18081         (write_srccorr): Don't write source correlation records if 0 lines.
18082         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
18083
18084 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
18085
18086         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
18087         (_Unwind_Internal_Ptr): 32 bit version for use in
18088         read_encoded_value_with_base.
18089         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
18090         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
18091         right size.
18092
18093 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18094
18095         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
18096         signed/unsigned warnings.
18097
18098         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
18099         record_reg_classes): Likewise.
18100
18101         * reload.c (reload_inner_reg_of_subreg, push_reload,
18102         find_reloads_address_1): Likewise.
18103
18104 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
18105
18106         * rs6000.c (output_mi_thunk): Return to function section on
18107         TARGET_ELF.
18108
18109         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
18110
18111 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
18112
18113         * config/s390/s390.c (legitimize_address): Optimize loading
18114         of large displacements.
18115
18116 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
18117
18118         * config/alpha/alpha-protos.h: Update.
18119
18120         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
18121         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
18122         (alpha_linkage_symbol_p): New static function.
18123         (print_operand_address): Print linkage operand.
18124
18125         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
18126         variables.
18127         (reloc_kind): New enum.
18128         (struct alpha_funcs): New struct.
18129         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
18130
18131         (alpha_need_linkage): Rewrite.
18132         (alpha_use_linkage): New global function.
18133         (alpha_write_linkage): Rewrite and make static.
18134         (alpha_write_one_linkage): Rewrite
18135
18136         (alpha_start_function): Remove procedure descriptor output.
18137         (alpha_end_function): Write linkages at end of each function.
18138
18139         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
18140         (call_vms_1, call_value_vms_1): Rewrite.
18141
18142         * config/alpha/vms.h (ASM_FILE_END): Remove.
18143
18144 2002-08-14  Richard Henderson  <rth@redhat.com>
18145
18146         * ggc-page.c (RTL_SIZE): New.
18147         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
18148         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
18149
18150 2002-08-14  Richard Henderson  <rth@redhat.com>
18151
18152         * calls.c: Include target.h.
18153         * Makefile.in (calls.o): Update.
18154
18155         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
18156         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
18157
18158 2002-08-14  Richard Henderson  <rth@redhat.com>
18159
18160         * Makefile.in (LOOSE_WARN): Add -fno-common.
18161         * c-common.h (constant_string_class_name): Add missing extern.
18162
18163 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
18164
18165         PR preprocessor/7358
18166         * c-opts.c (check_deps_environment_vars): Ignore main file
18167         for SUNPRO_DEPENDENCIES.
18168         * cppfiles.c (stack_include_file): Ignore main file if
18169         appropriate.
18170         * cpplib.h (struct cpp_options): New member in deps.
18171         * doc/cppenv.texi: Update.
18172
18173 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
18174
18175         PR preprocessor/7526
18176         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
18177
18178 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
18179
18180         * doc/invoke.texi (-a): Remove documentation.
18181         (-fprofile-arcs): Remove reference to -a, -ax options.
18182         * doc/gcov.texi (Gcov Data Files): Data might be merged.
18183
18184 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
18185
18186         Fix PR/7566
18187         * c-semantics.c (genrtl_case_label): Don't (mis)use
18188         warning_with_decl.
18189
18190 2002-08-14  Dale Johannesen  <dalej@apple.com>
18191
18192         * explow.c (emit_stack_restore):  Emit memory clobbers
18193         preceding the stack pop, to prevent the scheduler from
18194         moving refs to variable arrays below this pop.
18195         * reload1.c (reload):  Preserve these clobbers for sched2.
18196         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
18197
18198 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
18199
18200         * c-opts.c (c_common_post_options): Correct test.
18201
18202 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18203
18204         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
18205         order in call to fprintf.
18206
18207 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18208
18209         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
18210
18211 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
18212
18213         * reload.c (find_reloads): Handle constraint letters marked by
18214         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
18215         (alternative_allows_memconst): Likewise.
18216         * reload1.c (maybe_fix_stack_asms): Likewise.
18217         * recog.c (asm_operand_ok, preprocess_constraints,
18218         constrain_operands): Likewise.
18219         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
18220         * local-alloc.c (block_alloc, requires_inout): Likewise.
18221         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
18222
18223         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
18224         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
18225         * doc/tm.texi: Document these two new target macros.
18226
18227         * config/s390/s390.c (s390_expand_plus_operand): Accept already
18228         valid operands.
18229         (q_constraint): New function.
18230         config/s390/s390-protos.h (q_constraint): Declare it.
18231         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
18232         (EXTRA_MEMORY_CONSTRAINT): New macro.
18233
18234         * config/s390/s390.md: Throughout the machine description,
18235         replace all instances of the constraint combinations 'Qo'
18236         or 'oQ' with simply 'Q'.
18237
18238 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
18239
18240         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
18241         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
18242         (LIBGCC2_CFLAGS): Compile with -mrelax.
18243
18244 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
18245
18246         * doc/invoke.texi: Document -minmax for 68HC12.
18247
18248         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
18249         ("uminqi3"): Likewise.
18250         ("uminhi3", "umaxhi3"): Likewise.
18251
18252         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
18253         (TARGET_MIN_MAX): Define.
18254         (TARGET_SWITCHES): New option -minmax/-mnominmax.
18255
18256 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
18257
18258         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
18259         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
18260
18261         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
18262         (ret, declare, farsym): New gas macros.
18263         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
18264         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
18265         and declare the symbol far when compiled with -mlong-calls.
18266         (__far_trampoline): New for 68HC12 trampoline code to invoke a
18267         far handler using jsr/bsr.
18268
18269         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
18270         (jsr): New macro to transform a 'jsr' into a 'call'.
18271
18272 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
18273
18274         * doc/invoke.texi: Document -mlong-calls for 68HC12.
18275
18276         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
18277         -mlong-calls is specified.
18278         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
18279         assembler directives.
18280         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
18281         (TARGET_SWITCHES): Add -mlong-calls options.
18282         (current_function_far): Declare.
18283
18284         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
18285         into account the page register saved on the stack.
18286         (m68hc11_override_options): Take into account -mlong-calls option.
18287         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
18288
18289         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
18290         if the function is going to be in 68HC12 banked memory (-mlong-calls).
18291         ("*return_16bit"): Likewise.
18292         ("*return_void"): Likewise.
18293         ("call", "call_value"): Use call for a far function call.
18294
18295 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
18296
18297         * toplev.c (parse_options_and_default_flags): Don't call
18298         post_options here.
18299         (general_init): Initialize GC, pools and tree hash here,
18300         instead of lang_independent_init.
18301         (lang_independent_init): Rename backend_init.
18302         (do_compile): Call post_options hook; exit early if there
18303         have been errors after switch processing.
18304         (toplev_main): Update.
18305
18306 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
18307
18308         * c-pretty-print.h: Guard against multiple inclusion.
18309         Robustify macros.
18310         (pp_c_attributes): Declare.
18311         * c-pretty-print.c (pp_c_attributes): New function.
18312
18313 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18314
18315         * m68k.c (m68k_output_function_prologue,
18316         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
18317         and NEWS/MOTOROLA.
18318         * genattrtab.c: Remove dpx2 comment.
18319         * libgcc2.c (__enable_execute_stack): Delete versions for
18320         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
18321         sony_news/SYSTYPE_BSD.
18322         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
18323         __gmicro__, __i860__, __NeXT__ and __pyr__.
18324         * rtl.h: Remove convex comment.
18325         * varasm.c: Likewise.
18326
18327 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18328
18329         * c-opts.c (lang_flags): Const-ify.
18330         * ra-build.c (undef_table): Likewise.
18331         * ra.c (eliminables): Likewise.
18332
18333 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
18334
18335         * tree.h: Guard against multiple inclusion.
18336
18337 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
18338
18339         * reload1.c (reload_cse_simplify): Before checking
18340         REG_FUNCTION_VALUE_P, check REG_P.
18341
18342 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
18343
18344         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
18345
18346 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
18347
18348         * c-opts.c (c_common_init_options): Extra braces needed.
18349
18350 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18351
18352         * sh.c (sh_init_builtins): Add PARAMS to declaration.
18353         (sh_media_init_builtins, sh_expand_builtin): Likewise.
18354         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
18355         (sh_expand_binop_v2sf): Likewise.
18356         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
18357         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
18358         (sh_initialize_trampoline): Likewise.
18359
18360 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
18361
18362         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
18363         new condition code modes.
18364         s390.c (s390_match_ccmode_set): Handle those new CC modes.
18365         (s390_select_ccmode): Likewise.
18366         (s390_branch_condition_mask): Likewise.
18367
18368         * s390-protos.h (s390_tm_ccmode): Declare.
18369         s390.c (s390_tm_ccmode): New function.
18370         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
18371
18372         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
18373         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
18374         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
18375
18376         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
18377         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
18378         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
18379         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
18380         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
18381
18382         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
18383         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
18384         "*cmpqi_ccs_0"): Remove, replace by ...
18385         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
18386         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
18387         "*tstqi", "*tstqi_cconly"): ... these new patterns.
18388
18389         ("*cmpsidi_ccs"): Remove, replace by ...
18390         ("*cmpsi_ccs_sign"): ... this new pattern.
18391         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
18392
18393         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
18394         ("*cli"): ... this new pattern.
18395
18396         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
18397         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
18398         New patterns.
18399         ("adddi3_64"): Rename to "*adddi3_64".
18400         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
18401         ("adddi3"): Adapt expander.
18402
18403         ("*addsi3_cc"): Allow "general_operand" for operand 2.
18404         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
18405         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
18406
18407         ("addhi3", "addqi3"): Remove, replace by ...
18408         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
18409
18410         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
18411         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
18412         ("subdi3"): Replace by insn and splitter "*subdi3_31".
18413         ("subdi3"): New expander.
18414
18415         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
18416
18417         ("subhi3", "subqi3"): Remove, replace by ...
18418         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
18419
18420         ("*muldi3_sign"): New pattern.
18421         ("muldi3"): Do not clobber CC.
18422         ("mulsi3"): Likewise.
18423         ("mulsi_6432"): Likewise.
18424
18425 2002-08-13  Denis Chertykov  <denisc@overta.ru>
18426
18427         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
18428         which can change CC0.
18429
18430 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
18431
18432         * gcse.c (adjust_libcall_notes): New function.
18433         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
18434
18435 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
18436
18437         * libgcc2.c (L_bb): Remove unneeded #includes.
18438         (__global_counters, __gthreads_active): Remove unused globals.
18439         (__bb_exit_func): Merge counts into files rather than appending.
18440         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
18441         (ALL_CFLAGS): ... to here.
18442
18443 2002-08-13  Denis Chertykov  <denisc@overta.ru>
18444
18445         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
18446         (function_epilogue): Don't calculate function size.
18447         (ip2k_set_compare): Don't use lookup_const_double.
18448         (asm_file_start): Initialization of commands_in_file removed.
18449         (asm_file_end): Output of commands_in_file removed.
18450
18451         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
18452         __INT_MAX__.
18453
18454 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
18455
18456         * c-opts.c (c_common_init_options): Check option array is
18457         sorted if checking enabled.
18458
18459 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
18460
18461         * c-pretty-print.c: #include "c-tree.h".
18462         (pp_c_simple_type_specifier): Tweak.
18463         (pp_c_storage_class_specifier): New.
18464         (pp_c_function_specifier): Likewise.
18465         (pp_c_declaration_specifiers): Likewise.
18466         (pp_c_init_declarator): Likewise.
18467         (pp_c_declaration): Likewise.
18468         (pp_c_direct_declarator): Stub.
18469         (pp_c_declarator): Likewise.
18470         (pp_c_parameter_declaration): Likewise.
18471
18472 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
18473
18474         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
18475         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
18476         struct deferred_opt): New.
18477         (COMMAND_LINE_OPTIONS): Add -M*.
18478         (missing_arg): Update.
18479         (c_common_decode_option): Handle -M*.
18480         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
18481         don't call cpp_post_options.
18482         (c_common_finish, check_deps_environment_vars): Update.
18483         * cppfiles.c (stack_include_file, handle_missing_header): Update.
18484         * cpphash.h (CPP_PRINT_DEPS): Remove.
18485         * cppinit.c: Don't include version.h.
18486         (cpp_create_reader): Don't call deps_init.  Initialize
18487         warn_long_long.
18488         (cpp_read_main_file): Init deps if necessary.
18489         (cpp_destroy): Conditionally free deps.
18490         (cpp_finish): Update.
18491         (no_tgt): Remove.
18492         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
18493         (cpp_post_options): Rename post_options.
18494         * cpplib.h (struct cpp_options): Remove some dependency options;
18495         move others to a new structure.
18496         (cpp_post_options): Remove.
18497         (cpp_finish): Comment.
18498         * fix-header.c (read_scan_file): Don't call cpp_post_options.
18499
18500 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
18501
18502         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
18503         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
18504         MMIX_rR_REGNUM as clobbered.
18505         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
18506
18507 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
18508
18509         * diagnostic.h (output_formatted_scalar): Rename from
18510         output_formatted_integer.
18511         * diagnostic.def: Add DK_DEBUG.
18512         * diagnostic.c (output_decimal): Adjust.
18513         (output_long_decimal): Likewise.
18514         (output_unsigned_decimal): Likewise.
18515         (output_octal): Likewise.
18516         (output_long_octal): Likewise.
18517         (output_hexadecimal): Likewise.
18518         (output_long_hexadecimal): Likewise.
18519         * c-pretty-print.c (pp_c_type_specifier): New function.
18520         (pp_c_specifier_qualifier_list): Likewise.
18521         (pp_c_abstract_declarator): Likewise.
18522         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
18523
18524 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
18525
18526         * doc/trouble.texi (Disappointments): Add static constructor and
18527         destructor dependency information for AIX.
18528
18529 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
18530
18531         * cpphash.h (struct printer): New from cppmain.c.
18532         (cpp_reader): New member.
18533         * cppmain.c (struct printer): Move to cpphash.h.
18534         (options, print): Remove.
18535         (account_for_newlines, print_line, maybe_print_line,
18536         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
18537         scan_translation_unit_trad, cb_line_change, cb_ident,
18538         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
18539         cb_def_pragma): Make reentrant.
18540
18541 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18542
18543         * real.c (ieee_64): Always define.
18544         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
18545         (dec_h): Not used yet, hide it.
18546         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
18547         macro controlling use.
18548         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
18549
18550 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
18551
18552         * i386.md (tablejump): Sign extend the operand.
18553         * i386.c (classify_argument): Fix missed case from previous patch.
18554
18555 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
18556
18557         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
18558         to c-copts.c.
18559         (warn_multichar): Die.
18560         (cb_register_builtins): Export.
18561         * c-common.h (warn_multichar, preprocess_file): Remove.
18562         (cb_register_builtins): New.
18563         * c-lang.c (c_init): Remove.
18564         (LANG_HOOKS_INIT): Use c_objc_common_init.
18565         * c-lex.c (init_c_lex): Don't canonicalize filename.
18566         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
18567         (preprocess_file): Make static.  Update for cpplib.
18568         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
18569         (c_common_post_options): Set some cpp options here.
18570         (c_common_init): Move from c-common.c.
18571         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
18572         * cpplib.h (struct cpp_options): Remove in_fname.
18573         (cpp_preprocess_file): Update.
18574         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
18575
18576 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18577
18578         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
18579
18580 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18581
18582         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
18583         backslash in comment preceeding macro definition.
18584         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
18585         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
18586         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
18587
18588 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
18589
18590         * expr.c (store_expr): In condition for checking if value is
18591         generated in TARGET, move call to expr_size last.
18592
18593 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
18594
18595         * c-common.c (c_common_init): Call preprocess_file instead.
18596         (c_common_finish): Move to c-opts.c.
18597         * c-common.h (preprocess_file): new.
18598         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
18599         check_deps_environment_vars, c_common_finish): New.
18600         (c_common_decode_option): Update for out_fname and dependencies.
18601         * cppinit.c (init_dependency_output, output_deps): Remove.
18602         (cpp_destroy): Update prototype.
18603         (cpp_add_dependency_target): New.
18604         (cpp_read_main_file): Don't overlay a buffer.
18605         (cpp_finish): Take a deps output stream and write deps to it.
18606         Return the error count.
18607         (cpp_post_options): Don't canonicalize out_fname, or do anything
18608         with dependencies.
18609         * cpplib.h (struct cpp_options): Remove out_fname and
18610         preprocess_only.
18611         (cpp_add_dependency_target): New.
18612         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
18613         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
18614         set preprocess_only.  Don't handle the output stream directly.
18615
18616 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18617
18618         * dsp16xx.c (print_operand): Fix format specifier.
18619         * dsp16xx.md: Avoid automatic aggregate initialization.
18620         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
18621         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
18622         integer constant modifier.
18623         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
18624         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
18625         guards.
18626         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
18627         * v850.c (v850_select_section): Mark parameter with
18628         ATTRIBUTE_UNUSED.
18629         * global.c (global_alloc): Const-ify.
18630         * ra-colorize.c (hardregset_to_string): Fix format specifier.
18631
18632 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18633
18634         * darwin-c.c (darwin_pragma_options): Const-ify.
18635         * darwin.c (machopic_non_lazy_ptr_name,
18636         machopic_validate_stub_or_non_lazy_ptr): Likewise.
18637         (machopic_indirect_data_reference): Wrap variables in macros
18638         controlling their use.
18639         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
18640         (machopic_select_section): Use parentheses around && within ||.
18641         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
18642
18643 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18644
18645         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
18646         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
18647         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
18648         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
18649         mdr_try_remove_redundant_insns, track_w_reload,
18650         mdr_try_wreg_elim): Make function static to match prototype.
18651         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
18652         parameter with ATTRIBUTE_UNUSED.
18653
18654 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18655
18656         * arc.c (arc_init): Don't use ISO C style function definitions.
18657         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
18658         arm_get_strip_length, arm_strip_name_encoding): Likewise.
18659         * avr.h (progmem_section): Likewise.
18660         * h8300.c h8300_asm_insn_count): Likewise.
18661         * m32r.c (init_idents): Likewise.
18662         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
18663         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
18664         * xtensa.c (xtensa_build_va_list): Likewise.
18665
18666 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
18667
18668         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
18669         * c-opts.c (parse_option): Rename find_opt.
18670         (set_std_c99): New function.
18671         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
18672         (missing_arg): Remove OPT_std_bad.  Handle -o.
18673         (c_common_decode_option): Handle input and output file names,
18674         -o and -remap.  Clean up -std= handling.
18675         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
18676         (cpp_handle_option): Similarly.  Don't handle filenames.
18677
18678 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
18679
18680         * i386.c (classify_argument): Fix computing of field's offsets.
18681
18682 2002-08-11  Andreas Jaeger  <aj@suse.de>
18683
18684         PR target/7531:
18685         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
18686
18687 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
18688
18689         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
18690         reference to clk_objective_c with flag_objc.
18691         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
18692         Likewise.
18693         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
18694
18695 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
18696
18697         * c-opts.c (set_std_cxx98, set_std_c89): New.
18698         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
18699         (c_common_decode_option): Handle new switches from cppinit.c.
18700         Add -std=gnu++98.
18701         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
18702         (no_arg, no_num): Remove.
18703         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
18704         switches apart from -lang-objc and lang-asm.
18705         (cpp_handle_option): Similarly.
18706         * cpplib.h (cpp_set_lang): New.
18707         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
18708         -std=gnu++98.
18709         * objc/lang-specs.h: Remove -ansi.
18710
18711 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
18712                                Graham Stott
18713
18714         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
18715         errors.
18716
18717 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18718
18719         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
18720         emit_jump_insn): Fix uninitialized variable.
18721         * gcov.c (init_line_info): Likewise.
18722         * genautomata.c (transform_3): Add braces around ambiguous
18723         else.
18724         * ifcvt.c (cond_exec_process_insns): Mark parameter with
18725         ATTRIBUTE_UNUSED.
18726         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
18727         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
18728         variable.
18729
18730         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
18731         warnings in output files.
18732
18733 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
18734
18735         * c-common.c (flag_objc): New.
18736         * c-common.h (c_language_kind): Get rid of clk_objective_c
18737         enum value.
18738         (flag_objc): New extern declaration.
18739         * c-decl.c (implicitly_declare): Call objc_check_decl
18740         instead of maybe_objc_check_decl.
18741         (finish_decl): Likewise.
18742         (grokfield): Likewise.
18743         (finish_struct): Likewise.
18744         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
18745         (maybe_objc_comptypes): Rename to objc_comptypes.
18746         (maybe_building_objc_message_expr): Rename to
18747         objc_message_selector.
18748         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
18749         replace with flag_objc as needed.
18750         * c-opts.c (c_common_init_options): Likewise.
18751         (c_common_decode_option): Likewise.
18752         * c-parse.in (init_reswords): Likewise.
18753         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
18754         (maybe_objc_comptypes): Rename to objc_comptypes.
18755         (maybe_building_objc_message_expr): Rename to
18756         objc_message_selector.
18757         * c-typeck.c (comptypes): Call objc_comptypes instead of
18758         maybe_objc_comptypes, and/or objc_message_selector instead of
18759         maybe_building_objc_message_expr.
18760         (comp_target_types): Likewise.
18761         (convert_for_assignment): Likewise.
18762         (warn_for_assignment): Likewise.
18763         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
18764         independently of those for other languages.
18765         * objc/objc-act.c (maybe_objc_comptypes): Delete.
18766         (maybe_objc_check_decl): Delete.
18767         (maybe_building_objc_message_expr): Rename to
18768         objc_message_selector.
18769         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
18770         clk_objective_c; set flag_objc flag.
18771
18772 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18773
18774         * ifcvt.c (find_if_case_2): Test correct basic block for size.
18775
18776 2002-08-09  Dale Johannesen  <dalej@apple.com>
18777
18778         * config/rs6000/rs6000.md: Add sibcall patterns.
18779         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
18780         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
18781         Rewritten to handle sibcalls.
18782         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
18783         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
18784
18785 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
18786
18787         * profile.c (da_file_name): New static var.
18788         (init_branch_prob): Initialize it.
18789         (end_branch_prob): Remove da file.
18790
18791         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
18792         * configure.in (coverage_flags): Default to nothing.
18793         * configure: Rebuilt.
18794
18795 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
18796
18797         * Makefile.in (c-opts.o): Update
18798         * c-opts.c: Include intl.h.
18799         (print_help): Move from cppinit.c.  Remove unused options.
18800         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
18801         (missing_arg): Complain for switches without an argument.
18802         (c_common_decode_option): Reject missing joined arguments.
18803         Handle new switches from cppinit.c.
18804         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
18805         (cpp_handle_option): Similarly.
18806         (print_help): Moved to c-opts.c.
18807         * cpplib.h (struct cpp_options): Remove help_only.
18808         * gcc.c (cpp_unique_options): Remove -$.
18809         * doc/cppopts.texi: Undocument -h.
18810
18811 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
18812
18813         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
18814         legitimate constant.
18815         (legitimate_pic_operand_p): Neither pic operand.
18816         (legitimate_address_p): But legitimate address.
18817         (get_thread_pointer): Generate MEM/u instead of CONST around
18818         UNSPEC_TP.
18819         (print_operand): Remove printing of UNSPEC_TP.
18820         (print_operand_address): And print it here.
18821
18822 2002-08-08  Devang Patel  <dpatel@apple.com>
18823
18824         * objc/objc-act.c (build_selector_translation_table): Issue warning,
18825         when  -Wselector is used,if method for which selector is being
18826         created does not exist.
18827
18828 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
18829
18830         * config/sh/sh.c (prepare_move_operands): Only call
18831         target_reg_operand if TARGET_SHMEDIA.
18832
18833 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
18834
18835         * config/rs6000/rs6000.h, config/rs6000/aix.h,
18836         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
18837         two patches.
18838         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
18839
18840 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
18841             Richard Henderson  <rth@redhat.com>
18842
18843         * emit-rtl.c (gen_rtx_REG): After reload, only return
18844         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
18845
18846 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
18847
18848         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
18849         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
18850         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
18851         macro.
18852
18853 2002-08-08  Adam Nemet  <anemet@lnxw.com>
18854
18855         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
18856         register.
18857         (thumb_expand_prologue): Likewise.
18858         (thumb_output_function_prologue): Likewise.
18859         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
18860         the additional push of the PIC register.
18861
18862 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
18863
18864         * configure.in (enable_coverage): New enable switch.
18865         * configure: Rebuilt.
18866         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
18867         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
18868         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
18869         (mostlyclean): Remove coverage files.
18870         * doc/install.texi: Document enable_coverage.
18871
18872         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
18873         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
18874         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
18875         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
18876         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
18877         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
18878         files.
18879
18880 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
18881
18882         * c-opts.c (cpp_opts): New.
18883         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
18884         (c_common_decode_options): Handle cpplib switches.
18885         (c_common_init_options): Set cpp_opts.
18886         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
18887         (cpp_handle_option): Similarly.
18888
18889 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
18890
18891         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
18892         (TARGET_ALTIVEC_ABI): Same.
18893         (TARGET_ALTIVEC_VRSAVE): Same.
18894
18895         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
18896         icode not CODE_FOR_nothing.  Change switch to if.
18897
18898 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
18899
18900         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
18901
18902 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
18903
18904         * stor-layout.c (place_union_field): For bitfields if
18905         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
18906         TYPE_USER_ALIGN.
18907
18908 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18909
18910         * pa.c (struct deferred_plabel): Constify name field.
18911
18912 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
18913
18914         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
18915
18916 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18917
18918         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
18919         local_prefix are the same.
18920         * configure: Rebuilt.
18921
18922 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
18923             Richard Henderson  <rth@redhat.com>
18924
18925         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
18926         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
18927         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
18928         (place_field): Likewise.
18929         * config/i386/i386.c (x86_field_alignment): Don't check
18930         DECL_USER_ALIGN here.
18931         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
18932         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
18933         prototype.
18934         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
18935         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
18936         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
18937         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
18938         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
18939         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
18940
18941 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
18942
18943         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
18944         * c-common.c: Don't include tree-inline.h.
18945         (c_common_init_options, c_common_post_options): Move to c-opts.c.
18946         * c-common.h (c_common_decode_option): New.
18947         * c-decl.c (c_decode_option): Remove.
18948         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
18949         * c-opts.c: New file.
18950         * c-tree.h (c_decode_option): Remove.
18951         * doc/passes.texi: Update.
18952         * objc/objc-act.c (objc_decode_option): Remove.
18953         * objc/objc-act.h (objc_decode_option): Remove.
18954         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
18955         c_common_decode_option.
18956
18957 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
18958
18959         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
18960         dependency on TARGET_DOUBLE_FLOAT.
18961
18962 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
18963
18964         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
18965         overwrite callee-save registers.  Fix comment.
18966
18967 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
18968
18969         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
18970         in target_flags based on ISA, if it was not set on the command
18971         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
18972         support Branch Likely instructions.
18973         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
18974         (TARGET_BRANCHLIKELY): Likewise.
18975         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
18976         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
18977         ISA_HAS_BRANCHLIKELY.
18978         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
18979         * doc/invoke.texi: Document new MIPS -mbranch-likely and
18980         -mno-branch-likely options.
18981
18982 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18983
18984         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
18985
18986         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
18987         $(GCONFIG_H).
18988
18989 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
18990
18991         * c-decl.c (duplicate_decls): Error out for incompatible TLS
18992         declarations.
18993
18994         * testsuite/gcc.dg/tls/diag-3.c: New.
18995
18996 2002-08-06  Dale Johannesen  <dalej@apple.com>
18997
18998         * c-common.c (fname_decl): Use line number 0 for
18999         __func__, to avoid confusing debuggers.
19000
19001 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
19002
19003         * gcov.c: Tidy.
19004         (struct line_info, struct coverage): New structures.
19005         (gcov_file_name, gcov_file): Remove globals.
19006         (output_data): Take source file parameter. Fix memory leak. Break
19007         up into ...
19008         (init_line_info, output_line_info, make_gcov_file_name,
19009         accumulate_branch_counts): ... here.
19010         (calculate_branch_probs, function_summary): Adjust.
19011         (main): Adjust.
19012         (function_*): Remove global variables.
19013
19014 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
19015
19016         * dwarf2out.c: Remove unused macros.
19017
19018 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
19019
19020         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
19021
19022 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
19023
19024         * cppinit.c (struct lang_flags): Rename trigraphs std.
19025         (set_lang): Update.
19026         * cpplib.h (struct cpp_options): New member std.
19027         * cppmacro.c (_cpp_builtin_macro_text): Use std.
19028         (collect_args): Flag whether to swallow a possible future
19029         comma pasted with varargs.
19030         (replace_args): Use this flag.
19031         * doc/cpp.texi: Update varargs extension documentation.
19032
19033 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
19034
19035         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
19036
19037 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
19038
19039         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
19040         and MODE_CLASS_INT modes.
19041
19042 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
19043
19044         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
19045         --{enable,disable}-threads is given to configure.
19046         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
19047         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
19048         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
19049         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
19050         Remove thread_file setting here.
19051
19052 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
19053
19054         * doc/install.texi (Binaries): Update Bull Freeware URL.
19055
19056 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
19057
19058         * doc/gcc.texi (Top): Rename Index to Keyword Index.
19059
19060 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
19061
19062         * gcov.c (output_data): Round to % to nearest, tweak formatting.
19063
19064 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
19065
19066         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
19067         of the operands into MINUS_EXPR if code is PLUS_EXPR.
19068
19069 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
19070
19071         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
19072         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
19073         drectve_section): Define.
19074         * config/i386/t-interix: Replace interix.o rule with winnt.o.
19075         * config/i386/interix.c: Remove.
19076
19077 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
19078
19079         * attribs.c: Don't include obstack.h.
19080         * builtins.c: Likewise.
19081         * cfganal.c: Likewise.
19082         * cfgbuild.c: Likewise.
19083         * cfgcleanup.c: Likewise.
19084         * emit-rtl.c: Likewise.
19085         * loop.c: Likewise.
19086         * stmt.c: Likewise.
19087
19088         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
19089
19090 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
19091
19092         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
19093
19094 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
19095
19096         * doc/invoke.texi: Remove duplicated paragraph describing
19097         TARGET_SWITCHES.
19098
19099 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
19100
19101         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
19102         * collect2.h (permanent_obstack): Delete declaration.
19103         * collect2.c (permanent_obstack): Delete definition.
19104         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
19105         * expr.c: Don't include obstack.h.
19106         (permanent_obstack): Delete declaration.
19107         * function.c: Don't include obstack.h.
19108         (permanent_obstack): Delete declaration.
19109         * integrate.c: Don't include obstack.h.
19110         (function_maybepermanent_obstack): Delete declaration.
19111         * print-tree.c (debug_tree): Use x*alloc not permalloc.
19112         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
19113         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
19114         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
19115         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
19116         of permalloc, expralloc, perm_calloc.
19117         * tree.c (permanent_obstack): Delete definition.
19118         (init_ttree): Rename from init_obstacks.
19119         (permalloc): Delete.
19120         (perm_calloc): Delete.
19121         (dump_tree_statistics): Don't print information about
19122         permanent_obstack.
19123         * varasm.c (assemble_start_function): Use xstrdup instead of
19124         permalloc/strcpy.
19125         (assemble_variable): Likewise.
19126         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
19127         permalloc.
19128         (unicosmk_add_extern): Likewise.
19129         * config/c4x/c4x.c (c4x_external_ref): Likewise.
19130         (c4x_global_label): Likewise.
19131         * config/frv/frv.c (frv_encode_section_info): Likewise.
19132         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
19133         (i386_pe_record_exported_symbol): Likewise.
19134         * config/mips/mips.c (mips_output_external): Likewise.
19135         (mips_output_external_libcall): Likewise.
19136         * config/pa/pa.c: (permanent_obstack): Delete declaration.
19137         (output_call): Use ggc_strdup instead of allocating on
19138         permanent_obstack.
19139         * config/romp/romp.c: Include ggc.h.
19140         (get_symref): Don't declare permanent_obstack, use ggc_strdup
19141         intead of permanent_obstack.
19142         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
19143         instead of permalloc.
19144         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
19145         instead of permalloc
19146         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
19147         instead of permalloc.
19148         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
19149         permalloc.
19150
19151 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
19152
19153         Contribute a port developed primarily by Michael Meissner,
19154         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
19155         * config.gcc: Add frv-elf target.
19156         * config/frv/cmovd.c: New file.
19157         * config/frv/cmovh.c: New file.
19158         * config/frv/cmovw.c: New file.
19159         * config/frv/frv-abi.h: New file.
19160         * config/frv/frv-asm.h: New file.
19161         * config/frv/frv-modes.def: New file.
19162         * config/frv/frv-protos.h: New file.
19163         * config/frv/frv.c: New file.
19164         * config/frv/frv.h: New file.
19165         * config/frv/frv.md: New file.
19166         * config/frv/frvbegin.c: New file.
19167         * config/frv/frvend.c: New file.
19168         * config/frv/lib1funcs.asm: New file.
19169         * config/frv/media.h: New file.
19170         * config/frv/modi.c: New file.
19171         * config/frv/t-frv: New file.
19172         * config/frv/uitod.c: New file.
19173         * config/frv/uitof.c: New file.
19174         * config/frv/ulltod.c: New file.
19175         * config/frv/ulltof.c: New file.
19176         * config/frv/umodi.c: New file.
19177         * config/frv/xm-frv.h: New file.
19178
19179         * config/frv/media.h: Removed again.
19180
19181 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
19182
19183         * gcov.c (bb_file_time): New static variable.
19184         (object_directory): May also be object file.
19185         (preserve_paths): New static variable.
19186         (print_usage): Adjust.
19187         (options): Adjust.
19188         (process_args): Adjust.
19189         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
19190         file. Find modification date on bb file.
19191         (read_profile): Don't rewind a NULL file.
19192         (format_hwint): New static function.
19193         (function_summary): Use format_hwint.
19194         (output_data): SOURCE_FILE_NAME is never relative to
19195         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
19196         mangling. Adjust output format to make it more machine readable.
19197         * doc/gcov.texi: Document & clarify semantics.
19198
19199 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
19200
19201         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
19202
19203 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
19204
19205         * gcc.c (cc1_options): Pass output file as auxbase when
19206         appropriate.
19207         * profile.c (init_branch_prob): FILENAME has already had ending
19208         stripped.
19209         * final.c (end_final): Likewise.
19210         * toplev.c (aux_base_name): New global.
19211         (compile_file): Pass aux_base_name to init init_branch_prob and
19212         end_final.
19213         (independent_decode_option, case 'a'): New auxinfo options.
19214         (case 'd'): Protect against mising basename.
19215         (do_compile): Initialize aux_base_name.
19216         * toplev.h (aux_base_name): New global.
19217         * doc/invoke.texi: Adjust documentation.
19218
19219 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
19220
19221         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
19222         of TARGET_ALIGN_DOUBLE.
19223
19224 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
19225
19226         * diagnostic.c (inform): New function.
19227         * diagnostic.h (inform): Declare.
19228
19229 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
19230
19231         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
19232         (movhi_internal): Same.
19233         (movqi_internal): Same.
19234         (movdi_internal64): Same.
19235
19236         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
19237
19238         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
19239         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
19240         (COMMON_ASM_OP): Define.
19241         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
19242         Use ALIGN parameter.
19243         (LOCAL_COMMON_ASM_OP): Define.
19244         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
19245
19246 2002-08-03  Roger Sayle  <roger@eyesopen.com>
19247
19248         * builtins.def: Define new builtin functions exp, expf, expl,
19249         log, logf and logl (and their __builtin_* variants).
19250         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
19251         Define exp_optab and log_optab.
19252         * optabs.c (init_optans): Initialize exp_optab and log_optab.
19253         * genopinit.c (optabs): Implement exp_optab and log_optab
19254         using exp?f2 and log?f2 patterns.
19255         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
19256         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
19257         (expand_builtin): Ignore the new builtins (and all cos and
19258         sin variants) when not optimizing.  Expand new builtins via
19259         expand_builtin_mathfn when flag_unsafe_math_optimizations.
19260
19261         * doc/extend.texi: Document new exp and log builtins.
19262         * doc/md.texi: Document new exp?f2 and log?f2 patterns
19263         (and previously undocumented cos?f2 and sin?f2 patterns).
19264
19265 2002-08-03  Jason Merrill  <jason@redhat.com>
19266
19267         * explow.c (int_expr_size): New fn.
19268         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
19269         * expr.h: Declare it.
19270
19271 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
19272
19273         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
19274         gengtype-* dependencies.
19275
19276 2002-08-02  Eric Christopher  <echristo@redhat.com>
19277
19278         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
19279         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
19280         #ifndef to #undef.
19281         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
19282
19283 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
19284
19285         PR optimize/7067
19286         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
19287         small if optimizing for size.
19288
19289 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
19290
19291         * configure.in (FORBUILD): Use $build_alias.
19292         * configure: Regenerated.
19293
19294 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
19295
19296         * config.gcc: Don't include mips/abi64.h in $tm_file.
19297         * hard-reg-set.h (call_really_used_regs): Declare.
19298         * config/mips/abi64.h: Remove file.
19299         * config/mips/linux.h,
19300         * config/mips/iris6.h: Don't include it.
19301         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
19302         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
19303         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
19304         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
19305         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
19306         Bring across definitions from abi64.h.
19307         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
19308         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
19309         (struct mips_args): Use it.
19310         * config/mips/mips.c (mips_conditional_register_usage): Define.
19311
19312 2002-08-02  Jason Merrill  <jason@redhat.com>
19313
19314         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
19315         * langhooks.c (lhd_expr_size): Define default.
19316         * langhooks.h (struct lang_hooks): Add expr_size.
19317         * explow.c (expr_size): Call it.
19318         * expr.c (store_expr): Don't copy an expression of size zero.
19319         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
19320         to store.
19321         * Makefile.in (builtins.o): Depend on langhooks.h.
19322
19323 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19324
19325         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
19326         * ra-debug.c: Include "tm_p.h".
19327         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
19328
19329 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
19330
19331         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
19332         when not honoring signalling NaNs.
19333         (simplify_ternary_operation): a == b has a definite value
19334         when not honoring NaNs.
19335
19336 2002-08-02  Jason Merrill  <jason@redhat.com>
19337
19338         * gdbinit.in (pct): New macro.
19339
19340 2002-08-01  Stan Shebs  <shebs@apple.com>
19341             Andreas Tobler  <toa@pop.agri.ch>
19342
19343         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
19344         plays nice with Darwin headers.
19345         (_BSD_RUNE_T_DEFINED_): Likewise.
19346
19347 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
19348
19349         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
19350         * cppinit.c (cpp_post_options): Likewise.
19351
19352         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
19353         warning about 'LL' suffix (but not 'ULL' etc) when
19354         -Wno-long-long is in effect.
19355
19356         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
19357         Check for failing time()/localtime(), issue a warning, and
19358         make __TIME__ and __DATE__ expand to fallback strings.
19359
19360         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
19361         and __TIME__ when the date and time cannot be determined.
19362
19363 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
19364
19365         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
19366
19367 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
19368
19369         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
19370
19371 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
19372
19373         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
19374         (mipsisa64sb1el-*-elf*): Likewise.
19375         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
19376         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
19377         (TARGET_SB1, TUNE_SB1): New macros.
19378         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
19379         -mtune flags.
19380
19381 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
19382
19383         * varasm.c (asm_emit_uninitialized): Return false if global BSS
19384         and ASM_EMIT_BSS not supported by target.
19385         (assemble_variable): Do not duplicate uninitialized logic.
19386         Fall through if asm_emit_uninitialized failed.
19387
19388 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
19389
19390         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
19391
19392 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
19393
19394         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
19395         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
19396
19397         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
19398         HOST_BITS_PER_WIDE_INT == 64.
19399
19400 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19401
19402         * df.c (df_insn_table_realloc): Change parameter to unsigned.
19403         * optabs.c (expand_binop): Make variable unsigned.
19404         * simplify-rtx.c (simplify_subreg): Likewise.
19405         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
19406
19407 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
19408
19409         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
19410
19411 2002-08-01  Richard Henderson  <rth@redhat.com>
19412
19413         * toplev.c (parse_options_and_default_flags): Don't set
19414         flag_reorder_blocks for -Os.
19415
19416         * config/avr/avr.c (avr_optimization_options): Remove.
19417         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
19418         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
19419         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
19420
19421 2002-08-01  H.J. Lu <hjl@gnu.org>
19422             Richard Henderson  <rth@redhat.com>
19423
19424         * output.h (DECL_READONLY_SECTION): Remove.
19425         (decl_readonly_section): Declare.
19426         * varasm.c (decl_readonly_section): New.
19427         (default_section_type_flags, default_select_section): Use it.
19428         * config/arm/pe.c (arm_pe_unique_section): Likewise.
19429         * config/i386/interix.c (i386_pe_unique_section): Likewise.
19430         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
19431         * config/mcore/mcore.c (mcore_unique_section): Likewise.
19432         * config/mips/mips.c (mips_unique_section): Likewise.
19433
19434 2002-08-01  Richard Henderson  <rth@redhat.com>
19435
19436         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
19437         refers to a subroutine parameter.
19438
19439 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
19440
19441         * varasm.c (assemble_visibility): Strip name encoding.
19442
19443 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19444
19445         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
19446         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
19447         when there is no frame pointer.
19448         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
19449         registers properly.
19450         * config/ns32k/__unorddf2.c: New file.
19451         * config/ns32k/__unordsf2.c: New file.
19452         * config/ns32k/t-ns32k: New file.
19453         * config.gcc (ns32k-*-netbsd*): Use it.
19454
19455 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
19456
19457         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
19458
19459 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
19460
19461         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
19462
19463 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
19464
19465         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
19466
19467 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
19468
19469         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
19470
19471 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
19472
19473         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
19474         n_sets): Removed.
19475         (expr_hash_table, set_hash_table): Type changed to ...
19476         (struct hash_table): New type.
19477         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
19478         insert_expr_in_table, insert_set_in_table, compute_hash_table,
19479         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
19480         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
19481         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
19482         (alloc_hash_table): New.
19483         (free_set_hash_table, free_expr_hash_table): Merged to ...
19484         (free_hash_table): New.
19485         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
19486         (compute_hash_table_work): New.
19487         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
19488         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
19489         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
19490         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
19491         hoist_code, one_code_hoisting_pass,
19492         trim_ld_motion_mems): Altered due to changed type of hash tables.
19493
19494 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
19495
19496         * final.c (output_alternate_entry_point):
19497         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
19498
19499 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19500
19501         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
19502         avoid ISO C style function definition.
19503
19504         * expr.c (expand_assignment): Delete unused variable.
19505
19506 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
19507
19508         * c-common.c (cb_register_builtins): Set
19509         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
19510         is given, and to 0 otherwise.
19511         * combine.c (simplify_if_then_else): HONOR_NANS
19512         implies FLOAT_MODE_P.
19513
19514 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
19515
19516         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
19517         (cpp_handle_option): Don't handle it.
19518         (print_help): Update.
19519         * doc/cppopts.texi: Update.
19520
19521 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
19522
19523         * c-common.c (cb_register_builtins): If C++, define
19524         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
19525         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
19526 cp:
19527         * lang-specs.h: Simplify in accordance with new code in
19528         c-common.c.
19529
19530 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
19531
19532         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
19533         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
19534         * c-decl.c: Move all warning and flag variables to c-common.c.
19535         * c-format.c: Move all warning variables to c-common.c.
19536         * c-tree.h: Move all warning and flag declarations to c-common.h.
19537         * objc/objc-act.c: Move all warning variables to c-common.c.
19538         (flag_warn_protocol): Rename warn_protocol.
19539
19540 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19541
19542         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
19543
19544 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
19545
19546         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
19547         .section prefix.
19548
19549 2002-07-31  Stan Shebs  <shebs@apple.com>
19550
19551         * config.gcc (i[34567]86-*-darwin*): New configuration.
19552         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
19553         defining.
19554         (TARGET_ENCODE_SECTION_INFO): Ditto.
19555         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
19556         * config/darwin.c (machopic_indirect_data_reference): Remove
19557         setting of RTX_UNCHANGING_P.
19558         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
19559         not to be applied to sums.
19560         * config/i386/t-darwin: New file.
19561         * config/i386/darwin.h: New file.
19562         * config/i386/i386.h (TARGET_MACHO): Add default definition.
19563         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
19564         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
19565         label and not the GOT add.
19566         (constant_address_p): For Mach-O, seeing a CONST is enough.
19567         (legitimate_pic_address_disp_p): Add a Mach-O case.
19568         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
19569         (legitimize_pic_address): Use generic Mach-O code to legitimize.
19570         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
19571         if outputting a difference.
19572         (ix86_output_addr_diff_elt): Add Mach-O case.
19573         (ix86_expand_move): Similarly.
19574         (ix86_expand_call): Similarly.
19575         (current_machopic_label_num): New global.
19576         (machopic_output_stub): New function.
19577         (ix86_value_regno): New function.
19578         (ix86_function_value): Use it instead of VALUE_REGNO.
19579         (ix86_libcall_value): Ditto.
19580         * config/i386/unix.h (VALUE_REGNO): Remove.
19581
19582 2002-07-31  Graham Stott  <grahas@btinternet.com>
19583
19584         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
19585         hash for LABEL_REF's.
19586
19587 2002-07-31  Graham Stott  <grahams@btinternet.com>
19588
19589         * config/rs6000/rs6000.c (spe_init_builtins,
19590         altivec_init_builtins, rs6000_common_init_builtins):
19591         Replace ANSI with K&R function def.
19592
19593 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
19594
19595         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
19596         for CCFPmode.
19597
19598 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
19599
19600         * config/mips/crtn.asm: Don't use __mips16 to determine the
19601         return-address offset.  Define RA to a suitable temporary
19602         register for the return address.
19603
19604 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
19605
19606         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
19607         constraints to 'd'.
19608
19609 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
19610
19611         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
19612         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
19613         patch on 2002-07-29.)
19614         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19615
19616 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19617
19618         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
19619         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
19620         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
19621         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
19622         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
19623         (ASM_GLOBALIZE_LABEL): Delete.
19624         (GLOBAL_ASM_OP): Define.
19625
19626         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
19627
19628         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
19629         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
19630
19631 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
19632
19633         * doc/extend.texi (Hints implementation): Document that GCC
19634         mostly ignores `register'.
19635
19636 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
19637
19638         * flags.h: Declare flag_finite_math_only.
19639         Use it in definition of HONOR_NANS and
19640         HONOR_INFINITIES.
19641         * c-common.c (cb_register_builtins): Emit
19642         __FINITE_MATH_ONLY__ when flag_finite_math_only
19643         is set.
19644         * combine.c (simplify_if_then_else): If
19645         flag_finite_math_only is set, a == b has a
19646         definite value.
19647         * toplev.c: Initialize flag_finite_math_only.
19648         (set_flags_fast_math): Set it on -ffast-math.
19649         (flag_fast_math_set_p): Test it.
19650         * doc/invoke.texi: Document -ffinite-math-only.
19651
19652 2002-07-30  Richard Henderson  <rth@redhat.com>
19653
19654         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
19655         (noce_process_if_block): Likewise.
19656
19657 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
19658
19659         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
19660         Bail out early if false_expr is NULL and we'd crash due to this.
19661         * genemit.c (gen_expand): Recognize return insns even if the return
19662         appears in a parallel.
19663         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
19664         * config/fp-bit.c: Likewise.
19665         * doc/tm.texi: Document it.
19666
19667 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
19668             Zack Weinberg  <zack@codesourcery.com>
19669
19670         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
19671         CODE_FOR_nothing.  Change switch to if.
19672         (rs6000_expand_binop_builtin): Same.
19673         (rs6000_expand_builtin): Expand builtin if target support enabled.
19674         (rs6000_init_builtins): Init builtin if target support enabled.
19675         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
19676
19677 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
19678
19679         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
19680
19681 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
19682
19683         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
19684
19685 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
19686
19687         * sh.md (cond_delay_slot): New attribute.
19688         (cbranch delay): Use it for anulled-true case.
19689         (stuff_delay_slot): New pattern.
19690         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
19691         delay slot insn.
19692         (gen_far_branch): Emit stuff_delay_slot pattern.
19693
19694 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
19695
19696         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
19697
19698 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
19699
19700         * fold-const.c: Fix comment typos.
19701         * gcse.c: Likewise.
19702         * reload1.c: Likewise.
19703
19704 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
19705
19706         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
19707         for TARGET_SPE.
19708
19709 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
19710
19711         * c-pretty-print.h (pp_c_statement): Declare.
19712         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
19713         (pp_c_statement): Define.
19714
19715 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19716
19717         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
19718         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
19719         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
19720         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
19721         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
19722         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
19723
19724         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
19725         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
19726
19727 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
19728
19729         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
19730         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
19731         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
19732         (pp_c_expression): Update.
19733
19734 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19735
19736         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
19737         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
19738         * alpha/vms-ld.c (main): Likewise.
19739         * dsp16xx.c (double_reg_to_memory): Likewise.
19740         * mcore.c (mcore_expand_prolog): Likewise.
19741         * cppfiles.c (read_name_map): Likewise.
19742         * gensupport.c (process_rtx, identify_predicable_attribute,
19743         alter_test_for_insn): Likewise.
19744         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
19745
19746 2002-07-29  Roger Sayle  <roger@eyesopen.com>
19747
19748         * builtins.c (expand_builtin):  Change the default behavior to
19749         only issue an error if the builtin function doesn't have a
19750         fallback library call.  Remove several cases handled by the
19751         new default.
19752
19753 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
19754
19755         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
19756         floating point format of the target is IEEE.
19757         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
19758         format of the target is DEC.
19759
19760 2002-07-29  Richard Henderson  <rth@redhat.com>
19761
19762         * unroll.c (verify_addresses): Remove.
19763         (find_splittable_givs): Never split DEST_ADDR givs.
19764
19765 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
19766
19767         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
19768         is exhaustive.
19769         (Files): Improve documentation on generated source files.
19770
19771         * doc/extend.texi (Translation implementation): Document what
19772         diagnostics look like.
19773         (Identifiers implementation): Document that there's normally no
19774         limit on identifier names.
19775         (Integers implementation): Document two's complement.
19776         (Hints implementation): Document that GCC honors 'inline', mostly.
19777         (Preprocessing directives implementation): Document that GCC
19778         requires the current time.
19779
19780 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
19781
19782         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
19783         (pp_initializer): New macro.
19784         (pp_c_initializer): Declare.
19785         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
19786         (pp_c_initializer): Define.
19787         (pp_c_initializer_list): New function.
19788         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
19789         VECTOR_CST, CONSTRUCTOR.
19790         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
19791         IMAGPART_EXPR.
19792         (pp_c_cast_expression): Handle FLOAT_EXPR.
19793         (pp_c_assignment_expression): Handle INIT_EXPR.
19794         (pp_c_expression): Update.
19795
19796 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
19797
19798         * objc/objc-act.c (objc_init): Return immediately if filename
19799         is NULL.
19800
19801 2002-07-29  Eric Christopher  <echristo@redhat.com>
19802
19803         * config/mips/elf.h: Remove ecoff.h and gofast includes.
19804         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
19805         (SDB_DEBUGGING_INFO): Undefine.
19806         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
19807         (PUT_SDB_SIZE): Remove.
19808         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
19809         (STARTFILE_SPEC): Add isa3264 define.
19810         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
19811         * config/mips/ecoff.h: Remove. and here...
19812         * config/mips/iris3.h: and here...
19813         * config/mips/sni-svr4.h: and here...
19814         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
19815         Add assembler -mmdebug options for non-dwarf debugging.
19816         * config/mips/r3900.h: Remove debug info defines.
19817         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
19818         * config/mips/isa3264.h: Ditto.
19819         * config/mips/t-isa3264: Fix up for file removal and gofast configure
19820         change.
19821         * config/mips/t-elf: Ditto.
19822         * config/mips/t-ecoff: Ditto.
19823         * config/mips/t-r3900: Ditto.
19824         * config/mips/t-iris5-6: Ditto.
19825         * config/mips/t-isa3264: Ditto.
19826         * config/mips/t-linux: Remove.
19827         * config/mips/t-netbsd: Remove.
19828         * config/mips/t-mips: New file.
19829         * config/mips/t-gofast: Ditto.
19830         * config/mips/netbsd.h: Remove unnecessary undefines.
19831         * config/mips/linux.h: Remove #include of mips.h.
19832         * config.gcc: Add mips.h include for elf targets. Remove tm_file
19833         for ecoff. Add gofast configure option for mips.
19834
19835 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
19836
19837         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
19838         linker scripts use STARTUP directives consistently.
19839         * configure: Regenerate.
19840         * config.in: Regenerate.
19841         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
19842         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
19843         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19844         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
19845         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
19846         will be the same.
19847
19848 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
19849
19850         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
19851
19852 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
19853
19854         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
19855
19856 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
19857
19858         * config/rs6000/rs6000.md: Move altivec patterns from here...
19859
19860         * config/rs6000/altivec.md: ...to here.
19861
19862 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
19863
19864         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
19865
19866 2002-07-29  Richard Henderson  <rth@redhat.com>
19867
19868         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
19869         set_mem_attributes and add BITPOS argument.  Subtract it from
19870         OFFSET when same is adjusted.
19871         (set_mem_attributes): New wrapper function.
19872         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
19873         remove offset adjustment hack.
19874         * expr.h (set_mem_attributes_minus_bitpos): Declare.
19875
19876 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
19877
19878         * Makefile.in (C_OBJS): Include c-pretty-print.o
19879         (c-pretty-print.o): Add depency rule.
19880         * pretty-print.h: Add more macros.
19881         * c-pretty-print.c: New file.
19882         * c-pretty-print.h: Likewise.
19883
19884 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
19885
19886         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
19887         constants to __ev64_s32__.
19888         (__internal_ev_mwhgsmian): Same.
19889         (__internal_ev_mwhgsmfan): Same.
19890         (__internal_ev_mwhgssfan): Same.
19891         (__internal_ev_mwhgumiaa): Same.
19892         (__internal_ev_mwhgsmiaa): Same.
19893         (__internal_ev_mwhgsmfaa): Same.
19894         (__internal_ev_mwhgssfaa): Same.
19895
19896 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
19897
19898         * varasm.c (assemble_variable): Narrow test for uninitialized
19899         without BSS target support.
19900
19901 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
19902
19903         * profile.c: Add file comment describing the overall algorithm and
19904         structures.
19905         (struct edge_info): Add comments.
19906         (struct bb_info): Add comments.
19907         * basic-block.h (EDGE_*): Add comments.
19908         * doc/gcov.texi (Gcov Data Files): Document bit flags.
19909
19910 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
19911
19912         * config/xtensa/elf.h, config/xtensa/linux.h
19913         (TARGET_OS_CPP_BUILTINS): Define.
19914         (CPP_PREDEFINES): Remove.
19915         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
19916         (CPP_SPEC): Remove.
19917
19918 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
19919
19920         * gensupport.c: Include hashtab.h.
19921         (insn_elision, condition_table, hash_c_test, cmp_c_test,
19922         maybe_eval_c_test): New routines and data structures to
19923         support insn elision.
19924         (init_md_reader): Read and initialize the condition_table.
19925         (read_md_rtx): Discard insn patterns whose C test is provably
19926         always false.
19927         * gensupport.h: Declare new functions and data structures.
19928
19929         * genconditions.c, dummy-conditions.c: New files.
19930         * Makefile.in: Build genconditions; run it to construct
19931         insn-conditions.c; build that and link it into most gen*
19932         programs.
19933         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
19934         (GEN): Delete, unused.
19935         (STAGESTUFF): Update.
19936
19937         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
19938         CODE_FOR_nothing for all elided patterns.
19939         (main): Tweaked to support this.
19940         * genflags.c (gen_proto): Emit a static inline generator
19941         function here for all elided patterns, which simply returns
19942         NULL_RTX.
19943         (gen_insn): Do not define HAVE_xxx for elided patterns.
19944         (main): Tweaked to support this.  No need to forward-declare
19945         struct rtx_def.
19946         * genrecog.c: Do not bother emitting the C test if it's known
19947         to be true at compile time.
19948
19949 2002-07-29  Mike Stump  <mrs@apple.com>
19950
19951         * config.gcc (target_gtfiles): Initialize, as otherwise cross
19952         compilers hosted on powerpc-apple-darwin6.0 won't even build.
19953
19954 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
19955
19956         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
19957         remove clobber of LR.
19958         (sibcall_insn, sibcall_value_insn): Update accordingly.
19959         (sibcall_epilogue): Remove debugging comment from assembler stream.
19960
19961 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
19962
19963         * pretty-print.h: Define more macros.
19964         * diagnostic.h (output_formatted_integer): Moved from...
19965         * diagnostic.c: ... here.
19966
19967 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19968
19969         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
19970
19971 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
19972
19973         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
19974         arguments.  Always use ".-symbol" as expression argument.
19975         * doc/tm.texi: Update to match.  Document requirement for
19976         ".size symbol, .-symbol" to be acceptable to assembler.
19977
19978         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
19979         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
19980         config/i386/freebsd-aout.h, config/i386/sco5.h,
19981         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
19982         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
19983
19984 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19985
19986         * Makefile.in (gengtype-lex.c): Fix error in last change.
19987
19988         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
19989         backslash.
19990
19991         * Makefile.in (vmsdbgout.o): Depend on function.h.
19992
19993         * vmsdbgout.c: Include function.h.
19994
19995 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
19996
19997         * prefix.c (update_path): Don't strip single `.' path components
19998         unless stripping a later `..' component.  Exit loop as soon as
19999         a valid path is found.
20000
20001 2002-07-27  Roger Sayle  <roger@eyesopen.com>
20002
20003         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
20004         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
20005         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
20006         floating point unordered comparisons (e.g. __builtin_isgreater)
20007         as const, and leave the remaining GCC_BUILTINs unchanged.
20008
20009         * c-decl.c (builtin_function): No need to explicitly mark
20010         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
20011
20012 2002-07-27  Roger Sayle  <roger@eyesopen.com>
20013
20014         * Makefile.in: rtlanal.o now depends upon real.h.
20015
20016         * flags.h [flag_signaling_nans]: New flag.
20017         [HONOR_SNANS]: New macro.
20018
20019         * toplev.c [flag_signaling_nans]: Initialize to false.
20020         (f_options): Add processing for "-fsignaling-nans".
20021         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
20022         (process_options): flag_signaling_nans implies flag_trapping_math.
20023
20024         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
20025         when -fsignaling-nans.  First step to implementing WG14's N965.
20026
20027         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
20028         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
20029         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
20030
20031         * simplify-rtx.c (simplify_relational_operation): Conditionalize
20032         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
20033
20034         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
20035         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
20036         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
20037         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
20038         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
20039
20040         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
20041
20042 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20043
20044         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
20045         * gengtype-lex.l (YY_USE_PROTOS): Undef.
20046         (YY_DECL): Define.
20047
20048 2002-07-27  Roger Sayle  <roger@eyesopen.com>
20049
20050         * doc/invoke.texi: Document that both -fno-builtin-foo and
20051         -fno-builtin are supported by the g++ front-end.
20052
20053 2002-07-27  Stan Shebs  <shebs@apple.com>
20054
20055         * configure.in: Rename config_gtfiles to target_gtfiles.
20056         * configure: Regenerate.
20057         * doc/gty.texi: Update reference.
20058         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
20059         instead of appending to it.
20060
20061 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
20062
20063         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
20064         vectors are split into two registers.
20065         (function_arg): Same.
20066
20067 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
20068
20069         * pa.md (extv): Check predicates before emitting extv_32.
20070
20071 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
20072
20073         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
20074         (rs6000_traceback): New var.
20075         (rs6000_override_options): Set rs6000_traceback.
20076         (rs6000_output_function_epilogue): Implement traceback options.
20077         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
20078         (rs6000_traceback_name): Declare.
20079
20080         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
20081         label reference when NO_PROFILE_COUNTERS.
20082
20083 2002-07-26  Jason Merrill  <jason@redhat.com>
20084
20085         * function.c (assign_parms): Handle frontend-directed pass by
20086         invisible reference.
20087
20088 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
20089
20090         * doc/cppopts.texi: Update.
20091
20092 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
20093
20094         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
20095         warnings on assertions.
20096
20097 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
20098
20099         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
20100         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
20101         RID_COMPL): Remove.
20102         * c-parse.in (rid_to_yy): Similarly.
20103
20104 2002-07-26  Jason Merrill  <jason@redhat.com>
20105
20106         * c-dump.c: Resurrect.
20107         * tree-dump.c: Move C-specific stuff to c-dump.c.
20108         * c-common.h: Declare c_dump_tree.
20109         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
20110         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
20111         (c-dump.o): New rule.
20112
20113 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
20114
20115         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
20116         PowerPC64.  Replace "T" and "S" constraints with "n" when the
20117         predicate will do.  Formatting fixes.
20118         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
20119         as for extzvsi_internal1.
20120
20121 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
20122
20123         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
20124         DERIV_END_LABEL_FMT): Remove.
20125         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
20126
20127 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
20128
20129         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
20130         Remove.
20131
20132 2002-07-25  Stan Shebs  <shebs@apple.com>
20133
20134         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
20135         local var dwarfp.
20136         (output_compiler_stub): Remove unused locals.
20137         (output_call): Always initialize line number.
20138
20139 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
20140
20141         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
20142         * sh.md (truncdiqi2, movqi_media): Likewise.
20143
20144 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
20145
20146         * gcse.c (obstack_chunk_alloc): Remove.
20147         (gcse_alloc): Fix to count allocated bytes.
20148         * collect2.c (SYMBOL__MAIN): Remove.
20149
20150 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
20151
20152         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
20153         HAVE_TARGET_EXECUTABLE_SUFFIX.
20154
20155 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
20156
20157         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
20158         SIZE, EXPR and OFFSET.
20159
20160 2002-07-25  Richard Henderson  <rth@redhat.com>
20161
20162         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
20163         in ARRAY_REF of DECL_P case.
20164
20165 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
20166
20167         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
20168         description.  Document -mips32, -mips64, and the associated -march
20169         values.  Describe the "mipsN" arguments to -march.  Say that the
20170         -mipsN options are equivalent to -march.  Reword the description
20171         of default type sizes.
20172         * toplev.h (target_flags_explicit): Declare.
20173         * toplev.c (target_flags_explicit): New var.
20174         (set_target_switch): Update target_flags_explicit.
20175         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
20176         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
20177         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
20178         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
20179         * config/mips/mips.h (mips_cpu_info): New struct.
20180         (mips_cpu_string, mips_explicit_type_size_string): Remove.
20181         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
20182         (MIPS_CPP_SET_PROCESSOR): New macro.
20183         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
20184         Define _MIPS_ARCH and _MIPS_TUNE.
20185         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
20186         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
20187         MIPS_ISA_DEFAULT were already defined.
20188         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
20189         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
20190         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
20191         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
20192         (ABI_GAS_ASM_SPEC): Remove.
20193         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
20194         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
20195         Invoke %(asm_abi_default_spec) if no ABI was specified.
20196         (CC1_SPEC): Remove ISA -> register-size rules.
20197         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
20198         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
20199         (mips_cpu_string, mips_explicit_type_size_string): Remove.
20200         (mips_cpu_info_table): New array.
20201         (mips_set_architecture, mips_set_tune): New fns.
20202         (override_options): Rework to make -mipsN equivalent to -march.
20203         Detect more erroneous cases, including those removed from CC1_SPEC.
20204         Don't change the ABI based on architecture, or vice versa.
20205         Unify logic with GAS.
20206         (mips_asm_file_start): Get architecture name from mips_arch_info.
20207         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
20208         (mips_parse_cpu): Take the name of the option as argument.  Handle
20209         'from-abi'.  Raise an error if the option is wrong.
20210         (mips_cpu_info_from_isa): New fn.
20211
20212 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
20213
20214         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
20215         (tablejump_mips162): Likewise.
20216
20217 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
20218
20219         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
20220         int_mode_for_mode.
20221
20222 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
20223
20224         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
20225         complaining.
20226         * c-common.h (c_sizeof): Adjust definition.
20227         (c_alignof): Likewise.
20228         * c-tree.h (c_sizeof_nowarn): Now macro.
20229         * c-typeck.c (c_sizeof_nowarn): Remove definition.
20230
20231 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
20232
20233         * c-decl.c (c_decode_option): No need to handle switches
20234         cpplib handles.
20235
20236 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
20237
20238         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
20239         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
20240         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
20241         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
20242
20243         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
20244         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
20245         config/cris/aout.h, config/i386/freebsd-aout.h,
20246         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
20247         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
20248         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
20249         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
20250         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
20251         config/xtensa/elf.h, config/xtensa/linux.h:
20252         Use the new macros.
20253         Where possible, remove redundant definitions of SIZE_ASM_OP,
20254         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
20255
20256 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
20257
20258         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
20259         TARGET_ISEL, and TARGET_FPRS.
20260
20261         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
20262         -mabi=spe, -mabi=no-spe, and -misel=.
20263
20264         * config/rs6000/rs6000-protos.h: Add output_isel.
20265         Move vrsave_operation prototype here.
20266
20267         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
20268         (smaxsi3): Same.
20269         (uminsi3): Same.
20270         (umaxsi3): Same.
20271         (abssi2_nopower): Disallow when TARGET_ISEL.
20272         (*ne0): Same.
20273         (negsf2): Change to expand and rename old pattern to *negsf2.
20274         (abssf2): Change to expand and rename old pattern to *abssf2.
20275
20276         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
20277         fixunssfsi2.
20278
20279         Change patterns that check for TARGET_HARD_FLOAT or
20280         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
20281
20282         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
20283         rs6000_isel, rs6000_fprs, rs6000_isel_string.
20284         (rs6000_override_options): Add 8540 case to
20285         processor_target_table.
20286         Set rs6000_isel for the 8540.
20287         Call rs6000_parse_isel_option.
20288         (enable_mask_for_builtins): New.
20289         (rs6000_parse_isel_option): New.
20290         (rs6000_parse_abi_options): Add spe and no-spe.
20291         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
20292         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
20293         for TARGET_HARD_FLOAT.
20294         Add case for SPE_VECTOR_MODE.
20295         (rs6000_legitimize_reload_address): Handle SPE vector modes.
20296         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
20297         vector modes.
20298         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
20299         (rs6000_emit_move): Check for TARGET_FPRS.
20300         Add cases for SPE vector modes.
20301         (function_arg_boundary): Return 64 for SPE vector modes.
20302         (function_arg_advance): Check for TARGET_FPRS and
20303         Handle SPE vectors.
20304         (function_arg): Same.
20305         (setup_incoming_varargs): Check for TARGET_FPRS.
20306         (rs6000_va_arg): Same.
20307         (struct builtin_description): Un-constify mask field.  Move up in
20308         file.
20309         (bdesc_2arg): Un-constify and add SPE builtins.
20310         (bdesc_1arg): Same.
20311         (bdesc_spe_predicates): New.
20312         (bdesc_spe_evsel): New.
20313         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
20314         (rs6000_expand_binop_builtin): Same.
20315         (bdesc_2arg_spe): New.
20316         (spe_expand_builtin): New.
20317         (spe_expand_predicate_builtin): New.
20318         (spe_expand_evsel_builtin): New.
20319         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
20320         (rs6000_init_builtins): Initialize SPE builtins.  Call
20321         rs6000_common_init_builtins.
20322         (altivec_init_builtins): Move all non-altivec builtin code to...
20323         (rs6000_common_init_builtins): ...here.  New function.
20324         (branch_positive_comparison_operator): Allow NE code for SPE.
20325         (ccr_bit): Return correct ccr bit for SPE fp.
20326         (print_operand): Emit crnor in 'D' case for SPE.
20327         New case 't'.
20328         Add SPE code for 'y' case.
20329         (rs6000_generate_compare): Generate rtl for SPE fp.
20330         (output_cbranch): Handle SPE hard floats.
20331         (rs6000_emit_cmove): Handle isel.
20332         (rs6000_emit_int_cmove): New.
20333         (output_isel): New.
20334         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
20335         64-bits for SPE.
20336         (debug_stack_info): Add SPE info.
20337         (gen_frame_mem_offset): New.
20338         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
20339         Change mode of frame pointer, when saving it, to Pmode.
20340         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
20341         Misc cleanups and use gen_frame_mem_offset when appropriate.
20342
20343         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
20344         (TARGET_SPE_ABI): New.
20345         (TARGET_SPE): New.
20346         (TARGET_ISEL): New.
20347         (TARGET_FPRS): New.
20348         (FIXED_SCRATCH): New.
20349         (RTX_COSTS): Add PROCESSOR_PPC8540.
20350         (ASM_CPU_SPEC): Add case for 8540.
20351         (TARGET_OPTIONS): Add isel= case.
20352         (rs6000_spe_abi): New.
20353         (rs6000_isel): New.
20354         (rs6000_fprs): New.
20355         (rs6000_isel_string): New.
20356         (UNITS_PER_SPE_WORD): New.
20357         (LOCAL_ALIGNMENT): Adjust for SPE.
20358         (HARD_REGNO_MODE_OK): Same.
20359         (DATA_ALIGNMENT): Same.
20360         (MEMBER_TYPE_FORCES_BLK): New.
20361         (FIRST_PSEUDO_REGISTER): Set to 113.
20362         (FIXED_REGISTERS): Add SPE registers.
20363         (reg_class): Same.
20364         (REG_CLASS_NAMES): Same.
20365         (REG_CLASS_CONTENTS): Same.
20366         (REGNO_REG_CLASS): Same.
20367         (REGISTER_NAMES): Same.
20368         (DEBUG_REGISTER_NAMES): Same.
20369         (ADDITIONAL_REGISTER_NAMES): Same.
20370         (CALL_USED_REGISTERS): Same.
20371         (CALL_REALLY_USED_REGISTERS): Same.
20372         (SPE_ACC_REGNO): New.
20373         (SPEFSCR_REGNO): New.
20374         (SPE_SIMD_REGNO_P): New.
20375         (HARD_REGNO_NREGS): Adjust for SPE.
20376         (VECTOR_MODE_SUPPORTED_P): Same.
20377         (REGNO_REG_CLASS): Same.
20378         (FUNCTION_VALUE): Same.
20379         (LIBCALL_VALUE): Same.
20380         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
20381         (SPE_VECTOR_MODE): New.
20382         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
20383         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
20384         (rs6000_stack): Add spe_gp_size, spe_padding_size,
20385         spe_gp_save_offset.
20386         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
20387         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
20388         (SPE_CONST_OFFSET_OK): New.
20389         (rs6000_builtins): Add SPE builtins.
20390
20391         * testsuite/gcc.dg/ppc-spe.c: New.
20392
20393         * config/rs6000/eabispe.h: New.
20394
20395         * config/rs6000/spe.h: New.
20396
20397         * config/rs600/spe.md: New.
20398
20399         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
20400         __SIMD__ for TARGET_SPE.
20401
20402         * config.gcc: Add powerpc-*-eabispe* case.
20403         Add spe.h to user headers for powerpc.
20404
20405 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
20406
20407         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
20408         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
20409         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
20410
20411 2002-07-24  Richard Henderson  <rth@redhat.com>
20412
20413         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
20414         form when not optimizing.
20415
20416 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
20417
20418         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
20419         thread_pointer_rtx as unchanging.
20420
20421 2002-07-24  Michael Matz  <matz@suse.de>
20422
20423         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
20424         (free_reg): Use it.
20425
20426 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
20427
20428         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
20429         pattern.
20430         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
20431         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
20432
20433 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
20434
20435         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
20436         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
20437         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
20438
20439 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
20440
20441         * toplev.c (rest_of_compilation): Dump loops before clobbering
20442         the structure.
20443
20444 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
20445
20446         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
20447
20448 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
20449
20450         PR optimization/7291
20451         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
20452         problem on x86_64.
20453
20454 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
20455
20456         * pretty-print.h: Add macros from cp/error.c
20457
20458 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
20459
20460         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
20461         (mask64_2_operand): Declare.
20462         (build_mask64_2_operands): Declare.
20463         (and64_2_operand): Declare.
20464         (extract_MB): Declare.
20465         (extract_ME): Declare.
20466         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
20467         CONST_DOUBLE code.
20468         (mask_operand_wrap): New insn predicate.
20469         (mask64_2_operand): Likewise.
20470         (and64_2_operand): Likewise.
20471         (build_mask64_2_operands): New function.
20472         (extract_MB): New function.
20473         (extract_ME): New function.
20474         (print_operand <case m,M>): Use extract_MB and extract_ME.
20475         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
20476         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
20477         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
20478         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
20479         * config/rs6000/rs6000.md (andsi3_internal3): New
20480         (andsi3_internal3+1): Enable split for powerpc64.
20481         (andsi3_internal3+2): New split.
20482         (andsi3_internal4): Renamed old andsi3_internal3.
20483         (andsi3_internal5): New.
20484         (andsi3_internal5+1): Enable split for powerpc64.
20485         (andsi3_internal5+2): New split.
20486         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
20487         (anddi3): Handle 't' constraint.
20488         (anddi3+1): New split.
20489         (anddi3_internal2): Handle 't' constraint.
20490         (anddi3_internal2+1): New split.
20491         (anddi3_internal3): Handle 't' constraint.
20492         (anddi3_internal3+1): New split.
20493
20494 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
20495
20496         * config/rs6000/rs6000.md: Remove scratch reg on insns using
20497         addze and similar (plus (comparison r1 r2) r3) insns.  Add
20498         missing scratch reg in one case.  Formatting fixes.
20499
20500 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
20501
20502         * cppexp.c (parse_defined): Mark macro used.
20503         * cpphash.h (struct cpp_macro): New member "used".
20504         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
20505         (struct cpp_reader): New member.
20506         * cppinit.c (cpp_finish_options): Set first_unused_line.
20507         (cpp_finish): Warn of unused macros if requested.
20508         (OPT_TABLE): New switches.
20509         (cpp_handle_option): Handle them.
20510         * cpplib.c (do_undef): Warn if macro unused.
20511         (do_ifdef, do_ifndef): Mark macro used.
20512         * cpplib.h (struct cpp_options): New member.
20513         * cppmacro.c (_cpp_warn_if_unused_macro): New.
20514         (enter_macro_context): Mark macro used.
20515         (_cpp_create_definition): Mark macro unused; warn if unused
20516         when redefined.
20517         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
20518         Mark macros used.
20519         * doc/cppopts.texi: Update.
20520
20521 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20522
20523         * dwarf2out.c (SECTION_ASM_OP,
20524         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
20525         * system.h (SECTION_ASM_OP): Poison.
20526         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
20527         * config/alpha/alpha-interix.h, config/mips/linux.h
20528         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
20529         * config/mmix/mmix-protos.h, config/mmix/mmix.c
20530         (mmix_asm_output_define_label_difference_symbol): Remove.
20531         * config/mmix/mmix.h
20532         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
20533         * doc/tm.texi: Remove documentation.
20534
20535 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
20536
20537         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
20538         (constrain_operands): Likewise.
20539         * regclass.c (record_reg_classes): Likewise.
20540         * reload.c (find_reloads): Likewise.
20541         * doc/md.texi: Likewise.
20542
20543         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
20544         * simplify-rtx.c (simplify_subreg): When converting to a non-int
20545         mode, try to convert to an integer mode of matching size first.
20546
20547         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
20548         from individual subregs, check that each subreg has been generated
20549         sucessfully.
20550
20551 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20552
20553         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
20554         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
20555         FOR_EACH_BB_IN_SBITMAP): Remove.
20556         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
20557         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
20558         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
20559         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
20560         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
20561         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
20562
20563 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
20564
20565         * pretty-print.h: New file.
20566
20567 2002-07-23      Paul Koning     <pkoning@equallogic.com>
20568
20569         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
20570         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
20571         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
20572         (TARGET_G_FLOAT): Default to 0 if not defined.
20573         (ieeetoe): New, common routine to convert target format floats
20574         to internal form.
20575         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
20576         vs. others.
20577         (e113toe): Change to use ieeetoe.
20578
20579 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
20580
20581         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
20582         IBM.
20583         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
20584         (e64toe): Remove special cases for DEC and IBM. Remove support for
20585         ARM_EXTENDED_IEEE_FORMAT.
20586         (e24toe): Remove special cases for DEC.
20587         (significand_size): Simplify. Indent.
20588         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
20589         (etoieee, toieee): New.
20590         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
20591         etoieee and toieee for IEEE arithmetic.
20592
20593 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
20594
20595         * doc/extend.texi: Say ISO C90, not ISO C89.
20596         * doc/invoke.texi: Likewise.
20597         * doc/standards.texi: Likewise.
20598
20599 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
20600
20601         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
20602         Fix permutation of conversion and plus/mult.
20603         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
20604         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
20605         (expand_builtin_strncpy) Ditto.
20606         (expand_builtin_memset) Ditto.
20607
20608 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
20609
20610         Fix PR/7363:
20611         * c-common.c (c_sizeof_or_alignof_type): New function.
20612         (c_alignof): Remove definition.
20613         * c-common.h (c_sizeof, c_alignof): Define as macros.
20614         (c_sizeof_or_alignof_type): Declare.
20615         (my_friendly_assert): Moved from cp/cp-tree.h
20616         * c-typeck.c (c_sizeof): Remove definition.
20617
20618 2002-07-23  Jan Hubicka  <jh@suse.cz>
20619
20620         * gcse.c (try_replace_reg): Use num_changes_pending.
20621         * recog.c (num_changes_pending): New function.
20622         (validate_replace_src): Use validate_repalce_src_group.
20623         (validate_replace_src_group): New.
20624         * recog.h (validate_repalce_src_group): New.
20625         (num_changes_pending): Likewise.
20626
20627 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
20628
20629         * calls.c (emit_library_call_value_1): If
20630         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
20631         libcall, const call nor pure call.
20632
20633 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20634
20635         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
20636
20637 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20638
20639         * vmsdbgout.c (SECTION_ASM_OP): Remove.
20640
20641 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20642
20643         * config/i386/i386.c (AT_BP): Remove.
20644
20645 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
20646
20647         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
20648         Default definition.
20649         * gcse.c: Don't define obstack_chunk_free.
20650         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
20651         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
20652         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
20653         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
20654         Don't define obstack macros.
20655
20656 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
20657
20658         PR target/6744
20659         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
20660         ASM_OPERANDS instructions.
20661
20662 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
20663
20664         PR target/7361
20665         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
20666         constant addresses only on 68HC12.
20667
20668 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
20669
20670         * cppfiles.c (stack_include_file): Correct test of whether
20671         a dependency should be output.
20672
20673 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
20674
20675         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
20676
20677 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
20678
20679         * arm.md (movqi): If optimizing and we can create pseudos, use
20680         a ZERO_EXTEND to load from memory, then copy the result into the
20681         target.
20682         (movhi): Likewise, but only for ARMv4.
20683
20684 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
20685
20686         * ssa-ccp.c (PHI_PARMS): Remove.
20687
20688 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
20689
20690         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
20691         on big-endian targets.
20692
20693 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20694
20695         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
20696         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
20697         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
20698         New formatting macros.
20699
20700         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
20701
20702 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
20703
20704         * rtlanal.c (subreg_regno_offset): Return correct offset for
20705         big endian paradoxical subregs.
20706
20707         * optabs.c (expand_vector_unop): Don't expand using sub_optab
20708         if we got the wrong mode.
20709
20710         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
20711         * genrecog.c (write_switch, write_cond): Use it.
20712         * genemit.c (gen_exp): Likewise.
20713
20714 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
20715
20716         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
20717
20718 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
20719
20720         * c-decl.c (build_compound_literal): Defer compound literal decls
20721         until until file end to emit them only if they are actually used.
20722
20723 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20724
20725         * ra-build.c (check_conflict_numbers): Hide unused function.
20726         (livethrough_conflicts_bb): Avoid automatic aggregate
20727         initialization.
20728         (parts_to_webs_1): Avoid `U' integer constant modifier.
20729         (conflicts_between_webs): Wrap a variable in the macro controlling
20730         its usage.
20731         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
20732         (dump_igraph, dump_graph_cost): Avoid string concatenation
20733         (dump_static_insn_cost): Avoid automatic aggregate
20734         initialization.
20735         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
20736         initialization.
20737         (dump_cost): Avoid string concatenation
20738
20739 2002-07-21  Richard Henderson  <rth@redhat.com>
20740
20741         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
20742         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
20743
20744 2002-07-21  Richard Henderson  <rth@redhat.com>
20745
20746         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
20747         that are not unrolled completely.
20748
20749 2002-07-21  Richard Henderson  <rth@redhat.com>
20750
20751         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
20752         * loop.c (strength_reduce): Update.
20753         * toplev.c (rest_of_compilation): Do unrolling in the first
20754         loop pass, not the second.
20755
20756 2002-07-21  Richard Henderson  <rth@redhat.com>
20757
20758         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
20759         when flag_argument_noalias == 2.
20760         * alias.c (nonoverlapping_memrefs_p): Handle that.
20761         * print-rtl.c (print_mem_expr): Likewise.
20762
20763 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
20764
20765         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
20766         instead of __negdi2 directly.
20767
20768 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
20769
20770         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
20771         * function.c (SYMBOL__MAIN): Remove definition.
20772         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
20773         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
20774         * profile.c (GCOV_INDEX_TO_BB): Remove.
20775         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
20776         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
20777
20778 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
20779
20780         * c-lex.c (GET_ENVIRONMENT): Remove.
20781         * collect2.c (GET_ENV_PATH_LIST): Remove.
20782         (prefix_from_env): Use GET_ENVIRONMENT.
20783         * cppinit.c (GET_ENV_PATH_LIST): Remove.
20784         (init_standard_includes): Use GET_ENVIRONMENT.
20785         * defaults.h (GET_ENVIRONMENT): Define here if not already.
20786         * gcc.c (GET_ENV_PATH_LIST): Remove.
20787         (make_relative_prefix, process_command): Update.
20788         * protoize.c (GET_ENV_PATH_LIST): Remove.
20789         (do_processing): Update.
20790
20791 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
20792
20793         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
20794         (grokdeclarator): Likewise.
20795         * c-format.c (C_STD_NAME): Likewise.
20796         * c-lex.c (interpret_integer): Likewise.
20797         * c-typeck.c (build_array_ref): Likewise.
20798         * cpplex.c (_cpp_lex_direct): Likewise.
20799         * toplev.c (documented_lang_options): Likewise.
20800
20801 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
20802
20803         * c-format.c (T99_I, T99_UI): Remove.
20804
20805 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
20806
20807         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
20808
20809 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
20810
20811         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
20812         do_local_cprop.
20813
20814 2002-07-21  Andreas Jaeger  <aj@suse.de>
20815
20816         * reload1.c (fixup_abnormal_edges): Remove unused variable.
20817
20818 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
20819
20820         Improvements for the ifcvt pass from Michael Meissner, with patches
20821         by Richard Sandiford <rsandifo@redhat.com>
20822         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
20823         * ifcvt.c (cond_exec_changed_p): New static variable.
20824         (last_active_insn): New function, renamed from last_active_insn_p
20825         and changed to return the last active insn in a basic block. All
20826         callers updated.
20827         (block_fallthru): New function.
20828         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
20829         IFCVT_MODIFY_INSN.  All callers updated.
20830         Return false if START or END are NULL.
20831         Handle case where we're processing an insn that is already
20832         conditional.
20833
20834         (noce_process_if_block): CE_INFO argument rather than
20835         multiple args containing the involved basic blocks.  All callers
20836         changed.
20837         (process_if_block, merge_if_block, find_if_block,
20838         cond_exec_process_if_block): Likewise.
20839
20840         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
20841         changed.
20842         Use new function last_active_insn to simplify some code.
20843         New code to handle multiple tests.
20844         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
20845         cond_exec_changed_p to TRUE.
20846
20847         (process_if_block): New code to handle multiple tests.
20848         (merge_if_block): Likewise.
20849         (find_if_header): New arg PASS.  Changed to return the currently
20850         processed basic block or NULL instead of true/false. All callers
20851         changed.
20852         Call IFCVT_INIT_EXTRA_FIELDS.
20853         (block_jumps_and_fallthru_p): New function.
20854         (find_if_block): Discover opportunities to convert multiple tests.
20855         Add additional debugging output.
20856         Update the ce_info structure before returning.
20857
20858         (if_convert): Run multiple passes of if-conversion.
20859         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
20860         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
20861         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
20862         these macros.
20863
20864 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
20865
20866         * gcse.c: Include cselib.h
20867         (constptop_register): Break out from ...
20868         (cprop_insn): ... here; kill basic_block argument.
20869         (do_local_cprop, local_cprop_pass): New functions.
20870         (one_cprop_pass): Call local_cprop_pass.
20871
20872 2002-07-20  Roger Sayle  <roger@eyesopen.com>
20873
20874         * simplify-rtx.c (simplify_relational_operation): Optimize
20875         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
20876
20877 2002-07-20  Michae Matz  <matz@suse.de>
20878
20879         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
20880
20881 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
20882
20883         * cppexp.c (struct op): Add token pointer.
20884         (check_promotion, CHECK_PROMOTION): New.
20885         (optab): Update.
20886         (_cpp_parse_expr): Update, use token pointer of struct op.
20887         (reduce): Warn about change of sign owing to promotion.
20888         * cppinit.c (cpp_handle_option): New warning if -Wall.
20889         * cpplib.h (struct cpp_options): New member.
20890
20891 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
20892
20893         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
20894         fpu list.  Separate Power4 compare and delayed_compare.  Correct
20895         Power4 fpcompare.
20896         (fix_truncdfsi2_internal): Restore FPR preference.
20897         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
20898         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
20899
20900 2002-07-19  Momchil Velikov <velco@fadata.bg>
20901
20902         * reload1.c (reload_as_needed): Duplicate oldpat.
20903
20904 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
20905
20906         PR optimization/7130
20907         * loop.h (struct loop_info): Add "preconditioned".
20908         * unroll.c (unroll_loop): Set it.
20909         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
20910
20911 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
20912
20913         * rtl.def (CODE_LABEL): Remove slot 8.
20914         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
20915         (LABEL_ALTERNATE_NAME): Delete.
20916         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
20917         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
20918
20919         * final.c (output_alternate_entry_point): New.
20920         (final_scan_insn): Use it instead of
20921         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
20922         of a case label being an alternate entry point.
20923
20924         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
20925         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
20926         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
20927         (field deleted).
20928         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
20929
20930         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
20931         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
20932         * doc/tm.texi: Delete documentation of
20933         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
20934
20935 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20936
20937         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
20938         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
20939         (LINK_SPEC): Define.
20940         (STARTFILE_SPEC): Define.
20941         (ENDFILE_SPEC): Define.
20942
20943         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
20944         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
20945
20946         * config/mips/iris6-o32-gas.h: New file.
20947         * config.gcc (mips-sgi-irix6*o32): Use it.
20948
20949         * config/mips/t-iris5-gas: New file.
20950         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
20951
20952 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
20953
20954         * cppexp.c (ALWAYS_EVAL): Remove.
20955         (optab, reduce): Always evaluate.
20956         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
20957         only if not skipping evaluation.
20958
20959 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
20960
20961         * config/avr/avr.c (debug_hard_reg_set): Remove.
20962
20963 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
20964
20965         * gcc.c (cpp_options): Include "%1" (cc1_spec).
20966
20967 2002-07-19  Richard Henderson  <rth@redhat.com>
20968
20969         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
20970
20971 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
20972
20973         * prefix.c (update_path): Don't zap single `.' path components
20974         unless followed by another `.' and fix typo last patch.
20975
20976 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
20977
20978         * cppexp.c (cpp_num_mul): Remove unused parameter.
20979         (UNARY, BINARY, OTHER, binary_handler): Remove.
20980         (ALWAYS_EVAL): New.
20981         (optab): Update.
20982         (reduce): Refactor to a large switch, don't use a function
20983         pointer.
20984
20985 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
20986
20987         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
20988
20989 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
20990
20991         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
20992         (sh_expand_binop_v2sf): Likewise.
20993         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
20994         (int_gpr_dest, trunc_hi_operand): New functions.
20995         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
20996         trunc_hi_operand.
20997         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
20998         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
20999         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
21000         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
21001         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
21002         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
21003         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
21004         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
21005         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
21006         (movsf_ie+1): Likewise.
21007         (loaddi_trunc): Use int_gpr_dest predicate.
21008         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
21009         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
21010         (casesi_worker_0+[12], casesi_worker): Likewise.
21011         (shcompact_preserve_incoming_args): Likewise.
21012         (mov_nop): Use any_register_operand predicate.
21013         (mperm_w0): Use trunc_hi_operand predicate.
21014
21015 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21016
21017         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
21018         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
21019         numbering.
21020
21021 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21022
21023         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
21024
21025 2002-07-18  Richard Henderson  <rth@redhat.com>
21026
21027         PR optimization/7147
21028         * ifcvt.c (noce_get_condition): Make certain that the condition
21029         is valid at JUMP.
21030
21031 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
21032
21033         * sh.c (barrier_align, push): Shut up compiler warnings.
21034         (initial_elimination_offset,sh_media_init_builtins): Likewise.
21035         (reg_no_subreg_operand): Delete.
21036
21037 2002-07-17  Bo Thorsen  <bo@suse.de>
21038
21039         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
21040         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
21041         (STARTFILE_SPEC): Remove hardcoded library paths.
21042         (ENDFILE_SPEC): Likewise.
21043
21044 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
21045
21046         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
21047
21048         * gcse.c (try_replace_reg): Do not return false positives.
21049
21050 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
21051
21052         * prefix.c: (update_path): Strip ".." components when prior dir
21053         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
21054
21055         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
21056         (ASM_OUTPUT_REG_POP): Likewise.
21057
21058 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
21059
21060         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
21061         adjustments to first_reg for profiling case.
21062         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
21063         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
21064         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
21065         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
21066         (ASM_OUTPUT_REG_POP): Define.
21067         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
21068         (ASM_OUTPUT_REG_POP): Undef.
21069
21070 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
21071
21072         * cpplib.c (do_sccs): Handle #sccs on all systems.
21073         * system.h (SCCS_DIRECTIVE): Poison.
21074         * config/darwin.h, config/freebsd.h, config/netbsd.h,
21075         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
21076         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
21077         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
21078         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
21079         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
21080         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
21081         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
21082         Remove all references to SCCS_DIRECTIVE.
21083         * doc/cpp.texi, doc/tm.texi: Update.
21084
21085 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
21086
21087         * regrename.c (maybe_mode_change): New function.
21088         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
21089
21090 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
21091
21092         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
21093         suppress addition when either ct or cf are zero.
21094
21095 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
21096             Glen Nakamura <glen@imodulo.com>
21097
21098         PR optimization/6713
21099         * loop.c (loop_givs_rescan): Explicitly delete the insn that
21100         sets a non-replaceable giv after issuing the new one.
21101
21102 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
21103
21104         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
21105         eval_token): Clarify and correct use of "bool" variables.
21106         * cpplib.h (struct cpp_options): Similarly.
21107         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
21108         * cpptrad.c (recursive_macro): Similarly.
21109
21110 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
21111
21112         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
21113         SHmedia code.
21114
21115         * sh.md (cmpgtudi_media): Remove spurious @.
21116
21117         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
21118         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
21119
21120         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
21121         * sh-protos.h (sh_initialize_trampoline): Declare.
21122         * sh.c (sh_initialize_trampoline): New function.
21123         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
21124         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
21125         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
21126         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
21127         * sh.md (initialize_trampoline, double_shori): New patterns.
21128         (initialize_trampoline_compact): Likewise.
21129         (shmedia32_initialize_trampoline_big): Remove.
21130         (shmedia32_initialize_trampoline_little): Likewise.
21131
21132         * sh-protos.h (binary_float_operator): Remove declaration.
21133         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
21134         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
21135         (unary_float_operator, sh_expand_unop_v2sf): New functions.
21136         (sh_expand_binop_v2sf): Likewise.
21137         (zero_vec_operand): Delete.
21138         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
21139         all non-shared ones.
21140         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
21141         Enable nsb and byterev.
21142         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
21143         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
21144         in general regs.
21145         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
21146         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
21147         immediate operands.
21148         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
21149         Add DF_HI_REGS.
21150         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
21151         lowpart fp regs - only for big endian for now.
21152         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
21153         when FPU is in use.
21154         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
21155         (LOAD_EXTEND_OP): NIL for SImode.
21156         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
21157         general and fp registers is 4.
21158         PREDICATE_CODES: Amend binary_float_operator entry.
21159         Remove zero_vec_operand.  Add unary_float_operator.
21160         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
21161         subreg SET_DEST.
21162         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
21163         (truncdiqi2): Do sign extension.
21164         (movsi_media, movdi_media): Allow to use r63 to an fp register.
21165         (movdf_media, movsf_media): Likewise.
21166         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
21167         Collapse to one define_insn_and_split.  Allow immediate sources.
21168         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
21169         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
21170         (movv4sf): Allow immediate sources.
21171         (movsf_media_nofpu+1): Don't split moves to FP registers.
21172         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
21173         (movv8qi_i+3): Check against CONST0_RTX.
21174         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
21175         for input and output operands.  Fix argument 3 to gen_mextr_rl.
21176         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
21177         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
21178         (mshf0_w, fipr, ftrv): Likewise.
21179         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
21180
21181 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
21182
21183         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
21184         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
21185         * arm.c: Similarly.
21186
21187 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
21188
21189         * config/mips/mips-protos.h (mips_sign_extend): Declare.
21190         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
21191         (TARGET_SWITCHES): Remove debugh.
21192         (ISA_HAS_TRUNC_W): New macro.
21193         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
21194         (PREDICATE_CODES): Remove se_nonimmediate_operand.
21195         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
21196         any SImode move_operand.
21197         (se_nonimmediate_operand): Remove.
21198         (mips_sign_extend): New.
21199         (mips_move_2words): Use it for sign-extended source operands.
21200         (override_options): Allow integers to be put into single FPRs.
21201         (mips_secondary_reload_class): Handle integers in float registers.
21202         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
21203         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
21204         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
21205         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
21206         (fix_truncdfdi2): Provide only a single alternative, in which the
21207         integer is in a float register.  Depend on TARGET_FLOAT64 rather
21208         than TARGET_64BIT.
21209         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
21210         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
21211         (movdi_internal2): Don't allow the source operand to be sign-extended.
21212         Add alternatives for float registers.
21213         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
21214         allows sign-extension.
21215         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
21216         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
21217         float registers.  Remove TARGET_DEBUG_H_MODE test.
21218         (movhi_internal1): Rename to movhi_internal.  Don't check
21219         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
21220         (movqi_internal1): Rename to movqi_internal and remove
21221         TARGET_DEBUG_H_MODE dependency.
21222         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
21223
21224 2002-07-16  Jim Wilson  <wilson@redhat.com>
21225
21226         * toplev.c (lang_dependent_init): Create function context for
21227         init_expr_once.
21228
21229 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
21230
21231         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
21232         --gc-sections if -r.
21233         * config/cris/cris.h: Ditto.
21234
21235 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
21236
21237         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
21238         the comparison directly gives a mask suppress addition when cf is
21239         zero by complementing the mask.
21240
21241 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
21242
21243         * Makefile.in: Delete references to enquire.
21244         * enquire.c: Move to contrib.
21245
21246 2002-07-16  Stan Shebs  <shebs@apple.com>
21247
21248         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
21249         config/rs6000/darwin.h.
21250         (ASM_OUTPUT_SKIP): Ditto.
21251         (TEXT_SECTION_ASM_OP): Ditto.
21252         (DATA_SECTION_ASM_OP): Ditto.
21253         (ASM_APP_ON): Define.
21254         (ASM_APP_OFF): Define.
21255         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
21256         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
21257
21258         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
21259         (machopic_function_base_name): Declare result to be const.
21260         (machopic_non_lazy_ptr_name): Ditto.
21261         (machopic_stub_name): Ditto.
21262         * config/darwin-protos.h: Ditto for the prototypes.
21263
21264 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
21265
21266         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
21267
21268 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
21269
21270         * i386.md (prefetch): Fix for 64bit mode.
21271         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
21272
21273 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
21274
21275         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
21276         * i386.c (x86_machine_dependent_reorg): New function.
21277         * i386-protos.h (x86_machine_dependent_reorg): Declare.
21278
21279 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
21280
21281         * builtins.c (std_expand_builtin_va_start): Remove unused
21282         first argument.
21283         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
21284         std_expand_builtin_va_start with just two arguments.
21285         * expr.h: Update prototypes.
21286
21287         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
21288         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
21289         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
21290         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
21291         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
21292         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
21293         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
21294         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
21295         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
21296         argument from all implementations of EXPAND_BUILTIN_VA_START
21297         and all uses of std_expand_builtin_va_start.
21298
21299 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
21300
21301         * regrename.c (copy_value): Don't record high part copies.
21302
21303 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
21304
21305         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
21306         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
21307         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
21308
21309 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
21310
21311         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
21312
21313         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
21314         into addsi3 using register class "x" and "y".
21315
21316         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
21317         "earlyclobber" constraint modifier for some alternative.
21318
21319         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
21320         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
21321         unordered.
21322         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
21323
21324         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
21325         (TARGET_SWITCHES): Add -mieee-compare option.
21326         (OVERRIDE_OPTIONS): 32332 is a subset of
21327         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
21328         (TARGET_SWITCHES): Fix description of bitfield option.
21329         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
21330         -mieee-compare option. Remove 32332 flag.
21331
21332 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
21333
21334         * explow.c (convert_memory_address): Remove special handling
21335         when POINTERS_EXTEND_UNSIGNED < 0.
21336         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
21337         (movedi_symbolic): Fix typo.
21338         (load_fptr): Remove mode restriction so it works for SI and DI.
21339         (load_fptr_internal1): Ditto.
21340         (load_gprel): Ditto.
21341         (load_symptr_internal1): Ditto.
21342         (call_pic): Ditto.
21343         * config/ia64.c (call_operand): Modify mode check.
21344         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
21345         (ia64_expand_move): Ditto.
21346         (ia64_assemble_integer): Handle SImode function pointers.
21347         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
21348         (ia64_expand_op_and_fetch): Ditto.
21349         (ia64_expand_compare_and_swap): Ditto.
21350         (ia64_expand_lock_test_and_set): Ditto.
21351         (ia64_expand_lock_release): Ditto.
21352
21353 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
21354
21355         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
21356
21357 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
21358             Richard Earnshaw  <rearnsha@arm.com>
21359
21360         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
21361         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
21362
21363 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
21364
21365         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
21366         understands to be a memory clobber.
21367         * arm.c (arm_expand_prologue): Use it.
21368
21369 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
21370
21371         * ra-rewrite.c: #include reload.h, insn-config.h
21372         * ra-build.c: #include reload.h
21373         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
21374         depend on reload.h, insn-config.h.
21375
21376 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
21377
21378         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
21379         the same size as a word.
21380
21381         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
21382         BYTES_BIG_ENDIAN into account.
21383
21384 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
21385
21386         * i386.md (prefetch): Fix for 64bit mode.
21387         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
21388
21389         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
21390
21391 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
21392
21393         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
21394
21395 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
21396
21397         * ginclude/varargs.h: Replace with stub which issues #error.
21398         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
21399         __builtin_va_start.
21400
21401         * builtins.def (BUILT_IN_VARARGS_START): Delete.
21402         (BUILT_IN_VA_START): New.
21403         * builtins.c (expand_builtin_va_start): Eliminate first
21404         argument and code to implement pre-ISO varargs.
21405         (std_expand_builtin_va_start): Ignore first argument; it is
21406         always 1.
21407         (expand_builtin): Handle BUILT_IN_VA_START and
21408         BUILT_IN_STDARG_START identically.  Delete
21409         BUILT_IN_VARARGS_START case.
21410
21411         * function.c (assign_parms): Delete hide_last_arg and all
21412         its uses.
21413         (mark_varargs): Delete function.
21414         * function.h (struct function): Delete 'varargs' bit.
21415         (current_function_varargs): Delete macro.
21416         * tree.h: Don't declare mark_varargs.
21417
21418         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
21419         (c_expand_body): Don't call mark_varargs.
21420         * c-objc-common.c: Handle BUILT_IN_VA_START and
21421         BUILT_IN_STDARG_START identically.  Delete
21422         BUILT_IN_VARARGS_START case.
21423         * c-tree.h: Don't declare c_mark_varargs.
21424         * c-parse.in: Remove grammar rules for '&...' (which has been
21425         commented out since before 2.7.2) and for '...' in K+R
21426         argument declarations.
21427
21428         * builtins.c, function.c, integrate.c, sibcall.c,
21429         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
21430         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
21431         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
21432         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
21433         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
21434         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
21435         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
21436         config/stormy16/stormy16.c: Delete all references to
21437         current_function_varargs, and code predicated on that flag.
21438
21439         * config/alpha/alpha.c (alpha_va_start),
21440         config/arc/arc.c (arc_va_start),
21441         config/i386/i386.c (ix86_va_start),
21442         config/mips/mips.c (mips_va_start),
21443         config/mn10300/mn10300.c (mn10300_va_start),
21444         config/rs6000/rs6000.c (rs6000_va_start),
21445         config/s390/s390.c (s390_va_start),
21446         config/sh/sh.c (sh_va_start),
21447         Ignore first argument; it is always 1.
21448
21449         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
21450         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
21451         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
21452         Delete m68hc11_va_start.
21453         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
21454         No need to define EXPAND_BUILTIN_VA_START.
21455
21456         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
21457         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
21458
21459 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
21460
21461         PR optimization/7153
21462         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
21463         dies in more than one insn.
21464
21465 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
21466
21467         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
21468
21469 2002-07-15  Michael Matz  <matz@suse.de>,
21470             Daniel Berlin  <dberlin@dberlin.org>,
21471             Denis Chertykov  <denisc@overta.ru>
21472
21473         Add a new register allocator.
21474
21475         * ra.c: New file.
21476         * ra.h: New file.
21477         * ra-build.c: New file.
21478         * ra-colorize.c: New file.
21479         * ra-debug.c: New file.
21480         * ra-rewrite.c: New file.
21481
21482         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
21483         (ra-rewrite.o): New .o files for libbackend.a.
21484         (GTFILES): Add basic-block.h.
21485
21486         * toplev.c (flag_new_regalloc): New.
21487         (f_options): New option "new-ra".
21488         (rest_of_compilation): Call initialize_uninitialized_subregs()
21489         only for the old allocator.  If flag_new_regalloc is set, call
21490         new allocator, instead of local_alloc(), global_alloc() and
21491         friends.
21492
21493         * doc/invoke.texi: Document -fnew-ra.
21494         * basic-block.h (FOR_ALL_BB): New.
21495         * config/rs6000/rs6000.c (print_operand): Write small constants
21496         as @l+80.
21497
21498         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
21499         (df_reg_table_realloc): Make size at least as large as max_reg_num().
21500         (df_insn_table_realloc): Size argument now is absolute, not relative.
21501         Changed all callers.
21502
21503         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
21504         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
21505
21506         2002-06-20  Michael Matz  <matz@suse.de>
21507
21508         * df.h (struct ref.id): Make unsigned.
21509         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
21510
21511         2002-06-13  Michael Matz  <matz@suse.de>
21512
21513         * df.h (DF_REF_MODE_CHANGE): New flag.
21514         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
21515         involving subregs with invalid mode changes, when
21516         CLASS_CANNOT_CHANGE_MODE is defined.
21517
21518         2002-05-07  Michael Matz  <matz@suse.de>
21519
21520         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
21521
21522         2002-05-03  Michael Matz  <matz@suse.de>
21523
21524         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
21525
21526         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
21527
21528         * regclass.c (regclass): Work with all regs which have sets or
21529         refs.
21530         (reg_scan_mark_refs): Count regs inside (clobber ...).
21531
21532         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
21533
21534         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
21535         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
21536         add new refs.
21537         (df_bb_refs_update): Don't clear insns_modified here, ...
21538         (df_analyse): ... but here.
21539
21540         * sbitmap.c (dump_sbitmap_file): New.
21541         (debug_sbitmap): Use it.
21542
21543         * sbitmap.h (dump_sbitmap_file): Add prototype.
21544
21545         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
21546
21547         * df.c (df_insn_modify): Grow the UID table if necessary, rather
21548         than assume all emits go through df_insns_modify.
21549
21550         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
21551
21552         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
21553         increase REG_N_REFS (like flow does), so that regclass doesn't
21554         think a reg is useless, and thus, not calculate a class, when it
21555         really should have.
21556
21557         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
21558
21559         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
21560         dataflow analysis.
21561
21562 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
21563
21564         PR middle-end/7245
21565         * config/i386/i386.c (const_int_1_31_operand): New.
21566         * config/i386/i386.h (PREDICATE_CODES): Add it.
21567         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
21568         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
21569         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
21570
21571 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
21572
21573         PR target/7282
21574         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
21575         (floatunssidf2): Likewise.
21576         (floatsidf_ppc64): New insn_and_split.
21577         (floatunssidf_ppc64): Likewise.
21578
21579 2002-07-14  Andreas Jaeger  <aj@suse.de>
21580
21581         * config.gcc (sh64): Remove unused
21582         target_requires_64bit_host_wide_int.
21583
21584 2002-07-12  Roger Sayle  <roger@eyesopen.com>
21585
21586         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
21587         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
21588         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
21589         whether clear_by_pieces should be used to clear storage.
21590         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
21591
21592         * doc/tm.texi: Document these two new target macros.
21593
21594 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
21595
21596         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
21597         the scratch register.
21598         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
21599         of it, forbid reload to use it.
21600
21601 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
21602
21603         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
21604         usage on 64-bit hosts, return value was truncated to 32 bits.
21605
21606 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
21607
21608         * simplify-rtx.c (simplify_subreg): Handle floating point
21609         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
21610         the element mode is requested, compute a subreg with an
21611         integer mode of the same size as the element mode first.
21612
21613 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
21614
21615         * combine.c (try_combine): When converting a paradoxical subreg
21616         to an extension, take LOAD_EXTEND_OP into account.
21617
21618 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
21619
21620         * config.gcc (mips-sgi-irix6*o32): New configuration.
21621
21622         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
21623         configurations.
21624         * configure: Regenerate.
21625
21626         * config/mips/iris6-o32-as.h: New file.
21627         * config/mips/iris6-o32.h: New file.
21628
21629         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
21630         (NM_FLAGS): Define.
21631         (HAVE_AS_SHF_MERGE): Undefine.
21632
21633         * config/mips/t-iris5-as: New file.
21634         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
21635
21636         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
21637         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
21638         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
21639         dp-bit.c, fp-bit.c): Move ...
21640         * config/mips/t-iris5-6: ... here.
21641         New file, shared by IRIX 5 and IRIX 6.
21642         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
21643         mips-sgi-irix5*): Use it.
21644
21645         * config/mips/iris6.h: Remove duplicate comment.
21646
21647         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
21648         !TARGET_IRIX6]: Define.
21649         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
21650
21651         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
21652
21653 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21654
21655         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
21656         and delete code to force constant to register.
21657         * pa-protos.h (adddi3_operand): Add prototype.
21658         * pa.c (adddi3_operand): New function.
21659
21660 2002-07-11  Roger Sayle  <roger@eyesopen.com>
21661
21662         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
21663         non-ANSI builtin functions.
21664
21665 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
21666
21667         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
21668         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
21669         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
21670         (gen_const_vector_0): Use it.
21671
21672 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21673
21674         * pa.md (adddi3): For 32-bit targets, force constants to a register
21675         if they don't fit in an 11-bit immediate.  Change insn predicate to
21676         arith11_operand.  Remove comment.
21677         * pa.c (cint_ok_for_move): Fix comment.
21678         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
21679         targets.
21680
21681 2002-07-11  Tim Josling  <tej@melbpc.org.au>
21682
21683         Remove front end hard coding from gengtype.c.
21684
21685         * Makefile.in
21686         (STAGESTUFF): add gtyp-gen.h
21687         (GTFILES): Remove front end specific files.
21688         (GTFILES_FILES_LANGS): New, from configure..
21689         (GTFILES_FILES_FILES): Likewise.
21690         (GTFILES_LANG_DIR_NAMES): Likewise.
21691         (GTFILES_SRCDIR): Likewise.
21692         (gtyp-gen.h): Build from configure information.
21693         (s-gtype): Remove command line parameters from gengtype.
21694         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
21695         (mostlyclean): Delete files generated by and for gengtype.
21696
21697         * c-config-lang.in: New file.
21698
21699         * configure.in (all_gtfiles_files_langs): New. Accumulate files
21700         for each language.
21701         (all_gtfiles_files_files): New. Accumulate language for each file
21702         accumulated.
21703         (gtfiles): Pick up value for C.
21704         (srcdir): AC-SUBST this variable.
21705         (all_gtfiles_files_langs): AC-SUBST this variable.
21706         (all_gtfiles_files_files): AC-SUBST this variable.
21707
21708         * configure: Regenerate.
21709
21710         * gengtype-lex.l (parse_file): Make parameter const.
21711
21712         * gengtype.c (toplevel): include gtyp-gen.h.
21713         (BASE_FILE_<language> unnamed enum): Delete.
21714         (lang_names): Delete (replaced by gtyp-gen.h)
21715         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
21716         all references.
21717         (NUM_GT_FILES): New.
21718         (NUM_LANG_FILES): New.
21719         (srcdir_len): New.
21720         (NUM_BASE_FILES): Change calculation.
21721         (open_base_files): Change prototype to avoid warning.
21722         (startswith): Delete.
21723         (get_file_basename): Iterate through generated language list not
21724         hard coded list.
21725         (get_base_file_bitmap): Use generated list of files and languages.
21726         (close_output_files): Add prototype to rmove warning.
21727         (main): Iterate through list of generated files from gtyp-gen.h
21728         rather than command line paramaters.  Ignore duplicated file
21729         names.
21730
21731         * gengtype.h (parse_file): Amend prototype for const parameter.
21732
21733         * doc/sourcebuild.texi: Document gtfiles variable.
21734
21735         * doc/gty.texi: Document changes to gtfiles variable for front
21736         ends.
21737
21738         * objc/config-lang.in (gtfiles): Add files needed for objc front
21739         end.
21740
21741 2002-07-10  Roger Sayle  <roger@eyesopen.com>
21742
21743         PR c/2454
21744         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
21745         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
21746
21747 2002-07-10  Roger Sayle  <roger@eyesopen.com>
21748             Zack Weinberg <zack@codesourcery.com>
21749
21750         * builtins.def: Make the argument types of abort and exit
21751         independent of the front-end.
21752
21753 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
21754
21755         * config/rs6000/linux64.h (ASM_SPEC): Define.
21756
21757 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
21758
21759         * config/rs6000/rs6000.c (emit_frame_save): New.
21760         (rs6000_frame_related): Replace reg2 before reg.
21761         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
21762         and eh_return registers.
21763
21764 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
21765
21766         Revert all patches for optimization of Complex .op. Real.
21767         * complex_part_zero_p: Remove
21768         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
21769         with x.
21770         * expand_cmplxdiv_wide: Ditto.
21771         * expand_binop: Ditto.
21772
21773 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
21774
21775         * config/avr/avr.md: Fix two 0x80000000 constants to make them
21776         negative also on 64-bit hosts.
21777
21778         Default to -fno-reorder-blocks when optimizing for size.
21779         * config/avr/avr-protos.h (avr_optimization_options): Declare.
21780         * config/avr/avr.c (avr_optimization_options): New function.
21781         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
21782
21783         Optimize returning from simple functions.
21784         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
21785         * config/avr/avr.c (avr_simple_epilogue): New function.
21786         * config/avr/avr.md (return): New insn.
21787
21788 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
21789
21790         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
21791         HAS_INIT_SECTION to protection.
21792
21793 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
21794
21795         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
21796         deprecated.
21797
21798 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
21799
21800         * combine.c (gen_lowpart_for_combine): Handle vector modes.
21801         Supply non-VOID mode to simplify_gen_subreg.
21802
21803 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
21804
21805         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
21806
21807 2002-07-10  Jeffrey A Law  <law@redhat.com>
21808
21809         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
21810         as appropriate.
21811
21812         * mn10200.c (expand_epilogue): Fix test to determine which scratch
21813         register to use.
21814
21815 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
21816
21817         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
21818         Get mode from dest.
21819         If simplify_gen_subreg fails, try next equivalent.
21820
21821 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
21822
21823         * diagnostic.h: #include location.h
21824         (location_t): Move definition to..
21825         * location.h: ... here.  New file.
21826         * tree.h: #include location.h
21827         (DECL_SOURCE_LOCATION): New macro.
21828         (DECL_SOURCE_FILE): Use.
21829         (DECL_SOURCE_LINE): Likewise.
21830         (struct tree_decl): REplace filename and linenum with locus.
21831         * Makefile.in (TREE_H): add location.h
21832         (diagnostic.o): Depends on gt-location.h
21833         (gt-location.h): Depends on s-gtype
21834
21835 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
21836
21837         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
21838         TARGET_OS_CPP_BUILTINS.
21839         * config/rs6000/aix31.h: Likewise.
21840         * config/rs6000/aix41.h: Likewise.
21841         * config/rs6000/aix43.h: Likewise.
21842         * config/rs6000/aix51.h: Likewise.
21843         * config/rs6000/beos.h: Likewise.
21844         * config/rs6000/darwin.h: Likewise.
21845         * config/rs6000/eabi.h: Likewise.
21846         * config/rs6000/eabisim.h: Likewise.
21847         * config/rs6000/linux.h: Likewise.
21848         * config/rs6000/linux64.h: Likewise.
21849         * config/rs6000/lynx.h: Likewise.
21850         * config/rs6000/mach.h: Likewise.
21851         * config/rs6000/rtems.h: Likewise.
21852         * config/rs6000/sysv4.h: Likewise.
21853         * config/rs6000/vxppc.h: Likewise.
21854
21855 2002-07-09 Devang Patel <dpatel@apple.com>
21856         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
21857         Do not allow ObjC objects as a parameter type for Objective-C methods.
21858         My previous patch restricted  'struct' also.
21859
21860 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
21861
21862         * cpperror.c (cpp_error): Default to directive_line within
21863         directives here.
21864         * cppexp.c (cpp_interpret_integer): Only use traditional
21865         number semantics in directives.
21866         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
21867         (do_include_common): Similarly.
21868         * cpptrad.c (scan_out_logical_line): Implement accurate
21869         quoting of <> in #include.
21870         * doc/cpp.texi: Update.
21871
21872 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
21873                           J"orn Rennecke <joern.rennecke@superh.com>
21874
21875         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
21876         * sh.md (attribute issues): Replace with:
21877         (attribute pipe_model).  All users changed.
21878         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
21879         All users changed.
21880         (function units sh5issue, sh5fds): New.
21881         (attribute is_mac_media): New.
21882         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
21883         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
21884         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
21885         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
21886         (call_media, call_value_media, sibcall_media): Likewise.
21887         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
21888         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
21889         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
21890         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
21891         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
21892         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
21893         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
21894         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
21895         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
21896         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
21897         (truncdfsf2_media): Likewise.
21898         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
21899         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
21900
21901 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
21902
21903         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
21904         * sh.c (general_extend_operand, inqhi_operand): New functions.
21905         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
21906         alternatives using 'N' modifier.  Add type.
21907         (adddi3z_media): Likewise.  Enable generator function generation.
21908         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
21909         exact predicates / constraints.  Add type.
21910         (subsi3): Allow 0 for SHMEDIA.
21911         (udivsi3_i4_media): Use match_operand for input values
21912         rather than hard registers.
21913         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
21914         unnecessarily through hard registers.  Keep copies of pseudo
21915         registers outside of the libcall sequence.
21916         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
21917         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
21918         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
21919         (extendhidi2, extendqidi2): Likewise.
21920         (andsi3_compact): Name.
21921         (andcdi3): Enable generator function generation.
21922         (zero_extendhisi2, zero_extendqisi2): Rename to
21923         (zero_extendhisi2_compact, zero_extendqisi2_compact).
21924         (extendhisi2, extendqisi2): Rename to
21925         (extendhisi2_compact, extendqisi2_compact).
21926         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
21927         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
21928         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
21929         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
21930         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
21931         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
21932         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
21933         (shmedia32_initialize_trampoline_big): Likewise.
21934         (shmedia32_initialize_trampoline_little): Likewise.
21935         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
21936         (negdi2): Remove spurious T clobber.
21937         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
21938         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
21939         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
21940         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
21941         (ic_invalidate_line_media): Write back data cache before invalidating
21942         instruction cache.  Add type.
21943         (movsf_media): Sign-extend when the destination is a general
21944         purpose register.  Add type.
21945         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
21946         (casesi_worker_0+1): Only increment ref count for proper label.
21947         (casesi_worker_0+2): Likewise.
21948
21949 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
21950
21951         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
21952
21953 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
21954
21955         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
21956         from Pmode to ptr_mode.
21957         (get_exception_pointer): Ditto.
21958         (connect_post_landing_pads): Ditto.
21959         (dw2_build_landing_pads): Ditto.
21960
21961 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
21962         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
21963         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
21964         (handle_pragma_redefine_extname): Change to use new function.
21965
21966 2002-07-08  Roger Sayle  <roger@eyesopen.com>
21967
21968         * combine.c (combine_simplify_rtx): Add an explicit cast
21969         to avoid signed/unsigned comparison warning.
21970         (simplify_if_then_else): Likewise.
21971         (extended_count): Likewise.
21972         (simplify_shift_const): Likewise.
21973         (simplify_comparison): Likewise.
21974
21975 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
21976
21977         * config/mips/mips.md: Add imadd type.  Update scheduler description
21978         to use imadd as well as imul.
21979         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
21980         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
21981         (*mul_sub_si): Likewise for first alternative.  Change second
21982         alternative from imul to multi.
21983
21984 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
21985
21986         * c-common.c (c_common_post_options): Update prototype;
21987         don't init backends if preprocessing only.
21988         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
21989         * langhooks.h (struct lang_hooks): Update post_options to
21990         return a boolean.
21991         * toplev.c (parse_options_and_default_flags, do_compile,
21992         lang_independent_init): Update prototypes.  Allow the
21993         front end to specify that there is no need to initialize
21994         the back end.
21995         (general_init): Move call to hex_init here...
21996         (toplev_main): ...from here.  Pass flag for back end init
21997         suppression.
21998
21999 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
22000
22001         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
22002         (PREDICATE_CODES): Add entries for equality_comparison_operator,
22003         greater_comparison_operator and less_comparison_operator.
22004         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
22005         more operators.
22006         (equality_comparison_operator): New function.
22007         (greater_comparison_operator, less_comparison_operator): Likewise.
22008         * sh.md (beq_media_i): Disable generator function generation.
22009         Use match_operator to handle a whole class of comparisons.  Add
22010         modifier in output template to provide branch prediction.  Add type.
22011         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
22012         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
22013         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
22014         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
22015
22016 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
22017
22018         Emit MMIX function prologue and epilogue as rtl.
22019         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
22020         not unprototyped get_hard_reg_initial_val.
22021         ("call_value", "nonlocal_goto_receiver"): Ditto.
22022         ("return"): Make define_expand.  Move real insn to...
22023         ("*expanded_return"): New pattern.
22024         ("prologue", "epilogue"): New define_expands.
22025         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
22026         (struct machine_function): New member in_prologue.
22027         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
22028         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
22029         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
22030         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
22031         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
22032         (LOCAL_REGNO): Define.  Adjust comment.
22033         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
22034         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
22035         leaf_function_p.
22036         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
22037         the prologue.
22038         (mmix_target_asm_function_prologue): Make static.  Just mark that
22039         the prologue is being emitted.  Move guts to...
22040         (mmix_expand_prologue): New function.  Adjust for emitting
22041         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
22042         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
22043         \n.  Move guts to...
22044         (mmix_expand_epilogue): New function.  Adjust for emitting
22045         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
22046         (mmix_target_asm_function_end_prologue): Mark that the prologue
22047         has ended.
22048         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
22049         (mmix_conditional_register_usage): Improve comments.
22050         (mmix_local_regno): New function.
22051         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
22052         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
22053         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
22054         (mmix_get_hard_reg_initial_val): Ditto.
22055
22056 2002-07-06  Andreas Jaeger  <aj@suse.de>
22057
22058         * toplev.c (set_fast_math_flags): Don't use ISO C style function
22059         definitions.
22060         * gengtype.c (open_base_files): Likewise.
22061         (close_output_files): Likewise.
22062         * tracer.c (find_best_predecessor): Likewise.
22063         (find_best_successor): Likewise.
22064         (ignore_bb_p): Likewise.
22065
22066 2002-07-05  Roger Sayle  <roger@eyesopen.com>
22067
22068         PR c++/7099
22069         * builtin-attrs.def: Define new attribute lists for use in
22070         builtins.def.
22071         * builtins.def [DEF_BUILTIN]: Modify to take an additional
22072         ATTRS argument, an enumerated value defined in builtin-attrs.def
22073         that represents the attribute list for the builtins.  Modify
22074         all builtin functions to pass an appropriate attribute list.
22075         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
22076         their required noreturn attributes.
22077         * tree.h (enum_builtin_function): Ignore the additional parameter
22078         to DEF_BUILTIN.
22079         * builtins.c (built_in_names): Likewise.
22080         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
22081         argument with a tree representing the functions attribute list.
22082         Pass this "attrs" argument to builtin_function.  No longer handle
22083         the noreturn_p processing manually.
22084         (built_in_attributes): Move the definitions from builtin-attrs.def
22085         before c_common_nodes_and_builtins.
22086         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
22087         DEF_BUILTIN, passing it to both builtin_function and the changed
22088         builtin_function_2.
22089
22090         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
22091         __builtin__exit and __builtin__Exit.
22092
22093 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
22094
22095         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
22096         QI mode registers in soft registers.
22097         ("zero_extendqihi2"): Do not take into account soft registers
22098         for register allocation (use '*' constraint).
22099
22100 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
22101
22102         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
22103         it is dead.
22104         ("*ashrsi3"): Likewise.
22105         ("*lshrsi3"): Likewise.
22106
22107 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
22108
22109         * genautomata.c (output_max_insn_queue_index_def): Take latencies
22110         into account.
22111
22112 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
22113
22114         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
22115         address computation and memory moves.
22116
22117 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
22118
22119         PR c++/6706
22120         * dwarfout.c (output_reg_number): Fix warning message.
22121         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
22122         before using it.
22123
22124 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
22125
22126         * gcc/gcc.c (asm_debug): Move initialization ...
22127         (init_spec): ... here.
22128
22129 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
22130
22131         * c-parse.in (extdef): Append ';'.
22132         (old_style_parm_decls): Append ';'.
22133
22134 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
22135
22136         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
22137         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
22138         to gcc_cv_as_gstabs_flag.
22139         * configure: Rebuilt.
22140
22141 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
22142
22143         * ggc.h (ggc_add_root): Document as obsolete.
22144
22145 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
22146
22147         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
22148         (mshflo_w): Likewise.
22149
22150 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
22151
22152         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
22153         vector mode subregs of constants to finding integer mode
22154         subregs of constants.
22155         * cse.c (cse_insn): Use simplify_gen_subreg.
22156         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
22157         From a vector mode expression of different size than the
22158         target mode.
22159
22160 2002-07-03  Eric Christopher  <echristo@redhat.com>
22161
22162         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
22163         * config/mips/mips.h: Remove deprecated -m<processor> options
22164         and cc1_cpu_spec associated.
22165         (CONSTANT_ADDRESS_P): Fix last patch.
22166         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
22167         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
22168         sunge_sf): Remove.
22169
22170 2002-07-03  Stan Shebs  <shebs@apple.com>
22171
22172         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
22173         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
22174         (CPP_SPEC): Remove insertion of APPLE_CC definition.
22175
22176 2002-07-03  Roger Sayle  <roger@eyesopen.com>
22177
22178         * combine.c (struct_undo): Change types of recorded substitutions
22179         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
22180         (do_SUBST_INT): Change types of the substitution from unsigned int
22181         to int, to avoid compilation warning from SUBST_INT's only caller.
22182
22183         (make_extraction): Add cast to avoid compilation warning.
22184         (force_to_mode): Remove cast to avoid compilation warning.
22185
22186 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
22187             Jeff Law  <law@redhat.com>
22188
22189         * i386.md (length_immediate attribute): Fix typo.
22190         (length_address attribute): Likewise.
22191         (modrm attribute): Set it to 0 for immediate call instructions.
22192         (jcc_1 pattern): Set modrm attribute to 0.
22193         (jcc_2 pattern ): Likewise.
22194         (jump pattern): Likewise.
22195         (doloop_end_internal pattern): Explicitly set length.
22196         (leave pattern): Fix typo.
22197         (leave_rex64 pattern): Likewise.
22198
22199 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
22200
22201         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
22202         in FPR as preference.
22203         (fctiwz): Same.
22204         (floatdidf2, fix_truncdfdi2): Same.
22205         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
22206         (floatditf2): Same.
22207         (floatsitf2, fix_trunctfsi2): SImode in GPR.
22208         (ctrdi): Remove FPR alternative and splitter.
22209
22210 2002-07-03  Will Cohen  <wcohen@redhat.com>
22211
22212         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
22213
22214 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
22215
22216         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
22217         than UNITS_PER_WORD, unless this is little endian and the first unit
22218         in this word.  Let extract_bit_field decide how to load an element.
22219         Force arguments to matching mode.
22220         (expand_vector_unop): Likewise.
22221
22222         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
22223         consist of word_mode elements.
22224         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
22225         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
22226         (build_unary_op): Allow vector types for BIT_NOT_EPR.
22227         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
22228         CONST_VECTOR.
22229         * optabs.c (expand_vector_binop): Try to perform operation in
22230         smaller vector modes with same inner size.  Add handling of AND, IOR
22231         and XOR.  Reject expansion to inner-mode sized scalars when using
22232         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
22233         (expand_vector_unop): Try to perform operation in smaller vector
22234         modes with same inner size.  Add handling of one's complement.
22235         When there is no vector negate operation, try a vector subtract
22236         operation.  Use simplify_gen_subreg on constants.
22237         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
22238         constants into smaller vectors with same inner mode, and to
22239         integer CONST_DOUBLEs.
22240
22241 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22242
22243         * c-parse.in (parsing_iso_function_signature): New variable.
22244         (extdef_1): New, copied from...
22245         (extdef): ... here.  Reset parsing_iso_function_signature.
22246         (old_style_parm_decls):  Reset parsing_iso_function_signature.
22247         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
22248         Warn about ISO C style function definitions.
22249         (nested_function, notype_nested_function): Reset
22250         parsing_iso_function_signature.
22251         (parmlist_2): Set parsing_iso_function_signature.
22252
22253         * doc/invoke.texi (-Wtraditional): Document new behavior.
22254
22255 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
22256
22257         * config.gcc (mips*el-*-*): Use tm_defines to set
22258         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
22259         * config/mips/little.h: Remove.
22260
22261 2002-07-02 Devang Patel <dpatel@apple.com>
22262
22263         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
22264         object as parameter. Prevent something like 'NSObject' to be
22265         used as the type for a method argument.
22266
22267 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
22268
22269         * cpptrad.c: Update comment.
22270
22271 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
22272
22273         * doc/cpp.texi: Update for traditional preprocessing changes.
22274         * goc/cppopts.texi: Similarly.
22275
22276 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
22277
22278         * c-parse.in (designator): Enable designated initializers if ObjC.
22279         (objcmessageexpr): Remove references to objc_receiver_context.
22280         * objc/objc-act.h (objc_receiver_context): Remove decl.
22281         * objc/objc-act.c (objc_receiver_context): Remove.
22282         (lookup_objc_ivar): Test objc_method_context instead of
22283         objc_receiver_context.
22284
22285 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
22286
22287         * sh.c (print_operand, case 'N'): Allow zero vector.
22288         (arith_reg_or_0_operand): Likewise.
22289         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
22290         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
22291         IOR, XOR, PLUS and SET and take their respective constant
22292         ranges into account.
22293         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
22294         * sh.md (subdi3, subdi3_media): Allow zero operand.
22295         (movv8qi_i+3): Only vector that is not split is the zero vector.
22296         Fix operand 3 to simplify_subreg.
22297         (movv2si_i): Split alternative 1.
22298         (mshfhi_l_di_rev+1): New splitter.
22299
22300 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
22301
22302         PR preprocessor/7029
22303         * cppinit.c (cpp_handle_option):  Suppress warnings with an
22304         implicit "-w" for "-M" and "-MM".
22305         * doc/cppopts.texi: Update.
22306
22307 2002-07-01  Roger Sayle  <roger@eyesopen.com>
22308
22309         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
22310         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
22311         builtin_function.
22312
22313 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
22314
22315         * README.Portability: Fix typos.
22316
22317 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
22318
22319         PR target/7177
22320         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
22321         of indirections for register inside sign-extended mem part.
22322
22323 2002-07-01  Roger Sayle  <roger@eyesopen.com>
22324
22325         * tree.h:  Modify builtin_function interface to take an extra
22326         argument ATTRS, which is a tree representing an attribute list.
22327
22328         * c-decl.c (builtin_function): Accept additional parameter.
22329         * objc/objc-act.c (builtin_function): Likewise.
22330         * f/com.c (builtin_function): Likewise.
22331         * java/decl.c (builtin_function): Likewise.
22332         * ada/utils.c (builtin_function): Likewise.
22333         * cp/decl.c (builtin_function): Likewise.
22334         (builtin_function_1): Likewise.
22335
22336         * c-common.c (c_common_nodes_and_builtins): Pass an additional
22337         NULL_TREE argument to builtin_function.  (builtin_function_2):
22338         Likewise.
22339         * cp/call.c (build_java_interface_fn_ref): Likewise.
22340         * objc/objc-act.c (synth_module_prologue): Likewise.
22341         * java/decl.c (java_init_decl_processing): Likewise.
22342         * f/com.c (ffe_com_init_0): Likewise.
22343
22344         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
22345         NULL_TREE argument to builtin_function.
22346         * config/arm/arm.c (def_builtin): Likewise.
22347         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
22348         * config/i386/i386.c (def_builtin): Likewise.
22349         * config/ia64/ia64.c (def_builtin): Likewise.
22350         * config/rs6000/rs6000.c (def_builtin): Likewise.
22351
22352 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
22353
22354         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
22355         * config/mips/t-isa3264: Likewise.
22356         * config/mmix/t-mmix: Likewise.
22357
22358 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
22359
22360         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
22361
22362 2002-07-01  Roger Sayle  <roger@eyesopen.com>
22363
22364         PR opt/4046
22365         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
22366         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
22367         B are truth values.
22368
22369 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
22370
22371         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
22372
22373 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
22374
22375         * README.Portability (Function prototypes): Give an example of
22376         declaring and defining a function with no arguments.
22377
22378         * README.Portability (Function prototypes): Document new
22379         variable-argument function macros.
22380
22381 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
22382
22383         * sh.c (langhooks.h): Include.
22384         (sh_init_builtins, sh_media_init_builtins): New functions.
22385         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
22386         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
22387         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
22388         (builtin_description): New struct tag.
22389         (signature_args, bdesc): New arrays.
22390         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
22391         (print_operand): Add 'N' modifier.
22392         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
22393         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
22394         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
22395         (CONST_COSTS): Add special case for SHmedia AND.
22396         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
22397         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
22398         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
22399         target_operand can also be const or unspec.
22400         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
22401         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
22402         (attribute type): Add new types.
22403         (anddi3): Add splitter.
22404         (movdi_const_16bit+1): Add code to handle vector constants and
22405         bitmasks efficiently.
22406         (shori_media): Have generator function made.
22407         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
22408         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
22409         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
22410         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
22411         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
22412         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
22413         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
22414         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
22415         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
22416         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
22417         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
22418         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
22419         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
22420         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
22421         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
22422         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
22423         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
22424         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
22425         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
22426         (ftrv): Likewise.
22427
22428         (fpu_switch+1, fpu_switch+2): Remove constraint.
22429
22430 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
22431
22432         * tree.c (build_function_type_list): Update function comment.
22433         Rename first argument to return_type.
22434
22435 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
22436
22437         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
22438         tradcif.y and related files.
22439
22440 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
22441
22442         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
22443
22444 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
22445
22446         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
22447
22448 See ChangeLog.7 for earlier changes.